用于解决N-puzzle的X-Y启发函数

时间:2014-09-15 14:28:44

标签: algorithm heuristics

有人可以解释一下这个启发式函数,例如以下4x4拼图的排列,X-Y启发式算法是什么?

1  2  3  4 
5  6  7  8
9 10 11 12
0 13 14 15

(0表示空格)

1 个答案:

答案 0 :(得分:1)

herehere开始,XY启发式计算方法是与列相邻的空白互换的最小数量之和,以获取目标列中的所有切片相邻行空白交换的最小行数,以获取目标行中的所有切片

所以在这种情况下:

1  2  3  4 
5  6  7  8
9 10 11 12
0 13 14 15

假设目标状态为

,唯一错位的图块为131415
1  2  3  4 
5  6  7  8
9 10 11 12
13 14 15 0

因此,在这种情况下,我们必须首先计算空白必须执行的列交换次数才能使所有切片处于正确的位置。这相当于3,因为空白必须移动三次到右列才能处于正确的位置(并且所有的图块都在正确的位置)

然后我们必须计算空白必须进行的行交换次数。这是0,这要归功于所有图块都在正确的行上。

最后h(n) = 3 + 0 = 3