长度与时间有关的最短距离问题


10

动机

前几天,我乘坐公共交通工具在城市中旅行,我做了一个有趣的图形问题,对寻找两个地方之间最短时间联系的问题进行建模。

我们都知道,传统的“最短路径问题”:给定一个有向图具有边缘长度瓦特Ê[R + 0G=(V,E)和两个顶点小号V,找到之间的最短路径小号(即,路径最小化总边缘长度)。假设非负边长,算法多种多样,问题很容易解决。weR0+,eEs,tVst

例如,这对于我们走路的情况是一个很好的模型。顶点是我们道路网络中的十字路口,每个边都有固定的长度-例如,以米为单位。边缘权重另一种可能解释是我们从一个顶点到另一个顶点所花费的时间。这是我现在很感兴趣的解释。we

问题

我现在想对以下情况建模。我想通过公共交通工具从城市的A点到B点旅行,并尽量减少时间。正如您所期望的,公共交通网络可以轻松地建模为有向图。有趣的部分是边缘权重(用于模拟时间)-公共交通工具(例如公交车)仅在特定间隔内离开,每个停靠点都不同(图中的顶点)。换句话说-边缘权重不是恒定的,它们根据我们要使用边缘的时间而变化。

如何建模这种情况:我们有向图和边缘权重函数瓦特È × [R + 0- [R + 0这需要时间作为它的参数和返回的时间,它需要使用在我们的道路上前进。例如,如果从顶点v到顶点u的巴士在t = 10离开并且需要5个小时,我们在t = 8到达顶点vG=(V,E) w:E×R0+R0+vut=105vt=8,则是边缘权重。显然,w v u 10 = 5w(vu,8)=7w(vu,10)=5

定义路径的总权重有些棘手,但是我们可以递归地进行。令为有向路径。如果k = 1,w P = 0。否则,w P = w P '+ w v k - 1 v kw P 'P=v1v2vk1vkk=1w(P)=0w(P)=w(P)+w(vk1vk,w(P)),其中是没有v kP的子路径。这是与实际情况相对应的自然定义。PPvk

现在我们可以在函数各种假设下研究问题。自然假设是 瓦特Ë 瓦特ê + Δ + Δ  所有  ë ë Δ 0 其中模型“等待Δ时间”。w

w(e,t)w(e,t+Δ)+Δ for all eE,Δ0,
Δ

如果函数“表现良好”,则可以将此问题简化为经典的最短路径问题。但是我们可以问一下权重函数变得疯狂时会发生什么。如果我们放弃等待的假设怎么办?

问题

我的问题如下。

  • 曾经问过这个问题吗?似乎是自然的。
  • 有任何研究吗?在我看来,有许多子问题需要提出和研究,主要涉及权重函数的属性。
  • 我们可以将这个问题(可能在某些假设下)简化为经典的最短路径问题吗?

TV=T×V(t0,v0)(t1,v1)t1=w((v0,v1),t0)TwT

这个问题的一个简单变体(边缘权重与时间线性相关)称为“ 参数最短路径 ”。
Neal Young,

Answers:


8

nΘ(logn)

当施加等待策略时,Dijkstra的算法确实可以用于此问题,即,如果这会减少最终到达时间,则在节点处等待。如果没有等待策略,情况将变得更加荒唐:最短路径可能不简单,最短路径的子路径可能不是子路径两个端点之间的最短路径,穿越无数个边的路径可能具有有限的到达时间,等等。再次参见Orda和Rom的论文,以进行更多讨论。


3

您是否知道“最短的非递减路径”问题?它被定义为对这种情况进行建模。尽管与您的配方相比,它的表现力较差,但可以使用快速算法。


1

如果您假设时间是整数(对于公共交通而言是有意义的),则可以建立一个时间扩展网络,类似于福特-富尔克森建议的随时间推移(或最快流量)的流量,以及而是在此图中找到最短路径。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.