The cup game on $n$ cups is a multi-step game with two players, a filler and an emptier. At each step, the filler distributes $1$ unit of water among the cups, and then the emptier selects a single cup to remove (up to) $1$ unit of water from. There are several objective functions that the emptier might wish to minimize. One of the strongest guarantees would be to minimize tail size, which is defined to be the number of cups with fill $2$ or greater. A simple lower-bound construction shows that the optimal tail size for deterministic emptying algorithms is $\Theta(n)$, however. We present a simple randomized emptying algorithm that achieves tail size $\tilde{O}(\log n)$ with high probability in $n$ for $\operatorname{poly} n$ steps. Moreover, we show that this is tight up to doubly logarithmic factors. We also extend our results to the multi-processor cup game, achieving tail size $\tilde{O}(\log n + p)$ on $p$ processors with high probability in $n$. We show that the dependence on $p$ is near optimal for any emptying algorithm that achieves polynomial-bounded backlog. A natural question is whether our results can be extended to give unending guarantees, which apply to arbitrarily long games. We give a lower bound construction showing that no monotone memoryless emptying algorithm can achieve an unending guarantee on either tail size or the related objective function of backlog. On the other hand, we show that even a very small (i.e., $1 / \operatorname{poly} n$) amount of resource augmentation is sufficient to overcome this barrier.
翻译:$$ 杯上的杯子游戏是一个多步游戏,有两个玩家,一个填充者和一个空格。 但是, 填充者每一步都会在杯子中分配1美元的水单位, 然后空格者会选择一个杯子, 以去除( 最多) 1美元的水单位。 有几种客观的功能, 空格者可能希望最小化。 最有力的保证之一是将尾巴大小最小化, 被定义为填充2美元或以上的杯数。 一个简单、 下调的构造显示, 确定性空算法的最佳尾巴大小是$( $( n) 美元) 。 我们展示一个简单随机化的空格, 以美元( 美元) 快速化的尾巴( 美元) 或以美元( 美元) 快速化的尾巴( 美元) 。 最短的尾巴( 最短的尾巴) 表示我們最接近的尾巴( 美元) 。