外星人瓦片启发式功能

时间:2014-01-19 19:27:38

标签: algorithm artificial-intelligence a-star

我正试图找到一个很好的A *启发式函数来解决“外来瓷砖”问题,可以在www.alientiles.com找到一个单项目。

在异形瓷砖中,你有一块带有NxN瓷砖的电路板,所有瓷砖都是红色的。通过单击图块,同一行和列中的所有图块按颜色前进,颜色顺序为红色 - >绿色 - >蓝色 - >紫色,紫色后重置为红色。目标是将所有切片更改为指定的颜色。最简单的目标状态是所有瓷砖从红色变为绿色,蓝色或紫色。该网站建议的董事会不必是7x7。

我已经考虑过对每个图块和目标图块之间的差异进行求和,然后将NNM板除以2N-1,或者找到可能的点击模式作为最小点击次数,但两者都没有运作良好。我想不出一种方法可以放松解决问题或将其划分为子问题,因为单击会影响整个行和列。

当然,我并不是要求任何人为我找到解决方案,但是我可以看一些提示或一些相关的,更简单的问题(rubik的立方体就是我正在看的一个例子)。

提前致谢。

2 个答案:

答案 0 :(得分:0)

您尝试解决的问题类似于NIM FOCUS名称。请看一下。它的解决方案可以在启发式部分的Stuart J. Russell一书中找到。希望这有帮助

答案 1 :(得分:0)

虽然这是一个相对“愚蠢的”。围绕这个问题的思考方式,我发现一种启发式机制可以大大减少一个恒星扩展的状态数量,试图找出最近点击的单元格与点击的状态数量之间的关系。它会再次扩大。它就像告诉一个明星:"如果你在最后一步中点击了一个单元格,那么这次尝试点击另一个单元格。"显然在特殊情况下,

(例如,让你的目标颜色上的所有棋盘,绿色,只有一个紫色的十字架,点击十字架的中心两次将十字颜色改为绿色,然后你就完成了)

这种思维方式实际上是有害的。但是,这是一个开始的地方。 如果你有任何想法,请告诉我,因为这也是我正在努力的事情。