硬币游戏的答案

前两天贴出了一个硬币游戏,希望寻找一种胜利策略。这是一个非常有意思的题目,没事做的时候可以用来锻炼思考能力。我迫不及待的想在这里公布解答,因为我已经把它解决掉了。如果有人还想继续享受思考的乐趣,请飘至原问题


n=4的简单情形,

Tony Liu和overwindows已经给出了正确答案:

  • 第一步:任一对角线翻转
  • 第二步:任一条边翻转
  • 第三步:任一对角线翻转
  • 第四步:任一个硬币翻转
  • 第五步:任一对角线翻转
  • 第六步:任一条边翻转
  • 第七步:任一对角线翻转 

这个策略分成两部分,前三步和后三部。前三步处理棋盘上有偶数颗正面朝上的硬币的情况。第四步把奇数颗正面朝上的情况转化成偶数颗正面朝上的硬币,然后重复使用前三步的策略即可。

这个策略可以直接推广到n=2^k的情形:

在给出策略前,先定义硬币状态为0如果正面朝上,为1若正面朝下。若干个状态的XOR和指状态的和除以2的余数。两个硬币对称是指两个硬币处于正多边形棋盘的直径上(此时n为偶数)。

假设S(k)n=2^k时的策略。我们来递归构造策略S(k)

(i). 如果棋盘上任何对称的硬币方向都相同,则将对角的硬币看成一个整体(同时操作)之后,2^k枚硬币转化成k-1的情形,调用 S(k-1)即可让所有硬币方向相同。此策略记为C_1

(ii). 如果棋盘上任何对称的硬币方向都相同或者同时都相反,类似(i),先调用C_1,若硬币方向都相同,则已经解决了问题。若否,注意到调用C_1的过程只会同时改变对称的两个硬币的朝向,这样调用C_1之后还是满足任何对称的硬币方向都相反,这时候,翻转连续的2^{k-1}个硬币,从而可以转化成(i)的情况。所以,策略C_2=(C_1, F(2^{k-1}), C_1)可以解决任何对称的硬币方向相同或者相反的情况。其中F(2^{k-1})表示翻转连续的2^{k-1}个硬币。

(iii). 接下来主要是把问题转化为(ii)中的情况。这时候只需要对某连续2^{k-1}枚硬币调用S(k-1)即可。这是因为如果我们把对称的硬币看成一个整体的话,则这次S(k-1)的每次操作都只作用于任何对称的硬币的其中一枚上。这样,如果我们考虑对称硬币状态的XOR和的话,S(k-1)的过程中会出现所有对称的硬币方向都相同或者都相反的情形,也就是(ii)中的情况。由于我们不知道这个状态在什么时候出现,所以在这个S(k-1)的每一步后,都需要执行一次C_2操作。另外要注意的是,C_2的操作不会影响外围的S(k-1)操作。

注:此策略的最优性未知。

n不是2的幂次时Alice没有必胜策略

考虑Alice的最后一步,如果Alice总是能够在最后一步或之前使所有硬币方向一样,假设她的最后一步是必要的(存在一种情况在最后一步才达到方向一致),假设Alice最后一步翻转的硬币是集合T,翻转后使得所有硬币都朝上或者朝下。由于Bob可以将棋盘任何旋转若干个位置,这说明对任何的旋转角度i=1,2,\cdots,n,均有T+i=T\ or\ \bar{T},其中集合T+i=\{t+i\mod n:t\in T\}。这只可能在n为偶数并且T为所有奇数位置或者所有偶数位置才可能达得到。

而若n=2^\alpha\beta并且\beta为大于1的奇数。这时候我们将所有硬币分为连续的\beta组,每组由连续的2^\alpha枚硬币构成。每组的状态(0或者1)是组内所有硬币状态的XOR和。如果Alice存在一个获胜的策略,那么在分组后的游戏中,Alice也应该总是能获得胜利。但如上一段所指出的,在奇数组的游戏中,Alice不可能获胜。从而导致了一个矛盾。

