SSSP:Single Source Shortest Path

SSSP:Single Source Shortest Path

Maiter 4.2.1

SSSP算法广泛应用于社交网路和网页地图。给定一个点 s s s,SSSP算法算出在有向有权图中s节点到其余节点的最短距离。初始时,除节点 s s s到源节点的距离 d s 0 d_{s}^0 ds0初始化为 0 0 0外,其余每个节点 j j j s s s的距离 d j 0 d_{j}^0 dj0初始化为 ∞ \infty 。在每次迭代时, s s s j j j的距离 d j d_{j} dj根据下列公式进行更新:

d j k = m i n { d 1 k − 1 + A ( 1 , j ) , d 2 k − 1 + A ( 2 , j ) , . . . , d n k − 1 + A ( n , j ) , d j k − 1 } d_{j}^k=min\lbrace d_{1}^{k-1}+A(1,j),d_{2}^{k-1}+A(2,j),..., d_{n}^{k-1}+A(n,j),d_{j}^{k-1} \rbrace djk=min{d1k1+A(1,j),d2k1+A(2,j),...,dnk1+A(n,j),djk1}

其中 A ( i , j ) A(i,j) A(i,j)时节点 i i i到节点 j j j的边权,如果节点 i i i到节点 j j j不存在边,则 A ( i , j ) = ∞ A(i,j)=\infty A(i,j)=,直到收敛,即所有节点到源点 s s s的距离不再改变时,停止迭代。

(以下部分可不看,建议看完Maiter论文再看以下部分,不然很有可能看不懂)
据上,我们可以确定操作符 ⨁ \bigoplus 为“ m i n min min”,函数 g { i , j } ( d i ) = d i + A ( i , j ) g_{ \lbrace i,j \rbrace}(d_{i})=d_{i}+A(i,j) g{i,j}(di)=di+A(i,j)。显然,函数 g { i , j } ( x ) g_{ \lbrace i,j \rbrace}(x) g{i,j}(x)满足分配律,而操作符“ m i n min min”满足交换律和结合律。

(下面这句为论文原文,我认为有误,不知如何理解)
The initialization can be d j 0 = ∞ d_{j}^0=\infty dj0= and Δ d j 1 = 0 \Delta d_{j}^1=0 Δdj1=0 if j = s j = s j=s, or else Δ d j = 0 \Delta d_{j}=0 Δdj=0.

因此,SSSP可以使用DAIC(DAIC为此论文提出的方法)执行。此外,假设 Δ d j \Delta d_{j} Δdj用于通过“ m i n min min”操作累计接收到的距离值,则节点 j j j的调度优先级将为 d j − m i n { d j , Δ d j } d_{j}-min \lbrace {d_{j},\Delta d_{j}}\rbrace djmin{dj,Δdj}.

未完待续…

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值