人工智能实验报告

人工智能实验报告

ID:15078374

大小:180.50 KB

页数:39页

时间:2018-08-01

人工智能实验报告_第1页
人工智能实验报告_第2页
人工智能实验报告_第3页
人工智能实验报告_第4页
人工智能实验报告_第5页
资源描述:

《人工智能实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、人工智能实验报告20082792陈强人工智能实验报告学生:陈强学号:20082792班级:11110803班指导老师:胡晶晶2011/6/2838人工智能实验报告20082792陈强目录1背景说明21.1作业要求21.2环境说明21.3功能说明22设计说明32.1数据结构说明32.2路径规划算法33源代码114问题的解375不同算法对比386个人感想3838人工智能实验报告20082792陈强背景说明1.1作业要求l迷宫长度不小于30、宽度不小于20l至少采用两种人工智能方法实现1.2环境说明语

2、言:C#开发工具:MicrosoftVisualStudio2010操作系统:MicrosoftWindows71.3功能说明1)生成“完美迷宫”(保证有路径),可调迷宫规模(n*n),宫格大小;2)生成“随机迷宫”,可调迷宫规模(n*n),宫格大小,墙的比率;3)设置演示的速度,动态演示搜索过程;4)实现4种搜索算法:广度优先,深度优先,A*搜索,遗传算法搜索5)各种情况下的界面重绘;6)退出程序;38人工智能实验报告20082792陈强1设计说明1.1数据结构说明Cell类:迷宫格子的类,最

3、底层的类,包含了相关方法Maze类:迷宫的类,包含了大部分功能函数,及其重要。Form类:可视化窗口的类,组织好整个程序的结构、调用等。CbobsMap类:遗传算法中地图的类。CgaBob类:遗传算法中染色体编码的类。1.2路径规划算法(一)深度优先搜索算法思想:从初始节点S0开始,在它的子节点中选择一个节点进行考察,若不是目标节点,则再在该子节点的子节点中选择一个节点进行考察,一直如此向下搜索。当到达某个子节点,且该子节点既不是目标节点又不能继续扩展时,才选择其兄弟节点进行考察。语言描述如下:

4、⑴把初始节点S0放入OPEN表。⑵如果OPEN表为空,则问题无解,退出。⑶把OPEN表的第一个节点(记为节点n)取出放入CLOSE表。⑷考察节点n是否为目标节点。若是,则求得问题的解,退出。⑸若节点,不可扩展,则转第⑵步。⑹38人工智能实验报告20082792陈强扩展节点n,将其子节点放入OPEN表的首部,并为每一个字节点都配置指向父节点的指针,然后转第⑵步。程序语言描述如下://深度搜索/*1.OPEN=(s),CLOSED=();*2.LOOPifOPEN=()thenEXIT(fail);

5、*3.n=FIRST(OPEN);*4.ifGOAL(n)thenEXIT(success);*5.REMOVE(n,OPEN),ADD(n,CLOSED)*6.EXPAND(n)-->{m1,m2……}其中(miNOT_INCLOSED

6、

7、OPEN)*7.ADD(mi,OPEN),Parent(mi)=n*8.GOLOOP*/(一)广度优先搜索算法思想:从初始节点S0开始,逐层地对节点进行扩展并考察它是否为目标节点,在第n层的节点没有全部扩展并考察之前,不对第n+1层的节点进行扩展。OPEN表

8、中的节点总是按进入的先后顺序排列。语言描述如下:⑴把初始节点S0放入OPEN表。⑵如果OPEN表为空,则问题无解,退出。⑶把OPEN表的第一个节点(记为节点n)取出放入CLOSE表。⑷考察节点n是否为目标节点。若是,则求得问题的解,退出。⑸若节点,不可扩展,则转第⑵步。⑹扩展节点n,将其子节点放入OPEN表的尾部,并为每一个字节点都配置指向父节点的指针,然后转第⑵步。程序语言描述如下://广度搜索/*1.OPEN=(s),CLOSED=();*2.LOOPifOPEN=()thenEXIT(fa

9、il);*3.n=FIRST(OPEN);*4.ifGOAL(n)thenEXIT(success);*5.REMOVE(n,OPEN),ADD(n,CLOSED)38人工智能实验报告20082792陈强*6.EXPAND(n)-->{m1,m2……}其中(miNOT_INCLOSED

10、

11、OPEN)*7.ADD(OPEN,mi),Parent(mi)=n*8.GOLOOP*/(一)启发式搜索算法思想:若S0不是目标节点,则扩展它,并为其每个子节点配置一个代价值,取代价值最小的节点进行考察,若不是

12、目标节点,则继续将其扩展,为其每个子节点附上一个代价值,加入到OPEN表中。取出当前OPEN表中代价值最小的节点进行考察。语言描述如下:⑴把初始节点S0放入OPEN表。⑵如果OPEN表为空,则问题无解,退出。⑶把OPEN表的第一个节点(记为节点n)取出放入CLOSE表。⑷考察节点n是否为目标节点。若是,则求得问题的解,退出。⑸若节点,不可扩展,则转第⑵步。⑹扩展节点n,将其子节点放入OPEN表的首部,并为每一个字节点都配置一个代价值和指向父节点的指针,把当前OPEN表中代价值最小的节点排到第一个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。