- 在线时间
- 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
- 自我介绍
- 软件开发工程师
 |
关于弗洛伊德算法发现的怪现象:: \+ A/ o* `1 g/ u% |- h, D: [
/ U4 H- l, {) x7 Z6 ]4 a
我在用实际顶点代入验证的基础上证实如下现象,无法用理论解释,个人感到弗洛伊德算法象哥德巴赫猜想一样,无法证明的。
$ u& W; x! @( U% b* ]7 o原来的弗洛伊德算法是:' L0 M8 ~* B) B! Z
For k:=1 to n
8 f) i% s+ H9 ], UFor i:=1 to n
* w) l! Z; I8 Z: _/ ^For j:=1 to n
( I3 m- o0 L' ^( P+ iIf D[i,j]>D[i,k]+D[k,j] Then D[i,j]:=D[i,k]+D[k,j];
2 U% d- n( A8 w4 u; l+ l我改成下面的形式,结果具体值代入仍是正确的,当然无法证明:
& z- U" I) r4 V4 [ D5 _For j:=1 to n
, C5 u- X+ Y2 O& g$ W. ]For i:=1 to n
: X ?5 m2 h, ?# Z2 Z/ KFor k:=1 to n
4 B: \) d. N+ r1 k% `2 C8 aIf D[i,j]>D[i,k]+D[k,j] Then D[i,j]:=D[i,k]+D[k,j];& H( `5 R2 @& p- S) K! i2 ?- e
我再改成如下形式,结果仍是正确的:
$ a! r1 U; I0 V ]# s8 wFor j:=1 to n' c$ E( e+ d/ h% ^- J& ^* d( L$ Y
For i:=1 to j-1+ e+ \9 v1 d; {
For k:=1 to n
* y3 Z3 w7 x5 `+ h, `6 ?$ ?If D[i,j]>D[i,k]+D[k,j] Then D[i,j]:=D[i,k]+D[k,j];1 n3 X& }' l S4 l- @9 @
如果我改成如下形式,结果出错,不行了:1 Y6 F5 [1 X1 n; o& V
For j:=1 to n$ i: I0 N) V1 C5 R$ L
For i:=j+1 to n" M* n4 t4 b6 ? T
For k:=1 to n% B7 }! E& H! E( h# B8 b
If D[i,j]>D[i,k]+D[k,j] Then D[i,j]:=D[i,k]+D[k,j];* @, e% t1 C) R, E, L
无法证明,只能用具体值来代入验证。
% u7 l( N5 l* R2 o0 i$ J/ ~ Z: q9 }! s- K
4 s: }' O* E" E: l/ S7 P |
zan
|