中文

经典多处理器水杯游戏中最优积压的达成

数据结构与算法 2019-10-31 v1

摘要

nn 个杯子的 pp 处理器水杯游戏的每一步中,填充者将至多 pp 单位的水分配到各杯中,仅受限于任一杯接收的水不超过 11 单位;随后清空者从 pp 个杯中各移除至多 11 单位的水。为清空者设计使积压(即最满杯的高度)最小化的策略,对于处理器调度、网络中的缓冲管理、服务质量保证以及去均摊等应用十分重要。我们证明贪心算法(即清空最满杯算法)对任意 p1p \ge 1 均可达到积压 O(logn)O(\log n)。这解决了 p>1p > 1 时一个长期存在的开放问题,并且只要 n2pn \ge 2p 便是渐近最优的。若填充者为遗忘型对手,则我们证明存在一种随机化清空算法,可在 2polylog(n)2^{\operatorname{polylog}(n)} 步内以 12polylog(n)1 - 2^{-\operatorname{polylog}(n)} 的概率达到积压 O(logp+loglogn)O(\log p + \log \log n)。当 nn 相对于 pp 足够大时,已知此为渐近最优。该随机化算法的分析亦可重新解释为对确定性贪心算法的平滑分析。此前,对于 p>1p > 1 唯一已知的积压界,以及对于任意 pp(包括 p=1p = 1 时)唯一已知的随机化保证,均需借助资源扩增,即填充者每步至多分配 p(1ϵ)p(1 - \epsilon) 单位水,而清空者随后被允许从 pp 个杯中各移除 1+δ1 + \delta 单位水,其中某些 ϵ,δ>0\epsilon, \delta > 0

关键词

引用

@article{arxiv.1910.13533,
  title  = {Achieving Optimal Backlog in the Vanilla Multi-Processor Cup Game},
  author = {William Kuszmaul},
  journal= {arXiv preprint arXiv:1910.13533},
  year   = {2019}
}