同步网络中的领导者选举与通用算法
1. 同步环中的领导者选举
在同步环的领导者选举问题中,有一些重要的理论和算法。首先,对于基于比较的算法,存在一个消息数量的下限。通过固定一个常量 $c$,可以得到一个大小为 $n$ 的 $c$ 对称环 $R$。定义 $k = \lfloor\sqrt{\frac{n}{2}}\rfloor$,当 $n$ 足够大时,有 $\sqrt{n} \leq 2k + 1$ 且 $\lfloor\frac{\sqrt{n}}{2}\rfloor > 2$。根据引理可知,存在至少 $k + 1$ 个活跃轮次。
在第 $r$ 个活跃轮次($\lfloor\frac{\sqrt{n}}{2}\rfloor + 1 \leq r \leq k + 1$),由于该轮次活跃,存在某个进程 $i$ 在该轮发送消息。设 $S$ 是 $i$ 的 $(r - 1)$ 邻域,因为 $R$ 是 $c$ 对称的,所以 $R$ 中至少有 $\lfloor 2c\sqrt{n - 1}\rfloor$ 个与 $S$ 等价的段。根据引理,在第 $r$ 个活跃轮次之前,所有这些段的中点处于相应状态,都会发送消息。
通过一系列推导可以得出,消息总数至少为:
[
\sum_{r = r_1}^{r_2} \frac{cn}{2r - 1}
]
其中 $r_1 = \lceil\sqrt{n}\rceil + 1$,$r_2 = k + 1 - \lfloor\frac{cn}{4}\rfloor + 1$。第二项是 $O(n)$,而第一项是 $\Omega(n \log n)$,这就证明了基于比较的算法的消息下限。
对于非比较算
超级会员免费看
订阅专栏 解锁全文
2328

被折叠的 条评论
为什么被折叠?



