中文

洪水填充游戏的复杂性

数据结构与算法 2011-06-10 v3

摘要

我们研究了流行的单人组合游戏 Flood-It 的复杂性。在该游戏中,玩家面对一个 n×n 的瓷砖棋盘,每个瓷砖被分配了 c 种颜色之一。目标是通过尽可能短的洪水填充操作序列使所有瓷砖的颜色相同。在标准版本中,一次洪水填充操作包括玩家选择一种颜色 k,然后将与左上角瓷砖相连的单色区域中的所有瓷砖颜色更改为 k。执行此操作后,已经属于所选颜色 k 的相邻区域也将连接起来,从而扩展棋盘的单色区域。我们证明,对于 c≥3,找到最少的洪水填充操作次数是 NP 难的,并且即使玩家可以从棋盘上的任何位置执行洪水填充操作,这一结论仍然成立。然而,我们表明,对于 c=2,这种“自由”变体属于 P 类问题。我们还证明,对于无界数量的颜色,当棋盘高度至少为 3 时,Flood-It 仍然是 NP 难的,但对于高度为 2 的棋盘则属于 P 类问题。接下来,我们展示了如何推导出 c-1 近似算法和随机化的 2c/3 近似算法,并且除非 P=NP,否则不存在独立于 c 的多项式时间常数因子近似算法。然后,我们研究了“最苛刻”的 n×n 棋盘(需要最多步数的棋盘)需要多少步,并表明该步数增长速度为 Θ(n*c^0.5)。最后,我们考虑了瓷砖颜色随机选择的棋盘,并表明对于 c≥2,以高概率淹没整个棋盘所需的步数为 Ω(n)。

关键词

引用

@article{arxiv.1001.4420,
  title  = {The Complexity of Flood Filling Games},
  author = {Raphael Clifford and Markus Jalsenius and Ashley Montanaro and Benjamin Sach},
  journal= {arXiv preprint arXiv:1001.4420},
  year   = {2011}
}

备注

20 pages, 10 figures