本节就之前给出的一部分性质进行严密的证明,而非通过“显然”等模糊的语句。
1、三角不等式性质
引理10:设G = ( V,E)为一个带权重的有向图,其权重函数 w :E→R,其源节点为s。那么对于所有边(u, v)∈E,我们有:
δ(s, v) ≤ δ(s, u) + w(u, v)
证明:假定 p 是从 s 到结点 v 的一条最短路径,则 p 的权重不会比任何从s 到 v 的其他路径的权重大,不过我们在此处特指了由s到u再到v的一条路径。
2、最短路径估计值的松弛效果
引理11:(上界性质)设G = (V,E)为一个带权重的有向图,权重函数 w : E→R,其源节点为s,并由Initialize_Single_Source(G, s)初始化,那么对于所有结点 v ∈V,v.d ≥ δ(s, v),并且该不等式在对图的边进行任何次序的松弛过程中保持成立,且:v.d取得下界δ(s, v)时,将不再发生变化。
证明:我们使用归纳法。
1、基础步骤:在初始化后,对所有结点 v ∈ V,v.d ≥ δ(s, v)显然成立。因为 v.d = ∞ 意味着所有的结点 v ∈V - {s},v.d ≥ δ(s, v),对于源节点,我们单独考虑:若 s 在一个权重为负值的环路上,那么δ(s, s) = -∞,否则为0.这一位置 s. d = 0 ≥ δ(s, s)必然成立。
2、归纳步骤: 考虑对边(u, v)的松弛操作。根据归纳假设,在松弛前,对所有 x ∈ V,我们有x.d ≥ δ(s, v)。而在对边(u, v)进行松弛操作的过程中,唯一可能发生改变的d值仅有v.d,如果该值发生改变,有:
v. d = u. d + w(u, v) ≥ δ(s, u) + w(u ,v) ≥ δ(s, v)(三角不等式)即得到维持。
3、最终,在v. d = δ(s, v)时,注意它达到其取值的下界后, v.d 无法减小,因为刚刚证明了 v.d ≥ δ(s, v)——而松弛操作是对当发现一条权值相对较少的路径时,才将其更替为v.d。即松弛操作不增加d值——