版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、昆明理工大学信息工程与自动化学院学生实验报告(201201学年第一学期)课程名称:开课实验室:年 月曰年级、专业、班学号姓名成绩实验项目名称八数码难题指导教师教该同学是否了解实验原理:A.了解口B.基本了解口C.不了解口师该同学的实验能力:A强 口B.中等C.差该冋学的实验是否达到要求:A.达到口B.基本达到口C.未达到口评实验报告是否规范:A.规范口B.基本规范口C.不规范口实验过程是否详细记录:A.详细口B.- 般C.没有语教师签名:年月曰、实验内容八数码难题,问题描述:在3X3方格棋盘上,分别放置了标有数字1,234,5,6,7,8的八张牌,初始状态SO,目标状态S1如图所示,可以使用的
2、操作有:空格上移,空格左移, 空格右移,空格下移。只允许位于空格左,上,右,下方的牌移入空格。用广度优先搜索 策略寻找从初始状态到目标状态的解路径二、实验原理算法思想:这是一种盲目搜索算法。算法主要思想是从初始结点开始依次沿其上下左右四个方向扩展 结点,并逐一检查这些后继结点是否为目标结点,若不等于目标结点则把该后继结点插入到 数组末尾。然后取数组中未扩展的第一个结点重复以上操作,直到得到目标结点为止或在限 定步数以内未得到解。广度优先搜索策略数据结构:void Bfs()queue Queue;Queue.push(org);HashTable org.myindex = -1;while(
3、 NOT Queue.empty() )Map node = Queue.front();Queue.pop( );for(int k =0 ; k 4; k + )Map tmp = node;tmp.position = node.position + derectionk;if(tmp.position 8 | ( k 1 & tmp.position / 3 != node.position /3 ) )continue;tmp.myindex = HashValue( node , k );if(0 != HashTabletmp.myindex ) continue; tm
4、p.detail node.position =tmp.detail tmp.position ; tmp.detail tmp.position = 0 ;HashTabletmp.myindex = node.myindex;/状态记录至U hashtable中if( node.myindex = EndIndex ) return ; Queue.push( tmp );return ;三、所用仪器、材料1台PC及VISUAL C+6.0软件四、实验方法、步骤源代码见同一文件夹中bashuma.cpp部分程序代码:typedef struct Node int num9;int deep
5、th;int diffnum;int value;struct Node * pre;struct Node * next;struct Node * parent;numNode;int main ( int argc, char *argv )open=create_numNode(); close=create_numNode();open-pre=open-next=close-pre=close-next=NULL;init(); /由用户输入初始和目标状态numNode *p1;p1=create_numNode();p1-parent=NULL;p1-deepth=0;int i
6、=0;for ( i=0; inumi=origini;open_insert(open,p1);numNode_num=1;p1=open_getfirst(open);while (p1!=NULL)close_append(close,p1);if(expand(p1)return EXIT_SUCCESS;p1=open_getfirst(open);printf(No solution!n);return EXIT_SUCCESS;void init ( )while(1)printf(输入初始状态SO(请从左到右依次输入每行数字,0代表空格):n);char temp10;scan
7、f(%s,&temp);int i=0;for ( i=0;i=0 & tempi-0=8; i+)origini=tempi-0;printf(请输入目标状态S1:n);scanf(%s,&temp);int j=0;for ( j=0; j=0 & tempj-0=8; j+)targetj=tempj-0;system(cls);if ( i=9&j=9)break;int operate nt m, int op)int bla nk;bla nk=0;while (mblank!=0 & blank2)swap(m+bla nk,m+b
8、la nk-3); break;case 2: /* dow n */if (bla nk6)swap(m+bla nk,m+bla nk+3); break;case 3: /* left */if (bla nk!=0 & bla nk!=3 & bla nk!=6) swap(m+bla nk,m+bla nk-1); break;case 4: /* right */if (blank!=2 & blank!=5 & blank!=8) swap(m+bla nk,m+bla nk+1); break;default : retur n 1;return 0;五、Step0:*83104765Step1:203184765Step2:023184765Step3:实验过程原始记录回HG:VCDebugbashuma* G:VCDebuqbashu六、实验总结:人工智能这门课程综合了许多学科的知识,这些知识面十分广,以及它 的应用也是十分广泛的,才刚开始学习的时候就会感觉有点复杂,因为它毕竟 综合了一些我们还没有学过的知识。通过这次实验,我对八数码难题有了更进 一步的认识,对广度优先搜索策略更加熟悉,广度优先搜索策略在有解的情形 总能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届云南省云南名校联盟高三上学期第四次联考模拟预测语文试题
- 跨境电商独立站服务器安全责任协议2025
- 跨境电商2025年海外市场推广协议
- 口罩生产供应协议2025年保密义务
- 2025 小学六年级语文上册排比句结构层次设计课件
- 居家养老服务评估协议2025年
- 深度解析(2026)《GBT 39269-2020电压暂降短时中断 低压设备耐受特性测试方法》
- 二级会计面试题库及答案
- 深度解析(2026)《GBT 37507-2025项目、项目群和项目组合管理 项目管理指南》(2026年)深度解析
- 深度解析(2026)《GBT 34630.3-2017搅拌摩擦焊 铝及铝合金 第3部分:焊接操作工的技能评定》
- 2025年下半年国家教师资格幼儿园《综合素质》考试真题及参考答案
- 评审委托协议书
- 黑龙江中医药大学《无机化学》2025 学年第二学期期末试卷
- 研学基地课程书籍或课件
- 杭州市西湖区人民政府西溪街道办事处公开招聘编外合同制工作人员5人考试笔试备考试题及答案解析
- 【《四川省鹤林中学学生宿舍楼施工组织设计》12000字】
- 西安市2024陕西西安市专职消防员管理中心招聘事业编制人员笔试历年参考题库典型考点附带答案详解(3卷合一)
- 2025年盐城港控股招聘面试题库及答案
- 浙江省宁波市海曙区2023-2024学年一年级上学期数学期末试卷(含答案)
- 江西省九江市2024-2025学年上学期期末考试 七年级 数学试题
- 品牌商户入驻大型购物中心流程
评论
0/150
提交评论