返回信息流书上说“将端的权值除以2,再加到与之相邻的所有边上,这样新图的端就没有权,再用F算法求解。最后将终点的权从相应的总距离中除去,对距离做一点修正”。比如一个有向图,1端有权为8(在W矩阵中表现为W11=8),连接两条边a(入边),b(出边),那么是用8/4=2 仅仅加到b边,还是a、b边都要加呢,加了之后再用F算法,这时候该端所对应的W11是8还是0呢?最后得到的矩阵又该如何做处理呢 怎么从终点的权从相应的总距离中除去,端都没有权了 终点哪来的权呢? 万分感谢!!!
这是一条镜像帖。来源:北邮人论坛 / sice / #8915同步于 2013/3/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SICE机器人发帖
请问大神们 通信网理论基础F算法 端有权时如何处理
staeee
2013/3/7镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
【 在 staeee 的大作中提到: 】
: 书上说“将端的权值除以2,再加到与之相邻的所有边上,这样新图的端就没有权,再用F算法求解。最后将终点的权从相应的总距离中除去,对距离做一点修正”。比如一个有向图,1端有权为8(在W矩阵中表现为W11=8),连接两条边a(入边),b(出边),那么是用8/4=2 仅仅加到b边,还是a、b边都要加呢,加了之后再用F算法,这时候该端所对应的W11是8还是0呢?最后得到的矩阵又该如何做处理呢 怎么从终点的权从相应的总距离中除去,端都没有权了 终点哪来的权呢? 万分感谢!!!
你那个应该是8/2=4吧,要加到a和b上,w11应该是中间点,既有入边又有出边,对于起点和终点,在实际问题时要注意考虑。
不管是F算法还是D算法,都是最短路径的问题,你可以考虑一个实际问题,比如高速路收费,边上的权值就是油钱,端点就是高速路口。如果一个高速路口e可以从两个城市a1,a2驶来并去往三个城市b1,b2,b3,那你也只能从一个城市到另一个城市吧。a1到这里要油钱3块,a2是5块,出去的分别是1、2、3块,e收费10块。那么a1到b1要14块,a2到b3要18块,在编程解决时,往往把端点值得一般加到所有边上,及a1=3+5=8,a2=5+5=10同理b1/b2/b3=6/7/8。此时仍能得到上述结论。如果只考虑油钱就把两个5块减掉。
太感谢了!!!说得很详细,懂了!书上所谓起点终点是针对D算法来说的,对于F算法可能就没有了 因为是一个矩阵。再请问下 比如一个矩阵 0 14 100 100
100 2 1 7
100 100 4 2
5 100 100 0
可见2跟3端点有权分别为2和4,最后算得W4= 0 15 19 23
13 2 4 8
9 24 4 4
5 20 17 0
那么最终的矩阵就应该改为
W4’= 0 15-1 19-2 23
12 2 4-2-1 8-1
9-2 24-2-1 4 4-2
5 20-1 17-2 0
是这样吗?