我正在尝试在离散能源地形图上找到两个极大值之间最短的路径,其中最短路径是指其在整个路径过程中高度下降最少的路径。也许最大能量路径更正确,但换句话说,即使路径绕着地形图走了很长的距离,但没有进入山谷,这也被认为是好的。
我的初始想法是创建一个地形图的图形,其中权重是相邻之间地形高度差异,上升和下降分别为正和负。我刚意识到,这将不能给出我需要的结果,实际上在本地极大值之间的所有路径将具有完全相同的成本。
然后我意识到,如果此图上节点之间的距离取决于路径的当前位置和历史记录,那么我可以得到所需的结果。例如,如果路径从一个山谷下降并上升,那么我不会对进入另一个山谷(只要路径没有超过它以前未曾去过的低点)额外收费。
那么是否存在动态更改距离的图搜索算法?
或者是否有其他攻击该问题的建议?