已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告 姓名: 叶子烽 学号: 2220132380 班级: 软件二班实验名称: 启发式搜索课程名称: 人工智能实验日期: 2015.11.09实验环境:Visual C+实验目的以及内容:1、 实验内容:使用启发式搜索算法求解八数码问题。(1)编制程序实现求解八数码问题A*算法,采用估价函数 其中:d(n)是搜索树中节点n的深度;w(n)为节点n的数据库中错放的棋子个数;p(n)为节点n的数据库中的每个棋子与其目标位置之间的距离的总和。(2) 分析上述(1)中的两种估价函数求解八数码问题的效率差别,给出一个是p(n)的上界的h(n)的定义,并测试使用该估价函数是否使算法失去可采纳性。2、实验目的:熟练的掌握启发式搜索A*算法及其可采纳性。3. 实验原理 :八数码问题是在3行和3列构成的九宫棋盘上放置数码为1到8的8个棋盘,剩下一个空格的移动来不断改变棋盘的布局,求解这类问题的方法是:给定初始布局(即初始状态)和目标布局(即目标状态),定义操作算子的直观方法是为每个棋牌制定一套可能的走步上,下,左,右四种移动,再根据所定义的启发式搜索函数在搜索过程中选择最合适的操作算子,得到最优的路径。代码:#includestdio.h #define num 3 void show(int beginnumnum) for(int i = 0; i num; i+) for(int j = 0; j num; j+) printf(%d , beginij); printf(n); printf(n); void exchange(int beginnumnum, int row_one, int column_one, int row_two, int column_two) int temp; temp = beginrow_twocolumn_two ; beginrow_twocolumn_two = beginrow_onecolumn_one; beginrow_onecolumn_one = temp; int judge(int beginnumnum, int endnumnum) int count=0; for(int i = 0; i num; i+) for(int j = 0; j = 20) return 0; int node; int temp; for(int q=0; qjishu; q+) node = 1; for(int w=0; wnum & node; w+) for(int r=0; rnum & node; r+) if(ji_shuqwr != beginwr) node = 0; if(node = 1) return 0; for(int i = 0; i num; i+) for(int j = 0; j 0 & biaoji != 0) exchange(begin, row - 1, column, row , column); temp = judge(begin, end); if(temp = right) temp_zhi = yidong(begin, end, temp, jishu+1, ji_shu, 2, row-1, column); if( temp_zhi = 1) return 1; exchange(begin, row - 1, column, row , column); if(column 0 & biaoji != 1) exchange(begin, row, column - 1, row , column); temp = judge(begin, end); if(temp = right) temp_zhi = yidong(begin, end, temp, jishu+1, ji_shu ,3, row, column - 1); if(temp_zhi = 1) return 1; exchange(begin, row, column - 1, row , column); if(row num-1 & biaoji != 2) exchange(begin, row + 1, column, row , column); temp = judge(begin, end); if(temp = right) temp_zhi =yidong(begin, end, temp, jishu+1, ji_shu, 0, row+1, column); if(temp_zhi = 1) return 1; exchange(begin, row + 1, column, row , column); if(column num-1 & biaoji != 3) exchange(begin, row, column + 1, row , column); temp = judge(begin, end); if(temp = right) temp_zhi = yidong(begin, end, temp, jishu+1, ji_shu, 1, row, column+1); if(temp_zhi = 1) return 1; exchange(begin, row, column + 1, row , column); return 0; void shuru(int beginnum,int blank) int temp, node, zero = 0; for (int i = 0; i num; i+) for(int j = 0; j num; j+) node = 1; printf(请输入第%d行,第%d列的元素的值:, i+1, j+1); scanf(%d, &temp); for (int q = 0; q = i & node = 1; q+) for (int w = 0; w j; w+) if(temp = beginqw) printf(输入重复,请重新输入n); node = 0; j-; break; if(temp num*num-1) printf(请输入从%d到%d的数n, zero, num*num-1); node = 0; j-; if(node = 1) if(temp = 0) blank0 = i; blank1 = j; beginij = temp; int main() int jishu = 0, ji_shu5033; int row; int column; int beginnumnum, blank2,count=1; int endnumnum = 1, 2, 3, 8, 0, 4, 7, 6, 5; printf (-8数码游戏开始!-n); shuru(begin, blank); row = blank0; column = blank1; if(yidong (begin, end,judge(begin,end),jishu,ji_shu,4,row,column) = 0) printf(n此8数码的问题可能无解!); else show(begin); getchar();getchar(); return 0; 实验截图:实验总结: 1、 A*搜索算法:取g(n)=d(n),h(n)=w(n),其中w(n)表示以目标为基准,结点n的状态中每一个数码牌与其目标位置之间的距离(不考虑夹在其间的数码牌
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机电项目供应链协同方案
- 黄金精炼设备安装方案
- 2025-2026学年腰鼓教学设计与指导教师
- 2025-2026学年三下数学教学设计人教版
- 2025-2026学年山东面积教案教学设计
- 新形势下制浆制粉搅拌机行业顺势崛起战略制定与实施分析研究报告
- 新形势下银行保函服务行业顺势崛起战略制定与实施分析报告
- 2025-2030年低脂鳕鱼罐头企业制定与实施新质生产力战略分析研究报告
- 2025-2026学年体育教学内容或活动设计
- 2027年承德康养职业学院高职单招职业适应性测试考试题库(网校专用)附答案详解
- 2026年中心血站采血医技岗医疗卫生事业招聘考试笔试试题(含答案)
- 山东能源定向委培考试题
- 无水乙醇在脏器囊肿硬化治疗中合理性应用的专家共识
- 癫痫患者发作急救流程及日常护理建议
- 银行-从年报透析上市银行资产质量
- 山西省长治市2026年重点学校小升初入学分班考试英语考试试题及答案
- 2025年全国青少年信息素养大赛C++算法创意实践挑战赛(小学组-复赛)真题(含答案)
- 2026年河北省工人技师公共基础考试试题及答案
- 2025年四川省省级机关公开遴选考试真题(附答案)
- 经尿道前列腺钬激光剜除术后护理查房
- 上海国际货币经纪有限责任公司招聘笔试题库2026
评论
0/150
提交评论