- 在线时间
- 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
- 自我介绍
- 软件开发工程师
 |
关于弗洛伊德算法发现的怪现象:
3 W& d7 P, @: L6 ~( _: h* x; f9 I# D8 O: Q0 R6 ^# V- U( }( W
我在用实际顶点代入验证的基础上证实如下现象,无法用理论解释,个人感到弗洛伊德算法象哥德巴赫猜想一样,无法证明的。
8 f8 E6 I l! i" N* \原来的弗洛伊德算法是:
U, ?- H6 J+ C( ~3 k$ [ q+ ~For k:=1 to n
' B, g9 i# h+ N9 y3 y+ nFor i:=1 to n
$ m- G+ A1 Y' e M5 C" I: _1 {" sFor j:=1 to n1 F8 [' K0 X& ^0 `
If D[i,j]>D[i,k]+D[k,j] Then D[i,j]:=D[i,k]+D[k,j];
7 i }# K: C! x. h& ^我改成下面的形式,结果具体值代入仍是正确的,当然无法证明:8 v2 }1 T' c0 @- s
For j:=1 to n
6 ] J& q% W* MFor i:=1 to n
! \* @( R8 o3 y# t ?6 A8 o, }For k:=1 to n
d8 j* t: \, V6 }% R MIf D[i,j]>D[i,k]+D[k,j] Then D[i,j]:=D[i,k]+D[k,j];
- L0 I+ S7 R) U% L$ s- g我再改成如下形式,结果仍是正确的:- v7 [0 N. S' X+ D% U% T8 c
For j:=1 to n
. w4 }1 K5 Q/ c, ]For i:=1 to j-1$ L' Y# L) R" a6 q9 h) }
For k:=1 to n
/ X) p* n& z3 X6 ], g0 Y- t5 c# {0 J6 PIf D[i,j]>D[i,k]+D[k,j] Then D[i,j]:=D[i,k]+D[k,j];
& P$ ]6 V, s" O4 n; ?4 Y如果我改成如下形式,结果出错,不行了:
0 w( x. b& P: `For j:=1 to n
' p! ~ ~. a( ]7 E1 oFor i:=j+1 to n9 k$ X5 u$ g& p. E9 k
For k:=1 to n- A: N w& u4 {, s: S! d8 Z& n
If D[i,j]>D[i,k]+D[k,j] Then D[i,j]:=D[i,k]+D[k,j];
+ L& G) F0 o$ d/ v5 U$ D$ N& }0 _$ m% q无法证明,只能用具体值来代入验证。# S7 E7 \; o! ~. x% V
( l% W# i" _3 }: O/ C* Y6 T' d" t
) J8 s F9 }( C0 P% i5 e. X% V
|
zan
|