数字游戏“数三十”与博弈论

这两天刷到一个岳云鹏玩数字游戏“数三十”的视频,很有意思。从1开始依次数到30,每人每次说1或2个数字,谁说出30算谁输。

和我们家大姑娘玩了几把,她每次都输,说我是狡猾的狐狸。小姑娘看我们玩得起劲,也要凑热闹,前头数数都很自信,等到发现自己不得不说30时才反应过来,憋着不说话。我们催她,她有点生气地说:“哼,我要睡觉了,不想玩游戏了。”

解法

观察发现,你只有说出29,才能让对方说出30。依次类推发现,2、5、8、11、14、17,20、23、26、29,一定要抢到这个数。 一旦我们抢到了要的数字,游戏就进入了可以掌控的阶段,我们让每轮固定增加3个数字,就可以保证之后每次都能抢到心仪的数字。 这里每轮的3个数是重点。原本每轮总数是不确定的,2、3、4都有可能,但2和4都需要依赖对方的数字,只有3是我们可以依据对方的出牌而控制住。 30是3n,我们必须抢3n-1,这样才能让对方说出3n。

抢三十

题目可以演化下,谁抢到30谁就赢。这时候我们就抢3n。

数四十

题目还可以再演化下,每人说2~3个数字,谁说出40谁输。这时候就要抢5n-2的数字,比如38、33。

底层原理

如果参与者的行动有先后顺序,并且后者是在了解前者策略的前提下制定自己的策略,这种情况就是动态博弈。

比如下象棋、打扑克,都是动态博弈。

在动态博弈每一步的决策中,博弈参与人既要向前看,又要向后看。向前看的目的是预测博弈的可能结果,向后看的目的是从既成事实中确定有用信息。

这个数字游戏中只是双方博弈,当两方都了解数学原理后,就不好玩了。如果换成三方博弈,博弈技巧就凸显出来了。

我们用倒推法,假设数到了26。A有几种选择。

  • • A:26 B:27,28 C:29 => A输,B为了保证自己没有危险,肯定会说27,28,所以只有这种情况。

  • • A:26,27 B:28 C:29 => A输

  • • A:26,27 B:28,29 => C输

综合考虑后A会选择说26,27,至少有一半几率不输。

那往前推一步,数到25,C的最优策略是什么呢。

  • • C:25 一半概率C输

  • • C:25,26,A:27,28,B:29 => C必输。

所以数到25的人,会选择单念一个25。

再往前一步,数到24的人,一定会选择单念24,是必胜。

这样可以推演出最后几步的结果:24,25,26-27,28-29或28,29。

这个是很有意思的,可以继续再往前推导。不过小能手今天日更deadline到了,先交个差。


IoT小能手twowinter的其他精彩文章:

* 动手创造

13块钱DIY微信小程序远程浇花神器

自制一个 LoRa PM2.5 监测器

语音控制智能家居的抽风小仓鼠

* 技术分享

LoRaEdge LR1120 卫星直连通信解读

深度报道 第1个从太空发回的LoRa信号(含视频)

无线节点的空中唤醒技术解析

* 多元学习

文档啊,最重要的还是层次感

你没中过勒索病毒,不知道备份有多重要

你可能感兴趣的:(游戏)