我有一个假设的问题。让我们假设我有一堆相互连接的城市。这个问题纯粹是假设的,所以我们如何连接它们并不重要(我们可以将它们视为某种图形)。城市之间是公共汽车连接,但这些连接不是很可靠。他们添加或删除一个随机时间到我们期望他们离开城市的时间,以及他们到达另一个城市的时间。我如何找到一种方法将一个人从一个城市带到另一个城市尽可能快/相对快速但概率更大? 我应该阅读哪种算法来解决这个问题?
答案 0 :(得分:2)
这是一个非常难以解决的问题,可以用博弈论的方式来解决。
Botea 等人想到的最好的论文是Multi-modal Journey Planning in the Presence of Uncertainty。人
论文的主旨是:
因此,如果出租车需要60-90分钟才能到达目的地,但公共汽车总是需要70,而且您需要在接下来的80分钟内到达目的地,那么您将乘坐公共汽车。
但是,如果您需要在接下来的65分钟内到达目的地,那么您可以乘坐出租车,因为这是唯一可以按时到达目的地的模式。
我想你可以调整自己的方法。每个城市通过公交线路连接到K其他城市,这些公交线路有自己相关的持续时间和持续时间的概率。您可以将每条公交线路视为不同的交通方式。
另一种方法是在你的图表上使用A *,你的启发式试图将不确定性和持续时间降至最低。
第二种方法的相关论文(不完全相同,但相关)是FIRM: Feedback controller-based Information-state Roadmap - A framework for motion planning under uncertainty。
虽然本文涵盖了很多关于动态系统的内容,但是关于通过路线图(图表)提取路径以最小化不确定性的部分将是有用的。也许你可以适应这一点来融入速度的某些方面。
答案 1 :(得分:1)
如果变化是真正随机的,那么对我而言,你可以做的最好的事情就是找到连接数最少的路径。这可以通过Breadth First Search完成。
答案 2 :(得分:1)
查看Distance Vector Routing Protocol之类的路由算法。它们用于此目的。找到其他节点的方法,即使图形发生变化。 您可以做的简短摘要如下:
答案 3 :(得分:1)
我不认为这样的问题可能存在解决方案。然而,在一个随机性(例如现实世界)的世界里,每一次你的行动都会失败,那就有一个模型。尝试使用离散时间马尔可夫链(DTMC)。
你的每个城市都是马尔可夫州。 当您尝试从A市迁移到B市时,有成功和失败的可能性。 失败意味着你留在同一个城市。
使用DTMC,您可以计算出需要做多少动作,以一定的概率实现最终城市。