【问题标题】:Dijkstra's Algorithm Pseudocode ConfusionDijkstra 算法伪代码混淆
【发布时间】:2021-12-21 07:59:53
【问题描述】:

我正在尝试为旅行商问题实现 Dijkstra 算法的一个版本,我发现了这篇论文:https://www.researchgate.net/figure/Dijkstras-algorithm-for-many-targets-with-a-pruning-heuristic-An-upper-bound-B-for-d-v_fig2_257428759

我理解算法,但我对这个伪代码中的“免费”意味着什么感到困惑。谁能给我解释一下?

即在以下几行中:

如果你有空,那么就停下来

如果 v 是空闲的,那么 B = min{c, b} fl

A Heuristic for Dijkstra's Algorithm with Many Targets (Pseudocode)

【问题讨论】:

    标签: algorithm pseudocode dijkstra traveling-salesman


    【解决方案1】:

    您链接到的论文似乎没有处理旅行推销员问题,而是处理二分匹配:

    两个版本的问题都可以通过求解来解决 n,n=max(|A|,|B|),单源多目标最短路径(SSMTSP) 派生图中的问题,请参阅第 4 节。

    free 节点是指与二分图中的任何其他节点都不匹配的节点。这在链接论文的第 4 节(第 87 页标签)中说明,脚注5

    如果 M 中没有边与该节点相关,则该节点是空闲的。

    M定义为需要在上一页计算的匹配。

    这个算法似乎只对这个匹配问题有用,它需要你多次运行它。这只是对二分匹配的多次运行的改进,它不是一个独立的算法。

    【讨论】:

    • 哦,好吧,这更有意义!非常感谢您的清晰解释!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2019-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    相关资源
    最近更新 更多