Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graph 确定允许的启发式(坐标图)_Graph_Coordinates_Heuristics - Fatal编程技术网

Graph 确定允许的启发式(坐标图)

Graph 确定允许的启发式(坐标图),graph,coordinates,heuristics,Graph,Coordinates,Heuristics,我试图理解如何确定坐标图的真实代价是(h*(n)),从而确定一个可接受的启发式 在法线坐标图中,从一个坐标到另一个坐标的真实成本是曼哈顿距离吗(假设移动仅限于相邻的网格正方形)?如果是这样的话,那么直线距离是否可以作为此类问题的一种可接受的启发式方法 i、 e.(0,1)至(21,35)MHD=55和SLD=39.96单位 如果坐标之间的道路上有障碍物(即迫使路径围绕障碍物重新布线的形状),曼哈顿距离(而不是“真实成本”)是否可以作为可接受的启发有效(我想真实成本需要手动计算?)?SLD也应该是

我试图理解如何确定坐标图的真实代价是(h*(n)),从而确定一个可接受的启发式

在法线坐标图中,从一个坐标到另一个坐标的真实成本是曼哈顿距离吗(假设移动仅限于相邻的网格正方形)?如果是这样的话,那么直线距离是否可以作为此类问题的一种可接受的启发式方法

i、 e.(0,1)至(21,35)MHD=55和SLD=39.96单位

如果坐标之间的道路上有障碍物(即迫使路径围绕障碍物重新布线的形状),曼哈顿距离(而不是“真实成本”)是否可以作为可接受的启发有效(我想真实成本需要手动计算?)?SLD也应该是一种可接受的启发式方法,但不会像MHD那样占主导地位


总之,在坐标图中,真正的成本是MHD,而有效的启发是SLD吗?在有障碍物的坐标图中,实际成本通常为>=MHD

假设你在一个网格世界中,唯一允许移动的是
N、S、W、E
(或者通常是径向单元格)是的

曼哈顿距离将是真正的成本(甚至是最好的启发!)

SLD
当然比表示
h*
MHD
更小,但信息量也更小

如果您的道路上有障碍,MHD将不会高估目标的真实成本,这是可以接受的。您可以使用它来解决问题,但当然,在节点扩展方面,解决方案不如在没有障碍的情况下好

当你可以沿对角线移动时,这并不成立,但那是另一回事


最后,
MHD
在每个状态中占主导地位,因此这是一个更好的启发式函数,因为它们都是可接受的。

次要问题,如果h(n)=max(hSLD(n),hMHD(n)),那么h(n)=hMHD(n),因为MHD>SLD?谢谢!我有点不确定,但这为我澄清了=)出于好奇,如果它包括沿对角线移动和与对象一起移动,那么什么是一个好的启发?如果你能够计算SLD,你可以始终将其用作备份选项,因为它始终是允许的。您可以在这里找到其他一些与指标相关的启发式方法