我知道递归解决方案,并且我阅读了与迭代解决方案相关的论文。
有人能解释我如何使用人工智能技术解决像河内塔这样的问题吗?
答案 0 :(得分:1)
另一种解决方案是使用分层规划器。在分层规划中,可以轻松指定程序性知识。河内塔的制胜策略也很容易被编码为这样的问题,如下文所述:
@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 :(得分:0)
一种非常常见的方法是通过模式数据库生成启发式方法。这是关于该主题的更着名论文之一:https://www.aaai.org/Papers/JAIR/Vol22/JAIR-2209.pdf
有关如何入门的问题对于此网站来说过于宽泛。一个更好的入门方法是使用google scholar之类的东西来查找与该主题相关的文章,然后询问您遇到的特定解决方案遇到的任何问题。
答案 2 :(得分:0)
他们看待它的方法是让基本的AI算法工作,然后重做它以便自己学习。
首先 - 我们有三座塔A,B,C。所以只有六个动作可能: A-> B,A-> C,B-> A,B-> C,C-> A,C-> B, 我们称之为AB AC BA BC CA CB。
创建决策树,其中每个节点代表一个州。每个节点将有N个子节点用于N个可能的运算符(例如AB用于从A移动到B,BC用于从B移动到C等等)。这样我们就创建了一个决策树。
在这个阶段,我们可以使用基本广度优先搜索(BFS)算法来确定我们是否可以在N步骤中解决这个难题。 BFS的问题在于,当河内增长时,它将消耗极大的内存和时间。但不用担心。
我们的树有BFS算法。我们找到了3个光盘,4个光盘,5个光盘的河内解决方案。 BFS应该向我们展示什么是最佳途径。
现在这里的路径值得关注。可能存在3,4,5和6个光盘之间的模式。现在我认为我们应该考虑一下 a)模式识别算法,以确定是否有重复自身的元素,并可能从中构建一些东西。 b)使用遗传编程来确定软件是否可以提供适用于6盘算法的3碟,4碟,5碟的算法:我们已经有BFS可以作为我们遗传编程的测试人员算法