长度与时间有关的最短距离问题
动机 前几天,我乘坐公共交通工具在城市中旅行,我做了一个有趣的图形问题,对寻找两个地方之间最短时间联系的问题进行建模。 我们都知道,传统的“最短路径问题”:给定一个有向图具有边缘长度瓦特Ê ∈ [R + 0,G = (V,E)G=(V,E)G=(V,E)和两个顶点小号,吨∈ V,找到之间的最短路径小号和吨(即,路径最小化总边缘长度)。假设非负边长,算法多种多样,问题很容易解决。we∈R+0,e∈Ewe∈R0+,e∈Ew_e\in\mathbb{R}_0^+,\,e\in Es,t∈Vs,t∈Vs,t\in Vsssttt 例如,这对于我们走路的情况是一个很好的模型。顶点是我们道路网络中的十字路口,每个边都有固定的长度-例如,以米为单位。边缘权重另一种可能解释是我们从一个顶点到另一个顶点所花费的时间。这是我现在很感兴趣的解释。wewew_e 问题 我现在想对以下情况建模。我想通过公共交通工具从城市的A点到B点旅行,并尽量减少时间。正如您所期望的,公共交通网络可以轻松地建模为有向图。有趣的部分是边缘权重(用于模拟时间)-公共交通工具(例如公交车)仅在特定间隔内离开,每个停靠点都不同(图中的顶点)。换句话说-边缘权重不是恒定的,它们根据我们要使用边缘的时间而变化。 如何建模这种情况:我们有向图和边缘权重函数瓦特:È × [R + 0 → - [R + 0这需要时间作为它的参数和返回的时间,它需要使用在我们的道路上前进。例如,如果从顶点v到顶点u的巴士在t = 10离开并且需要5个小时,我们在t = 8到达顶点vG=(V,E)G=(V,E)G=(V,E) w:E×R+0→R+0w:E×R0+→R0+w\colon E\times \mathbb{R}_0^+\rightarrow\mathbb{R}_0^+vvvuuut=10t=10t=10555vvvt=8t=8t=8,则是边缘权重。显然,w (v u ,10 )= 5。w(vu,8)=7w(vu,8)=7w(vu,8)=7w(vu,10)=5w(vu,10)=5w(vu,10)=5 定义路径的总权重有些棘手,但是我们可以递归地进行。令为有向路径。如果k = 1,则w (P )= 0。否则,w (P )= w (P ')+ w (v …