中文

蜂鸣算法中的设计模式:示例、模拟与分析

分布式、并行与集群计算 2018-08-31 v4 数据结构与算法

摘要

我们考虑通过蜂鸣进行交互的进程网络。在 Cornejo 和 Kuhn (2010) 定义的基本模型中,进程在每一轮可以选择蜂鸣或监听。蜂鸣者无法检测到同时发生的蜂鸣。监听者只能区分静默和存在至少一个蜂鸣。我们将此模型称为 BLBL(蜂鸣或监听)。存在更强的模型,其中节点可以在蜂鸣时检测冲突(BcdLB_{cd}L)、监听时检测冲突(BLcdBL_{cd})或两者皆可(BcdLcdB_{cd}L_{cd})。蜂鸣模型本质上较弱,甚至简单任务在其中也难以实现或不可行。我们提出了一组通用构建块(设计模式),它们似乎在蜂鸣算法的设计中频繁出现。这些模式包括:多时隙阶段(将主循环划分为若干专用时隙);独占蜂鸣(在邻域内一次仅有一个节点蜂鸣,范围为一跳或两跳);自适应概率(增加或减少蜂鸣概率以产生更多独占蜂鸣);内部( resp. 外围)冲突检测(用于在蜂鸣时 resp. 监听时检测冲突)。基于这些模式,我们为若干基本问题提供了算法,包括着色、2-跳着色、度数计算、2-跳最大独立集(MIS)以及冲突检测(在 BLBL 中)。这些模式使得这些算法的表述相当简洁优雅。其分析更为技术性;其中一项分析显著改进了 Jeavons 等人 (2016) 提出的最佳已知 MIS 算法的分析。最后,受 Afek 等人 (2013) 技术的启发,我们的最后一项贡献是证明任何依赖冲突检测的 Las Vegas 算法都可以转换为无需冲突检测的 Monte Carlo 算法,其代价是对数级的减速,我们证明了这是最优的。

关键词

引用

@article{arxiv.1607.02951,
  title  = {Design Patterns in Beeping Algorithms: Examples, Emulation, and Analysis},
  author = {Arnaud Casteigts and Yves Métivier and John Michael Robson and Akka Zemmari},
  journal= {arXiv preprint arXiv:1607.02951},
  year   = {2018}
}

备注

Final version (accepted for publication in Information and Computation, Elsevier)