8-puzzle:汉明和曼哈顿启发式考虑“空白”?

时间:2012-04-04 22:08:56

标签: heuristics hamming-distance

我有一个非常简单的问题。

我正在进行8拼图(8个数字(从1到8)+空白(= 0))

当计算汉明距离(错误位置的数字)和曼哈顿距离(水平距离+开始位置和最终位置之间的垂直距离)时,我应该考虑“空白”空间来计算结果吗?

例如......

 |7 2 4|
 |5 _ 6|
 |8 3 1|

目标状态

 |_ 1 2|
 |3 4 5|
 |6 7 8|

什么是正确的?

  • 汉明距离= 8(每个数字不到位)或9(也考虑0 =空白)
  • 曼哈顿距离(距离(7),距离(2),距离(4),...)= 3(= 1 + 2)+ 1(= 1 + 0)+ 2(1 + 1)+ 2 (2 + 0)+ 0(空白)+ 3(1 + 2)+ 2(2 + 0)+ 3(1 + 2)+ 3(2 + 1) - >不考虑空白是18,空白(+2)是20.什么是正确的?

谢谢

1 个答案:

答案 0 :(得分:4)

如果您希望启发式可以接受,那么您不应该计算空白区块。

例如

|1 _ 2|  
|3 4 5|  
|6 7 8|

真正的答案是1,但曼哈顿距离是2,如果算上空白的瓷砖。 这不是可接受的启发式。