关于, »
  • 最佳约会策略 题外话:最近阅微堂发的都是网友转发的政治方面的文章,不爱看的人会比较痛苦。现在讨论一个轻松一点的话题。其问题,已经被研究了很多年,有...
  • 摸箱子问题以及在Static data structure problems上的应用 以前提到过,理论计算机这门课会邀请一些正在这边访问的教授来讲课,由于是本科生,所以这些教授一般都是讲些有趣的东西,比如之前的overhang 堆...
  • 37-rule-is-optimal Theorem: Any protocol of date problem has success probability less than \(\frac{u}{n}\sum\limits_{i=u}^{n-1}\frac1i\) which is about \(37\%\). Here \(u\) is the biggest number such that \(\sum_{i=u}^...
  • 帽子游戏一 在这个游戏的开头,我们设想自己要参加一个电视游戏大奖赛。规则呢,是这样。我们有 n 个人,作为一个小组来参加游戏。游戏中,主持人会给我们...
  • 帽子游戏二 这个题目听说是MSRA的面试题。 在这个游戏的开头,我们设想自己要参加一个电视游戏大奖赛。规则呢,是这样。我们有 n 个人,作为一个小组来参...
  • 策略游戏:医生和病人(I) 我很早之前就想过这个问题,但一直只知道一个trivial的答案。前两天无意中发现网上已经有高手给出了更好的方案,故记录在此。有兴趣的可以自己想...
  • 征集3个人分蛋糕的方法 Yao在课程《理论计算机II》的第一节课上提到的一个问题: 三个人如何平分一块蛋糕? 要求每个人拿到不少于1/3的蛋糕——这里指的是每个人认为自...
  • 飞机加油问题 珍爱生命,远离政治。今天我们讨论一个数学问题。 这个问题的一个基本版本是说,有N架完全相同的飞机停留在一个机场,每一架最多装的油可以支...
  • 硬币游戏 Alice和Bob两人玩一种硬币游戏。游戏在一个$$2\times2$$的棋盘上进行,棋盘上每个格子上都有一枚硬币。在每一回合,Alice可以决定选择翻转某两枚或者一...
11条留言 -> 跳到留言表格
  • At 2008.08.02 00:05, Roy said:

    想了我两天,当时就在n=8的时候卡住了,想如果n=8出个反例就ok了,结果做着做着越觉得n=8是可以的,然后就做出来了。

    • At 2008.08.22 17:22, dailiang said:

      这个推理问题背后的物理意义是什么呢?

      • At 2008.08.27 18:45, 遛遛 said:

        有些看不懂啊!

        • At 2008.08.27 18:48, 遛遛 said:

          我觉得应该与数字技术相联系,这样也许会发现其物理意义的所在!

          • At 2009.04.26 15:54, chenfashan said:

            你这个看起来很复杂的策略等同于一直简单的随机翻一枚硬币的策略,不可能在7步内必胜。当2枚硬币朝向相同时一共有2种排布情况,其中一种(对角线上的两枚硬币朝向相同)经过你前三操作可以胜利,但另外一种情况(对角线上的两枚硬币朝向不同)经过你的前三步操作之后,依然存在仅2枚硬币朝向相同的可能性。

            • At 2009.04.26 16:00, chenfashan said:

              最佳的策略是一直随机翻动一枚硬币,但不存在一个有限的步数,使得在该步数之内必胜。

              • At 2009.07.24 15:49, highfly said:

                对于2的n次方的情形,你的这种解法适合于圆盘不转的情况,对于如果有另外一个人在旋转圆盘且不知道如何旋转的话,从理论上讲,存在永远不会胜利的可能性。
                wugaofei_2005@yahoo.com.cn

                • At 2009.07.24 16:28, zhiqiang said:

                  你搞错了。

                  • At 2009.07.24 17:16, highfly said:

                    如果说什么时候旋转由Alice决定的话,那么解答就正确了;如果由旋转圆盘者决定的话就不妙了。但是如果是由Alice决定的话,这个旋转就没有什么意义了。

                    • At 2009.07.24 17:56, zhiqiang said:

                      我已经给出了我的解答,你如果觉得我是错误的,请指出我的错误之处。

                      如果你有自己的证明,也请给出证明。 all are science.

                • At 2009.07.24 17:10, highfly said:

                  why

                  (Required)
                  (Required, not published)

                    B | I | U | D | 添加链接 | 插入引用 | 插入代码 | 插入表情 | | + | ?
                  guest | 注册 | BBS | 管理 | English | 繁體 | https

                  阅微堂

                  zhiqiang's personal blog
                  Loading...
                  Loading...
                  Loading...