-id E outi[x]
在第r轮结束时是什么意思?
更一般地,该算法计算什么,也就是说
最后一轮结束时ID E outi[x]
是什么意思?
-让我们用相同的通信图G多次执行该算法。算法的结果是否始终相同?证明你的答案。
-假设所有进程同时启动算法,处理时间为零,并且每条消息采用一个时间单位,这就是算法的时间复杂度。
消息的复杂性是什么?
-现在让我们假设通道不是FIFO。证明算法不再正确如何修改算法,使其保持正确。那么必须携带的最少控制信息是什么?
`init infi←{idi}; newi ←{idi}; ri ←0.
(1) for ri from 1 to D do
begin asynchronous round
(2) ri ←r1+1;
(3) for each x∈channelsi do send MSG(newi) on channeli[x]end for;
(4) newi ←∅ ;
(5) for each x∈channelsi do
(6) wait (MSG(new) received on channeli[x]);
(7) let aux=new\(infi∪newi);
(8) outi[x]←outi[x]∪aux;
(9) newi ←newi ∪aux
(10) end for;
(11) infi←infi∪newi end asynchronous round
(12) end for;
(13) return(outi[1..ci]).`