码迷,mamicode.com
首页 > 其他好文 > 详细

最强头脑决定战中的尼姆博弈

时间:2015-12-04 01:03:13      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

  最近看了一个日本综艺——最强头脑王决定战,顿觉以前看过的国内烧脑节目,类似“一站到底”之流与之相比真是相形见绌。“一站”说到底只是比谁题库背得熟,而日本这个真的是记忆、计算、观察、推理等各种能力的综合考察,比赛选手们各显神通,观众如我看得也是如痴如醉。

  其中比赛到第二轮时有一道题如下:有四堆不同色的棋子,每堆分别有3、5、6、7枚,由选手和电脑开始依次从其中取出一些棋子,每次只可取同一堆的任意枚,如此交替直至取完所有棋子,谁取到最后一枚棋子谁输。
技术分享  当时水上小哥不假思索地取子很轻松就赢了,让评委们大为惊讶。其实这个题目的背景是博弈论里的尼姆博弈(Nimm Game),根据初始堆数和每堆棋子数的不同,有一个玩家是有必胜策略的。不过在现场那种紧张的氛围下,能准确地心算出自己的每步策略也不容易。

  尼姆博弈归结到最后其实是很简单的奇偶性问题,让我们把将各堆棋子以二进制表示如下:\begin{align*} \begin{matrix} 3: & 0 &1 & 1 \\ 5: & 1 & 0 & 1 \\ 6: & 1 & 1 & 0 \\ 7: & 1 & 1 & 1 \\ \end{matrix} \end{align*}由于棋子最多的一堆是7个棋子,因此二进制表示只需要3位。下面我们考察每一列1的个数,如果每一列1的个数都是偶数的话,就称目前的棋盘状态为“平衡态”,否则就称为“非平衡态”。由于每次只能在一个堆中取棋子,这意味着每次只能对某一行的01串的部分位置进行翻转,若本来棋盘状态是平衡态的话,则对某一行无论怎么操作,都只会将棋盘变成非平衡态。

  下面我们再来看一下这道题,初始时为非平衡态,\begin{align*} \begin{matrix} 3: & 0 &1 & 1 \\ 5: & 1 & 0 & 1 \\ 6: & 1 & 1 & 0 \\ 7: & 1 & 1 & 1 \\ & 3 & 3 & 3 \end{matrix} \end{align*}水上小哥将第四堆的7枚棋子全部取走,这时棋盘变成了如下的平衡态\begin{align*} \begin{matrix} 3: & 0 &1 & 1 \\ 5: & 1 & 0 & 1 \\ 6: & 1 & 1 & 0 \\ 0: & 0 & 0 & 0 \\ & 2 & 2 & 2 \end{matrix} \end{align*}于是电脑接下来无论怎么取,都只会将棋盘再次变成非平衡态,然后水上小哥接着再将棋盘变成平衡态,电脑再次变成非平衡态……如此交替,最终到电脑将棋盘变成只剩一堆的非平衡态时,水上小哥只需将这一堆取到只剩1个棋子就赢了。

技术分享

  事实上先手的必胜取法并不是唯一的,但水上小哥说的先手有4种取法也是不对的,可能的取法小于等于总堆数。因为固定其他三堆,通过操作剩下的那一堆将棋盘变成平衡态的方法是唯一的,因此对于每堆最多只有一种操作方法。但是也有操作方法不存在的情况,还是这个例子,固定第二、三、四堆,第一堆只有变成100,即4枚棋子才能达到平衡态,但这种取法是不存在的;另外三堆倒是不存在这个问题,对应的取法分别如下:\begin{align*} \mbox{第二堆:} \ \ \ \begin{matrix} 3: & 0 &1 & 1 \\ 2: & 0 & 1 & 0 \\ 6: & 1 & 1 & 0 \\ 7: & 1 & 1 & 1 \\ & 2 & 4 & 2 \end{matrix} \ \ \ \ \ \ \ \ \ \ \ \mbox{第三堆:} \ \ \ \begin{matrix} 3: & 0 &1 & 1 \\ 5: & 1 & 0 & 1 \\ 1: & 0 & 0 & 1 \\ 7: & 1 & 1 & 1 \\ & 2 & 2 & 4 \end{matrix} \ \ \ \ \ \ \ \ \ \ \ \mbox{第四堆:} \ \ \ \begin{matrix} 3: & 0 &1 & 1 \\ 5: & 1 & 0 & 1 \\ 6: & 1 & 1 & 0 \\ 0: & 0 & 0 & 0 \\ & 2 & 2 & 2 \end{matrix} \end{align*}所以先手时一共有3种取法。

  此外,堆数也不限定于4堆,可以有更多,策略也是跟上面一样。但堆数增多,计算量(2进制和10进制的互换)也跟着加大,心算或许就不能了。

 
 
 

最强头脑决定战中的尼姆博弈

标签:

原文地址:http://www.cnblogs.com/murongxixi/p/5018063.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!