在这个例子http://ai.ia.agh.edu.pl/wiki/pl:prolog:pllib:sliding_puzzle中,有人可以解释我如何计算8个谜题中的曼哈顿距离吗?
如何计算:
A(0,0)。一个(1,0)。一个(2,1)。一个(3,2)。一个(4,3)。一个(5,4)。一个(6,3)。一个(7,2)。 一个(8,1)。 B(0,0)。 B(1,1)。 B(2,0)。 B(3,1)。 B(4,2)。 B(5,3)。 B(6,2)。 B(7,3)。 B(8,2)。 C(0,0)。 C(1,2)。 C(2,1)。 C(3,0)。 C(4,1)。 C(5,2)。 C(6,3)。 C(7,4)。 C(8,3)。 d(0,0)。 d(1,1)。 d(2,2)。 d(3,3)。 d(4,2)。 d(5,3)。 d(6,2)。 d(7,2)。 d(8,0)。 E(0,0)。 E(1,2)。 E(2,1)。 E(3,2)。 E(4,1)。 E(5,2)。 E(6,1)。 E(7,2)。 E(8,1)。 F(0,0)。 F(1,3)。 F(2,2)。 F(3,1)。 F(4,0)。 F(5,1)。 F(6,2)。 F(7,3)。 F(8,2)。克(0,0)。克(1,2)。 克(2,3)。克(3,4)。克(4,3)。克(5,2)。克(6,2)。克(7,0)。克(8,1)。 H(0,0)。 H(1,3)。 H(2,3)。 H(3,3)。 H(4,2)。 H(5,1)。 H(6,0)。 H(7,1)。 H(8,2)。
I(0,0)。 I(1,4)。 I(2,3)。 I(3,2)。 I(4,1)。 I(5,0)。 I(6,1)。 I(7,2)。 I(8,3)。
在这段代码中?
答案 0 :(得分:3)
a,b,c,...,i
是固定单元名称。该表是手工编码的,以加快达到目标所需的步骤数 - 例如,取d(8,0).
,这只有goal(1/2/3/8/0/4/7/6/5).
才有意义,即当单元格d
成立8
时,需要0步...