首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用人工智能技术解决汉诺塔问题?

如何利用人工智能技术解决汉诺塔问题?
EN

Stack Overflow用户
提问于 2016-10-06 17:25:41
回答 3查看 3.1K关注 0票数 1

我知道递归解决方案,我阅读了与迭代解决方案相关的论文。

有人能给我解释一下如何使用人工智能技术来解决像河内塔这样的问题吗?

EN

回答 3

Stack Overflow用户

发布于 2016-10-16 03:26:24

另一种解决方案是使用分层规划器。在分层规划中,可以很容易地指定过程性知识。河内双子塔的制胜策略也可以很容易地编码为这样的问题,正如下面的论文中简要解释的那样:

代码语言:javascript
复制
@InProceedings{Alford09TranslatingHTNsToPDDL,
Title      = {Translating {HTNs} to {PDDL}: A Small Amount of Domain Knowledge Can Go a Long Way},
Author     = {Ron Alford and Ugur Kuter and Dana S. Nau},
Booktitle  = {Proceedings of the 21st International Joint Conference on Artificial Intelligence ({IJCAI} 2009)},
Year       = {2009},
Pages      = {1629--1634},
Publisher  = {{AAAI} Press}}
票数 1
EN

Stack Overflow用户

发布于 2016-10-08 01:02:57

一种非常常见的方法是通过模式数据库生成启发式。下面是关于这个主题的一篇比较著名的论文:https://www.aaai.org/Papers/JAIR/Vol22/JAIR-2209.pdf

对于这个网站来说,询问如何入门的问题通常太广泛了。一个更好的入门方法是使用类似谷歌学者的东西来查找与该主题相关的文章,然后询问你在具体解决方案中遇到的任何问题。

票数 0
EN

Stack Overflow用户

发布于 2016-10-27 12:47:46

他们在我看来是让基本的AI算法工作,然后重写它,这样它就会自我学习。

  1. 首先-我们有三个塔A、B、C。因此只能移动六个步骤: A->B、A->C、B->A、B->C、C->A、C->B,我们称它们为AB AC BA BC CA。
  2. 创建决策树,其中每个节点代表一个状态。每个节点将有N个子节点用于N个可能的运算符(例如,AB用于从A移动到B,BC用于从B移动到C,等等)。在这个阶段,我们可以使用基本的广度优先搜索(

-First-

  1. ,BFS)算法来确定我们是否可以在N步内解决这个难题。BFS的问题是,当河内增长时,它将消耗极大的内存和时间。但是不用担心,

  1. ,我们有自己的树,我们有BFS算法。我们找到了河内包括3个圆盘,4个圆盘,5个圆盘的解决方案。BFS应该告诉我们什么是最好的路径,

  1. ,这里的路径是值得关注的。在3、4、5和6个磁盘之间可能存在一种模式。现在,我认为我们应该考虑看看)模式识别算法,以找出是否有重复的元素,并可能从中构建一些东西。b)使用遗传编程,看看软件是否可以为3-、4-、5- discs设计出适用于6-discs算法的算法:我们已经有了BFS,可以作为我们的遗传编程算法的测试器。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39892295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档