首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我们可以在Dijkstra算法中增加转向惩罚吗?

我们可以在Dijkstra算法中增加转向惩罚吗?
EN

Stack Overflow用户
提问于 2019-07-29 23:12:32
回答 1查看 536关注 0票数 1

我正在尝试编写Dijkstra算法来寻找一些电缆桥架节点之间的最短路径(以有向图的形式给出)。我的问题是:如果我们有转弯(即不是公司希望的直道),我们如何处理这个问题?

EN

回答 1

Stack Overflow用户

发布于 2019-07-29 23:37:11

Dijkstra不能直接包含转向惩罚,因为它是建立在到达节点的成本与其“上下文”无关的假设之上的。

有可能重写你的图,这样每一轮都与取一条边相关联,所以轮成本变成了正常成本。然后,可以将Dijkstra应用于该图。完整的解释可以在“路线规划中的转弯成本建模”(斯蒂芬·温特)中找到。用于此(折线图)的图有时被称为对偶图,尽管该术语传统上具有不同的含义。粗略地说,您为每条原始边引入一个节点,如果相应的边都与相同的原始节点相邻,则在两个新节点之间引入一条边(每两步的微小路径由新图中的一条边表示)。引出源和进入目标的所有边对应于新图中的单独节点,为了避免将问题转变为多源/多目标最短路径,您可以添加额外的源节点和目标节点,这些节点“将边连接在一起”(零成本)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57256676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档