【问题标题】:What are the applications of the shortest-path-algorithm?最短路径算法有哪些应用?
【发布时间】:2011-05-23 15:49:26
【问题描述】:

可以通过多种算法(Dikstra、A-star 等)找到图中节点之间的最短路径。

但是这个问题有哪些应用呢? (我已经知道不少,但我希望看到更多示例)。

请只提供一份申请/答案!解释应用程序,以及如何将其转换为最短路径问题。

【问题讨论】:

  • 你可以通过更少的酒吧找到回家的路,然后避开它。

标签: algorithm shortest-path


【解决方案1】:

尚未提及的一个很酷的应用是边缘检测和分割。见Interactive Segmentation with Intelligent Scissors。您可能在 Photoshop 中将其称为“磁性套索”

【讨论】:

    【解决方案2】:

    SNA(社交网络分析)中经常使用最短路径来计算介数中心性等。通常具有最强联系的人倾向于通过最短路径进行交流。在图中了解人(节点)之间的最短路径可以让您了解隐藏的强联系。只需计算一些指标,您就可以在图表中发现许多有趣的东西。

    【讨论】:

      【解决方案3】:

      最短路径算法有一个有趣的但不是直接显而易见的应用,它可能经常用于处理资产和商品交易的算法交易和金融领域。

      想象一下,您可以将 1000 美元转换为 950 欧元,然后将 950 欧元转换为 1020 加元,然后再转换回 1007 美元:) 只需从货币转换为货币,您就可以赚钱。

      这种情况称为套利机会。这可以在任何资产和不同市场之间完成。

      在这种情况下,资产之间的关系被建模为有向边加权图,在图中找到所谓的负循环实际上就是找到这些套利机会。

      您可以在此处查看详细说明和示例:http://algs4.cs.princeton.edu/44sp/

      【讨论】:

        【解决方案4】:

        最短路径算法可用于求解word ladder puzzles

        例如,将单词“cat”更改为单词“dog”,一次更改一个字母 - “cat”、“bat”、“bag”、“bog”、“dog”

        【讨论】:

          【解决方案5】:

          最短路径问题构成了一整类优化问题的基础,可以通过称为列生成的技术来解决。示例包括车辆路线问题、可生存网络设计问题等。在这样的问题中有一个主问题(通常是一个线性程序),其中每一列代表一条路径(将车辆路径问题中的路径视为车辆可以采取的一条候选路线,想想网络设计问题中的一条路径,作为商品可以在源和目的地之间发送的可能路径)。主问题反复解决。每次,使用解决方案的度量,都会解决一个单独的问题(称为列生成子问题)。这个问题原来是一个最短路径问题(通常带有边约束或负弧长,呈现问题 NP-Hard)。如果获得了新的有用路径,则将其添加到原始主问题中,该主问题现在在更大的路径子集上重新解决,从而导致越来越好的(通常成本更低)的解决方案。

          【讨论】:

            【解决方案6】:

            社交网络...寻找两个人之间的最短路径(分离度)

            【讨论】:

            • 这听起来很有趣!但这可以用来做什么?
            • 你知道在linkedIn中,他们提供某人是你的第二连接或第三连接,有2是从你到那个人的最短路径。
            • 显示美国的每个人都有 6 个关系:)
            【解决方案7】:

            【讨论】:

            • ts 是一个 sp 类问题
            • 什么是“sp 类问题”?
            • 旅行推销员是一组最短路径问题 - 抱歉是在电话上
            【解决方案8】:

            我可以看到它可能正在使用的一个例子是预先设定的点设备,这些设备需要使用特定数量的电池电量或燃料通过某些点。

            在军队中,我们有一些小型无人机/设备,它们有一些预先设定的需要侦察的点,而且由于它必须飞行很远的距离,在这样的小型设备上尝试这样做太贵了通过卫星控制它,无线电控制在到达最远点之前就会恶化。这就是算法发挥作用的地方。

            只需设置某个点,您就希望它侦察并释放它。让它找到覆盖所有点的最短路径。它不需要主要工具,因此更实惠且便携。

            【讨论】:

              【解决方案9】:

              在视频游戏中,这些算法经常用于查找地图上两点之间的最短路径。在这种情况下,“寻路”被称为“寻路”,它可以被人工智能用来绘制路线,或者被游戏引擎用来帮助用户绘制路线。

              【讨论】:

                【解决方案10】:

                鉴于许多城市都有高速公路连接它们,找出从纽约到芝加哥的最短路径。

                高速公路的流量和长度是路径权重。

                【讨论】:

                • 这也可以用于各种电脑游戏。
                【解决方案11】:

                给定一个计算机网络(例如,对等应用程序),找到从机器 A 到机器 B 的最短路径。

                【讨论】:

                • SLaks,但为什么在点对点应用程序中需要最短路径?
                • 在对等应用程序中,两台机器不一定使用单个连接来连接。所有连接都通过一个初始网关,然后通过许多中间路由器或交换机,基本上形成了一个网络。这就是最短路径算法的用武之地。
                猜你喜欢
                • 2014-07-15
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2016-06-02
                相关资源
                最近更新 更多