【发布时间】:2015-09-30 16:26:23
【问题描述】:
我正在学习人工智能课程,我们分配的第一个问题是创建一个程序来解决滑动砖难题。
现在,我们的教授还没有给我们任何关于如何解决这个问题的信息。我是两个班级,我们所讨论的只是 AI 和代理的定义。
我完全不知道如何解决这个问题。我们得到了代表一块板的文本文件,我的代码已经设置为将板转换为二维数组,打印出来等等(简单的东西)。但现在我需要努力实际解决我一无所知的问题。
这是一个板的例子:
1,1,1,1,1,1,
1,3,2,2,4,1,
1,5,2,2,6,1,
1,7,7,8,8,1,
1,9,9,10,10,1,
1,0,0,0,0,1,
1,0,0,0,0,1,
1,1,-1,-1,1,1,
1 代表一堵墙
0代表空格
-1代表中奖区
2代表“特殊块”
任何greater than 2 都是“非特殊”块
有谁知道我可以使用什么算法来解决这个问题?或者可能是一个很好的资源。
以下是游戏本身的示例: http://www.mathplayground.com/slidingblock.html
【问题讨论】:
-
你的教授会是一个很好的参考。你有安排与他们会面吗?就目前而言,您的问题对于 StackOverflow 来说太宽泛了。
-
@Trobbins 唯一让我退缩的是他表现得很严厉/自命不凡,我害怕被责骂为什么我不知道如何解决这个问题。跨度>
-
这究竟是什么谜题?这不是 N 谜题
-
@harold 我包含了一个游戏示例的链接
-
您可能需要查看path finding algorithms。您可以将您的状态表示为图中的一个节点,并将从可能的移动中获得的状态表示为子节点
标签: java algorithm search data-structures