- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
15数码问题的解决算法(算法和具体代码)
〈〈人工智能〉〉
题目:15数码问题
实验1:
要求:
采用广度优先算法解决15数码问题,输出扩展结点,步数和最终结果
算法描述:
广度优先搜索,即BFS(Breadth First Search),常常深度优先并列提及。这是一种相当常用的图算法,其特点是:每次搜索指定点,并将其所有未访问过的近邻加入搜索队列(而深度优先搜索则是栈),循环搜索过程直到队列为空。广度优先搜索算法的基本思想:从初始状态出发,按照给定的结点产生式规则(算符、结点扩展规则)生产第一层结点,每生成一个结点就检查是不是目标结点,如果是目标结点就搜索结束,如果不是目标结点并且前面没出现过就保存该结点(入队列);再用产生式规则将所有第一层的结点依次扩展,得到第二层结点,同时检查是否为目标结点,是目标搜索停止,不是并且没出现过保存(入队);再把第二层的结点按产生规则扩展生产第三层结点,直至找到目标或所有的状态找完但找不到目标(队列空)。特点:先生成深度为1的所有结点,再生产深度为2的所有结点,依次类推。先横向,再纵向。这种方法找到目标,需要的步数一定最少。
输入:初始态int A[N][N]={
{1,2,3,4},
{5,10,6,8},
{0,9,7,12},
{13,14,11,15}
};
目标状态:int B[N][N]={
{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
{13,14,15,0}
};
输出截图:
由于输出的路径节点很多 这里只是显示最终结果和步数。
实验2:
要求:
采用深度优先算法实现15数码问题。
算法描述:
设x是当前被访问顶点,在对x做过访问标记后,选择一条从x出发的未检测过的边(x,y)。若发现顶点y已访问过,则重新选择另一条从x出发的未检测过的边,否则沿边(x,y)到达未曾访问过的y,对y访问并将其标记为已访问过;然后从y开始搜索,直到搜索完从y出发的所有路径,即访问完所有从y出发可达的顶点之后,才回溯到顶点x,并且再选择一条从x出发的未检测过的边。上述过程直至从x出发的所有边都已检测过为止。此时,若x不是源点,则回溯到在x之前被访问过的顶点;否则图中所有和源点有路径相通的顶点(即从源点可达的所有顶点)都已被访问过,若图G是连通图,则遍历过程结束,否则继续选择一个尚未被访问的顶点作为新源点,进行新的搜索过程。
输入:初始态int A[N][N]={
{1,2,3,4},
{5,10,6,8},
{0,9,7,12},
{13,14,11,15}
};
目标状态:int B[N][N]={
{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
{13,14,15,0}
};
输出截图:
由于输出的路径节点很多 这里只是显示最终结果和步数
实验3:
要求:
采用启发式的A星算法实现15数码问题。
算法描述:
启发式搜索算法A,一般简称为A算法,是一种典型的启发式搜索算法。其基本思想是:定义一个评价函数f,对当前的搜索状态进行评估,找出一个最有希望的节点来扩展。评价函数的形式如下:f(n)=g(n)+h(n)其中n是被评价的节点。f(n)、g(n)和h(n)各自表述什么含义呢?我们先来定义下面几个函数的含义,它们与f(n)、g(n)和h(n)的差别是都带有一个*号。g*(n):表示从初始节点s到节点n的最短路径的耗散值;h*(n):表示从节点n到目标节点g的最短路径的耗散值;f*(n)=g*(n)+h*(n):表示从初始节点s经过节点n到目标节点g的最短路径的耗散值。 而f(n)、g(n)和h(n)则分别表示是对f*(n)、g*(n)和h*(n)三个函数值的的估计值。是一种预测。A算法就是利用这种预测,来达到有效搜索的目的的。它每次按照f(n)值的大小对OPEN表中的元素进行排序,f值小的节点放在前面,而f值大的节点则被放在OPEN表的后面,这样每次扩展节点时,都是选择当前f值最小的节点来优先扩展。
输入:初始态int A[N][N]={
{1,2,3,4},
{5,10,6,8},
{0,9,7,12},
{13,14,11,15}
};
目标状态:int B[N][N]={
{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
{13,14,15,0}
};
输出截图:6走完成,逆序输出
您可能关注的文档
- (H)哈希散列问题.doc
- (启发式搜索).docx
- (四)解放战争时期(1945-1949)(学生版).docx
- (山东名师汇编)【山东教育版】化学2015年考试模拟题.doc
- (技术)丰宁县全民健身馆工程.doc
- (题)数据结构复习题_ch10.doc
- 00442教育学11章练习.doc
- 02zyjda.doc
- 007-ZS-1000振荡筛验证方案.doc
- 03-电话交换机技术方案.doc
- 难点详解鲁教版(五四制)6年级数学下册期末测试卷带答案详解(考试直接用).docx
- 难点详解鲁教版(五四制)6年级数学下册期末试题【培优】附答案详解.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题及完整答案详解(全国通用).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解(名师系列).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解【全国通用】.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷(突破训练)附答案详解.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷(能力提升)附答案详解.docx
- 难点详解京改版数学9年级上册期中试卷附参考答案详解【突破训练】.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解(有一套).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷带答案详解(夺分金卷).docx
最近下载
- 减肥打卡社群运营.pdf
- 时间管理之四象限法则的运用PPT(59张)课件.pptx VIP
- Unit 5 Whose dog is it_ Part A Spell 课件人教版英语五年级下册.pptx
- 价值管理的信息系统开发.pptx VIP
- 装饰装修施工组织设计(完整版).pdf
- 模板专项施工方案(完整版).docx
- 《最后一片叶子》课件高教版中职语文基础模块上册.pptx
- 光合速率的测定方法讲课教案.ppt
- 电气控制与可编程控制技术课程设-三相六拍步进电机PLC控制系统的设计.docx VIP
- 2024-2025学年苏科版八年级物理下册 第9章 压强和浮力【速记清单】(解析版).pdf VIP
文档评论(0)