- 在线时间
- 138 小时
- 最后登录
- 2018-11-1
- 注册时间
- 2015-8-26
- 听众数
- 13
- 收听数
- 0
- 能力
- 0 分
- 体力
- 366 点
- 威望
- 0 点
- 阅读权限
- 30
- 积分
- 146
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 70
- 主题
- 23
- 精华
- 0
- 分享
- 0
- 好友
- 17
升级   23% TA的每日心情 | 难过 2016-5-14 14:04 |
|---|
签到天数: 18 天 [LV.4]偶尔看看III
- 自我介绍
- 软件开发工程师
 |
=========================================
! B6 O- M4 d0 y3 l. l7 |最短路径中的Floyd算法(弗洛伊德算法)的较为严格的冥想证明过程:
0 l5 C/ ], ]! ^5 H+ y& F8 O7 x仍用数学归纳法, c& b: s& p" f! ?; ~3 R4 G
假设N<=n时,弗法正确。具体值我就不验证了。5 f" q+ ~3 H# o1 y) h7 l
当N=n+1时,假设最新一点最后一点为K,此时K=n+1,' n" e( U$ ?9 U: H* D
三重循环中,我们都把K排在循环中的最后一位。
% @. l8 g. R' @/ g现在我们要证明的是,加上新点K点后,经过弗法的三重循环,原来的n点之间仍是最短距离,但是n点与K点之间的短离是不是最短的就不知的。
6 ?4 O" D p4 z7 l如果原来的n点的某两点之间最短距是与K点无关的,显然经过三重循环后,就是最短距了。3 C* t- y9 E7 I' O4 A' ~
如果原来的n点的某两点之间最短距是经过K点的,假设P1,P2,P3,,,Pk-1,Pk,Pk+1,,,Pm本应是实边最短距,不是虚边最短距。
* U6 c& c, G4 I! w$ ~那么由弗法知,P1,P2,P3,,,Pk-1与PK+1,,,,Pm已是连通的最短路了。且Pk-1Pk与PKPK+1是原始实边,不是虚边。
- N1 z; }3 T" g8 Z, k) D5 q8 e经过最外层最后一次循环的松驰操作,必能连通P1,P2,P3,,,Pk-1,Pk,Pk+1,,,Pm。
( n, `& R- G. j h% R+ Z% U& i- Y所以得证:加上新点K点后,经过弗法的三重循环,原来的n点之间仍是最短距离,但是n点与K点之间的短离是不是最短的就不知的。
5 f0 ^9 o0 Y' w由于对称性,将K点置入内部,把P1点放到最后一点,原来的循环结果不会变的,
5 G, B: U* p2 _) x* { I8 X7 y3 W所以三重循环后,K点与原来的点(除P1外)的最短距,就可以求出来了。 N+ t* o# S* }! f
由于对称性,将K点置入内部,把P2点放到最后一点,原来的循环结果不会变的," y1 P- k" p2 G; p. v6 l0 H5 O
所以三重循环后,K点与原来的点(除P2外,但P1不除外)的最短距,就可以求出来了。
4 P" n! g0 @, ?9 c: F! n A所以K点与原来的n个点的最短距,也就已经求出来的了,仍是原来的三重循环也。
* A/ d3 z4 ]0 n) [, T+ r这样,弗法就可以较为严格的证明了。7 ]( ?# a1 Q" k( s& H( M
=========================================) V6 q( ^; Q* D4 a% d" S/ R
为何假设P1,P2,P3,,,Pk-1,Pk,Pk+1,,,Pm本应是实边最短距,不是虚边最短距???
( i: C1 g& `/ {& J: z2 W: k如果是虚边最短距,也可以转化成实边最短距,然后结果一样的。
# s1 M" A4 |5 {1 S& ]( \; [6 `=========================================
* D1 g C! s/ e' W2 v Z6 K0 m# b. T# {/ f# q- _: h3 k7 {5 U+ a
O0 P8 E3 e. V; w. _ |
zan
|