最短路径算法有哪些应用?

时间:2010-12-10 18:27:49

标签: algorithm shortest-path

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

但是这个问题有哪些应用? (我已经知道了很多,但我想看到更多的例子)。

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

10 个答案:

答案 0 :(得分:9)

最短路径算法有一个有趣但不是直接明显的应用,它可能经常用于处理交易资产和货物的算法交易和金融部门。

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

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

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

您可以在此处查看更多详细信息,其中包含精彩的解释和示例:http://algs4.cs.princeton.edu/44sp/

答案 1 :(得分:6)

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

高速公路的交通和长度是路径权重。

答案 2 :(得分:5)

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

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

答案 3 :(得分:4)

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

答案 4 :(得分:2)

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

答案 5 :(得分:2)

在视频游戏中,这些算法经常用于查找地图上两点之间的最短路径。在此上下文中调用的“寻路”可以由AI用于绘制路线,或者由游戏引擎用于帮助用户绘制路线。

答案 6 :(得分:2)

我可以看到它可能被使用的一个例子是预先设定的点设备,它们需要通过特定点的电池充电或燃料来运行。

在军队中我们有一些小型的无人驾驶飞行器/装置,它有一些需要侦察的预设点,而且因为它必须行进很远的距离,所以在像这样的小型设备上试图太昂贵通过卫星控制它,无线电控制在到达最远点之前会恶化。这就是算法发挥作用的地方。

只需设置一点,你就想要侦察并释放它。让它找到最短路径来覆盖所有点。它不需要主要工具,因此更实惠,更便携。

答案 7 :(得分:2)

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

答案 8 :(得分:1)

alt text

答案 9 :(得分:1)

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