免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人工智能实验一 实验一: 盲目搜索(2学时)实验内容:分别用深优先、宽度优先的搜索方式解决8数码问题。初始状态和目标状态分别为:34761258 14725368实验要求:1. 各人独立完成实验;2. 实现程序的编程语言不限3. 认真完成实验报告实验提示:附件一给出了用C+语言实现的部分代码,要求实现其中的深度优先、广度优先。也可以自己重新写代码,不限制实现的开发语言。class EightNumberprivate:int A33;public : EightNumber * parent; /static int Goal33; int i;/空牌所在的行号; int j;/空牌所在列号; int op;/操作 int depth; /从根节点到当前的深度 int score; /启发式函数值 EightNumber() parent=NULL; this-depth=0; score=0; op=0; EightNumber(int B33) parent=NULL; this-depth=0; score=0; op=0; for(int m=0;m3;m+) for(int n=0;nAmn=Bmn; if(this-Amn=0) this-i=m;this-j=n; /end of function EightNumber * Left()/空格左移 if(this-j0 & this-op!=1 ) EightNumber * obj=new EightNumber(); for(int m=0;m3;m+) for(int n=0;nAmn=this-Amn; obj-Athis-ithis-j=obj-Athis-ithis-j-1; obj-Athis-ithis-j-1=0; obj-parent=this; obj-op=-1; obj-i=this-i; obj-j=this-j-1; obj-depth=this-depth+1; for(int m=0;m3;m+) for(int n=0;nAmn!=Goalmn) obj-score+; return obj; else / cout空牌不能左移i0 & this-op!=-2) EightNumber * obj=new EightNumber(); for(int m=0;m3;m+) for(int n=0;nAmn=this-Amn; obj-Athis-ithis-j=obj-Athis-i-1this-j; obj-Athis-i-1this-j=0; obj-parent=this; obj-op=2; obj-i=this-i-1; obj-j=this-j; obj-depth=this-depth+1; for(int m=0;m3;m+) for(int n=0;nAmn!=Goalmn) obj-score+; return obj; else /cout空牌不能Top移jop!=-1 ) EightNumber * obj=new EightNumber(); for(int m=0;m3;m+) for(int n=0;nAmn=this-Amn; obj-Athis-ithis-j=obj-Athis-ithis-j+1; obj-Athis-ithis-j+1=0; obj-parent=this; obj-op=1; obj-i=this-i; obj-j=this-j+1; obj-depth=this-depth+1; for(int m=0;m3;m+) for(int n=0;nAmn!=Goalmn) obj-score+; return obj; else /cout空牌不能右移iop!=2) EightNumber * obj=new EightNumber(); for(int m=0;m3;m+) for(int n=0;nAmn=this-Amn; obj-Athis-ithis-j=obj-Athis-i+1this-j; obj-Athis-i+1this-j=0; obj-parent=this; obj-op=-2; obj-i=this-i+1; obj-j=this-j; obj-depth=this-depth+1; for(int m=0;m3;m+) for(int n=0;nAmn!=Goalmn) obj-score+; return obj; else /cout空牌不能下移endl; return NULL; /end of Down/辅助栈类MyStack,用于深度优先搜索class MyStackprivate: EightNumber * *S;public: int rear; int size; MyStack() rear=1; size=50; S=(EightNumber * *)malloc(size+1)*sizeof(void *); for(int i=0;i=size;i+) Si=NULL; /* 取头*/ EightNumber * GetBest() EightNumber * p=S1; int k=1; for(int i=1;iscore+Si-depthscore+p-depth) k=i; p=Si; for(int i=k;isize) size+=50; S=(EightNumber
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年小学成语故事《出神入化》技艺赏析语文课堂教案
- DB44T2888-2026 绿色社区建设评价标准
- 中级会计职称经济法章节练习与高频考点总结
- 执业药师(西药)药学专业知识二章节练习与易错点
- 执业药师(西药)药事管理与法规章节练习与真题汇编
- 期货从业资格期货基础知识模拟试题与解析
- 2027年厕所增加合同二篇
- 2027年新注册合同二篇
- 2027年电脑售后合同二篇
- 线上数据管理流程优化协议
- 2026年秋季开学大学秋季开学家长会课件
- 2025年pcr北京市上岗证考试题及答案
- 伊春丰林县公安局招聘警务辅助人员笔试真题2025
- 2027年高考作文备考之10道二元思辨写作试题训练(学生版+教师版)
- 4.1《社会主要矛盾的变化》课件2026-2027学年统编版道德与法治九年级上册
- 2026年辅警招聘考试题库及完整答案(必刷)
- 2026 二年级开学第一课家长会家校携手护航新学期成长
- 2026年《中小企业专精特新发展评价指标体系(试行)》
- 2026年秋季第一学期心理健康咨询室学期推进工作计划
- 农村集体经营性建设用地入市方案模板
- 2026年秋新教材人美版小学美术六年级上册(全册)教学设计(附目录p137)
评论
0/150
提交评论