首页 / 知识
关于人工智能:您如何使用A-Star或Dijkstra算法求解15难题?
2023-04-17 07:04:00

How do you solve the 15-puzzle with A-Star or Dijkstra's Algorithm?我已经读过一本AI书,其中流行的算法(A-Star,Dijkstra)用于模拟或游戏中的路径查找,也用于解决著名的" 15难题"。 谁能给我一些指导,说明如何将15谜题简化为节点和边的图形,以便我可以应用其中一种算法? 如果我将图中的每个节点都视为游戏状态,那么那棵树不会变得很大吗? 还是只是这样做的方法? 对于具有15个谜题的A-Star,一个很好的启发法是在错误位置的正方形数。因为每平方英寸至少需要移动1步,所以保证偏移的正方形数小于或等于解决难题所需的移动数,这使其成为A-Star的适当启发法。 Google的快速搜索提出了几篇论文,这些论文对此进行了详细介绍:一篇涉及并行组合搜索,另一篇涉及外部存储器图搜索 关于算法问题的一般经验法则:某人可能在您之前完成了该工作,并发表了他们的发现。 图论解决问题的理论方法是将板的每个配置想象为图的顶点,然后基于板的" Manhatten距离"进行基于呼吸的优先搜索并进行修剪,以从起点算起最短路径解决方案的配置。
这种方法的一个问题是,对于任何
Ian Parberry的这篇 这个问题与解决魔方的问题密切相关。所有游戏的图形都说明它太大了,无法用蛮力解决,但是有一种相当简单的7步方法,灵巧的人可以在大约1到2分钟内使用它解决任何立方体。该路径当然是非最佳的。通过学习识别定义移动顺序的模式,速度可以降低到17秒。但是,Jiri的这一壮举有点超人!
Parberry描述的方法一次只能移动一个图块;有人认为,通过利用Jiri的灵活性并一次移动多个图块,可以使算法更好。正如Parberry所证明的那样,这不会减小 这是对使用A *算法进行详细讨论的8难题的一项作业,但也相当简单: http://www.cs.princeton.edu/courses/archive/spring09/cos226/assignments/8puzzle.html 请记住,A *会在问题空间中进行搜索,并按照启发式方法定义的最可能的目标路径进行搜索。 只有在最坏的情况下,它才最终不得不淹没整个问题空间,而在没有实际解决问题的方法时,往往会发生这种情况。 在这里,您可以访问http://www.heyes-jones.com/astar.html 只需使用游戏树。请记住,树是图形的一种特殊形式。 在您的情况下,进行当前节点可用的移动之一后,每个节点的叶子将成为游戏位置。 也。请注意,至少使用A-Star算法时,您将需要找出一种可允许的试探法,以确定可能的下一步骤是否比另一步骤更接近完成的路线。 bryanTyler的出色信息!
根据我目前的经验,关于如何解决8个难题。 |
最新内容
相关内容
linux模拟请求命令?
linux模拟请求命令?,地址,工作,系统,工具,信息,标准,命令,目录,发行,数据,linux怎么加端口url请求在/etc/services中添加端口以及对应进程名及防篡改算法linux命令?
防篡改算法linux命令?,技术,网络,系统,数据,区块链,电子,交易,信息,网站,国际,编程高手来啊!!!急啊!!!在你的倒数第5两行中间插入一行:Call Dealinux模拟命令ls?
linux模拟命令ls?,系统,地址,工作,命令,时间,基础,标准,信息,文件,目录,LS(LINUX中ls命令)详细资料大全ls命令是linux下最常用的命令之一,ls跟dlinux在线模拟器命令?
linux在线模拟器命令?,系统,设备,管理,命令,软件,数据,在线,网络,环境,盘中,linux必学的60个命令_linux必学的60个命令怎么读起来简单安装和登linux命令模拟软件?
linux命令模拟软件?,软件,系统,地址,平台,电脑,环境,网上,工具,名字,名称,windows环境下的linux模拟软件1、首先需要打开电脑里的VirualBox软五个用于Python前端开发的工具
五个用于Python前端开发的工具,代码,工具,项目,设计,软件,在线,基础,平台,状态,业务,Python是一种高度通用且功能强大的编程语言,其特质使其非python和人工智能有什么关系
python和人工智能有什么关系,人工智能,数据,培训,工具,技术,时代,项目,基础,科技,浪潮,相信每个人都听过Python的人工智能一词,包括很多PythonPython3实现旋转数组的3种算法
Python3实现旋转数组的3种算法,位置,代码,时间,培训,算法,数组,解法,结果,长度,索引,下面是Python3实现的旋转数组的3种算法。一、题目给定一python人工智能要不要学习Python?
python人工智能要不要学习Python?,人工智能,技术,数据,平台,科技公司,代码,传统行业,概念,智能,工作,人工智能大家想必都听说过,而且现在很流Python算法是什么?有哪几类?
Python算法是什么?有哪几类?,数据,数字,时间,算法,系统,策略,位置,有限,标准,培训,了解Python的人应该都听说过Python算法,但是它们的类型和定义什么是Python语言?主要应用于哪些领
什么是Python语言?主要应用于哪些领域?,分析,人工智能,数据,公司,金融,人员,网络,量化交易,全球,时间,在当今社会,Python是一种非常流行的编程语python为何会如此流行
python为何会如此流行,代码,时间,数字,发展,技术,分析,人工智能,世纪,培训,庞大,这其中有几个原因:1.它是古老的Python早在20世纪90年代就出现