Algorithm 仅允许对角移动时A*的启发式

Algorithm 仅允许对角移动时A*的启发式,algorithm,path-finding,a-star,heuristics,Algorithm,Path Finding,A Star,Heuristics,我计划使用*算法在无限网格上寻找路径,其中只允许对角线移动。但我不确定使用哪种启发式。我知道我不能使用曼哈顿距离。有人能提出一些建议吗?想想国际象棋。旋转45度。如果只允许对角线移动,实际上它就像一个只有正交移动的网格,但原始网格上有一半的点是不可到达的。是的,那么我应该使用什么样的启发式方法才能允许它?@Arun:首先看看目标是否甚至可以到达。然后将坐标转换为普通网格,并使用任何用于此类网格的启发式方法。如果仅允许对角线移动,则根据起始位置,无法到达网格的一半。对吗?(例如国际象棋中的主教)@

我计划使用*算法在无限网格上寻找路径,其中只允许对角线移动。但我不确定使用哪种启发式。我知道我不能使用曼哈顿距离。有人能提出一些建议吗?

想想国际象棋。旋转45度。如果只允许对角线移动,实际上它就像一个只有正交移动的网格,但原始网格上有一半的点是不可到达的。

是的,那么我应该使用什么样的启发式方法才能允许它?@Arun:首先看看目标是否甚至可以到达。然后将坐标转换为普通网格,并使用任何用于此类网格的启发式方法。如果仅允许对角线移动,则根据起始位置,无法到达网格的一半。对吗?(例如国际象棋中的主教)@Demplo是的,你是对的。那么我会说汤姆的回答很好。一旦你知道目标是否可以到达,你就旋转45度,在那里使用曼哈顿。假设对角线移动花费1。@Demplo得到了,谢谢!