像GoogleMaps这样的网站不仅可以找到从城市A到城市B的道路上最短路径,还可以找到所需时间最少的路径(不同道路有不同的限速)。
要找到从A到B的最短路径,启发式方法很简单——它只是当前观察到的节点和B之间的欧几里得距离(假设地图不太大)。
如果我们对最短时间感兴趣,并且考虑特定边的限速会怎样呢?
我的猜测是特定节点的权重将代表到达那里的所需时间,而启发式方法将是
(double) Euclidean_distance(node,B)/maximum_speedlimit_in_country
我的猜测正确吗,还是我遗漏了什么?
提前感谢您。
回答:
我不确定这是否是他们实际使用的,但我认为您的启发式方法是可接受的,因为它不会高估任何节点的成本(因此,使用该启发式方法找到的路径将是最优的)。