为什么用博弈论讨论派对推理游戏会不好玩

Game

下面的这个 party game 的创意来自于清华大学的一位同学。

现在有 \(n\) 个人玩一个游戏,需要一个裁判/上帝/法官。

  • 开局时,裁判使用某种方法随机生成一个词语(可以采用《谁是卧底》生成器,但只需要一个词),然后在 \(n\) 个人中随机两个,分别叫做“卧底”和“先知”。裁判会让这两个有身份的人知道这个词是什么;其他人(称作“平民”)不知道这个词是什么。先知和平民属于同一个阵营;卧底属于自己的阵营。
  • 游戏过程中,玩家之间可以互相交流。
  • \(n\) 个玩家坐成一圈,从某个人开始逆时针转,每个人轮流向裁判提一个是否问题,这个问题需要和词语相关。例如,可以问“这个词是不是两个字的”“这个词是不是一个名词”“这个词是不是一种饮料”“这个饮料是不是一般冰着喝”“大学生喝不喝这个东西”“这个词是不是「白兰地」”等。
    • 这一问题必须是 1bit 回答的,且必须是“是否”问题,例如“这个东西是固体还是液体”不合法。
    • 裁判必须尽合理努力回答这一问题,例如“这个饮料是不是冰着喝”可以百度搜索回答;但对于“大部分大学生会不会经常喝这个东西”这种不能简单找到答案的,裁判可以回答“不知道”。这种问题视作轮空。
    • 玩家可以主动轮空,但连续 \(n-1\) 次轮空之后,下一个人必须提问。
    • “这个词是不是「某某」”这种问题如果收到 yes 的答案,即平民阵营猜出来了这个词,游戏进入终局 A
    • 裁判会记录回答“是”“否”的次数(例如上面的六个问题,答案是 no yes yes yes no no 的话,就是“是”“否”各三次),这两个计数器一旦到达 \(C_\mathrm{max}=10\),游戏会进入终局 B
  • 终局 A:平民阵营猜出来了隐含词是什么。此时,卧底揭示自己的身份,然后必须进行一个猜测:猜测谁是先知。如果卧底猜中,卧底胜利;否则平民阵营胜利。
  • 终局 B:是否计数器中的任何一个到达 10。此时,所有玩家进行一次投票,每个玩家可以选择另一个玩家(或者弃票)。投票结果中,如果卧底被众数票票出,则平民阵营胜利(多个众数票时,只要卧底在其中就算);否则,卧底胜利。

下面是一局游戏的例子。这是我们今晚约饭的时候的真实游戏记录(但我可能忘记许多)。注意下面的很多用词都非常精确,有悖于正常人派对游戏的风格。由于约饭只有四个人,因此 \(n=3\)

玩家是甲乙丙三人,裁判是我。

裁判发牌。玩家身份和答案词语在这一段记录的最末尾,如果想自己观察游戏猜测的话可以先不看。注意下面不以“某某提问”开头的句子都是游戏中自由讨论。

甲提问:这是一个汉语的正常词汇吗?
裁判:是的,1-0。
丙:你这提问也太浪费了吧……那肯定是词语啊。
裁判(解释):这是某个谁是卧底生成器里面的东西,还算是比较规整的词语。

乙提问:这是一个真实存在的东西吗?或者说,这个东西是物理上存在的吗?
裁判:是的,2-0。

丙提问:这个词语是四到六个字的吗?
裁判:不是,2-1。

甲提问:这个词语是三个字的吗?
裁判:是的,3-1。

乙提问:你能不能在两个小时内获取到这个东西?
裁判:这什么意思啊?
乙:如果我要求你这么做,你能不能从现在开始两个小时以内,购买或者获取到这个词语描述的东西,然后回到这个地方?
裁判:可以吧,4-1。

丙:我现在是不是应该搞一个答案是否定的来平衡一下
甲:是的吧,否则后面问题就局限比较大。
丙提问:这个词是那种前面一个形容词那种修饰后面的名词的结构吗?
裁判(迷糊):我猜你说的是偏正短语……它不是偏正结构。4-2。

甲提问:这个东西可以吃吗?
裁判:什么叫吃呢?
甲:就字面意思啊,常用意思。
裁判(犹豫很久,思考):如果你说是可以放到嘴里并且咽下去的话……
甲(打断):就吃啊,吃,吃饭的吃!
裁判:那好吧,那就“不能吃”,4-3。

乙提问:多数大学生能不能接触到这个东西?
裁判:可以,5-3。

丙提问:这个东西可以在化工厂里见到吗?是化工原料吗?
裁判:你这是两个问题,我回答第一个。不能。5-4。

甲提问:这是鸡尾酒吗?
裁判:不是。5-5。
丙:你这前面不是都问过能不能吃了吗?

乙提问:一家餐馆会提供这个东西吗?
裁判:我把“一家餐馆”理解成存在量词,是的,有餐馆会提供这个东西。6-5.

丙:诶,不是说不能吃吗?
乙:这个应该是喝的吧,你看裁判那个问题思考了这么久,肯定是在判断吃是否包含喝。
丙:那么
丙提问:这个东西的主要成分在 \(0.9\) 个大气压下的沸点是否高于纯水在 \(1\) 个大气压下的沸点?
裁判:你一定要问这种问题吗……否,6-6.

甲:算了,我就问一下吧。
甲提问:这个东西是不是饮料?
裁判:是的,7-6.

乙提问:清华里面能不能买到?
裁判:我又不是清华的,我怎么知道。我把你的问题理解成“北大里面能不能买到”行吗?
乙:虽然没什么信息,但也可以吧。
裁判:能买到,8-6.

甲:这计数器有点危险啊,问点期望否定的问题吧。
丙:好的。提问:这个词的第一个字是不是第一声?
裁判:不是第一声,8-7. 语言学信息和别的信息是正交的吧?你这信息有什么任何用处吗?
丙:可以排除一些猜测嘛。

甲:我提问可以主动翻转布尔方向来改变分布的吧,就问一个问题的反面
裁判:可以的吧。
甲提问:这个是不是 不是酒?
乙:什么是酒是不是有歧义的啊。
甲:就,(比划)那种直接酿造或者勾兑的酒精饮料……
裁判:它是一般意义下的酒,你的问题答案是负面的,8-8.

乙:快到决赛圈了啊。
丙:我怎么一个都想不出来啊,
甲:这个剩下的可能性反而很多吧。
乙:真的吗?
乙提问:多数大学生会不会日常、经常喝这种东西?
裁判:我怎么知道「多数大学生」怎样行为啊。无效问题,pass。

丙提问:大部分人在喝这种东西的时候,是不是在 \(15\) 摄氏度以下的温度喝的?
裁判:草,怎么你老是问这种问题。(打开百度百科)是的,这个东西一般是冰着喝的。9-8。

甲:我最近一个月喝过这种东西吗?
裁判:不知道,我怎么知道你喝过什么,无效问题 pass。

乙提问:这个东西的原产地、发源地、酿造地点或者主要生产地是否不在国外?
裁判:怎么你们提问一个个都说的这么滴水不漏,服了。否定,它是国外饮料。9-9,决赛圈了,丙你认真想想。

丙:靠,这很多啊,什么伏特加、朗姆酒、白兰地之类的。
乙:那你为什么不猜一个啊,反正都决赛圈了,也不用关心答案偏好什么的。
丙:但问题是我如果猜到了,是不是卧底至少有 50% 胜率啊。反而我没猜到的话我可以读身份来增大胜率?
甲&乙:是哦。
丙:那我摆烂了行不行啊。
甲:行的吧,没人拦得住你。
丙提问:这个词语是不是「易建联」?
裁判(大笑不止):草,不是,9-10,进入投票环节。
裁判:你们三个 QQ 私聊我投票。

甲投给了乙,乙、丙投给了甲。终局 B 游戏结束,好人阵营胜利。甲是卧底,乙是先知。答案词语是「伏特加」。

Hack

游戏中有两个终局,A 与 B,其中 A 是卧底猜先知身份、B 是全员猜卧底身份。

我们在游戏中发现了一个结论:好人方只要猜词猜出来了,进入终局 A,那么卧底就有 \(\frac{1}{n-1}\) 的胜率下界;在 \(n=3\) 时尤其严重,这个胜率达到了 50%。因此,在人较少的时候,好人阵营甚至不愿意真的把词猜出来。

但是我们观察到,由于卧底知道答案,实际上卧底可以一开局完全不管别人任何信息、轮到自己就直接问裁判“这个词是不是{答案}”,进而直接进入终局 A、强行获得 \(\frac{1}{n-1}\) 胜率。因此,卧底具有终局 A 的胜率下界保证。

那么我们现在来分析一下 \(n=3\) 的时候,如果不进入终局 A,好人阵营可以怎么最大化自己的胜率。我们可以简单地发现一个胜率不低于一半的协议:

  • 每个人都摆烂,提出毫无用处的负面回答问题(“这个词是否既是两个字的又是三个字的?”),直到 0-9。
  • 0-9 时,平民空过(“上帝是否祝愿这个词?”),那么要么轮到先知、要么轮到卧底。这里轮到谁取决于开局随机排座次,因此一半一半。
    • 轮到先知时,先知提问自证身份、但不触发终局 A(“这个词是否不是{答案}?”),然后指挥剩下两个人互相投票。由于平票也算卧底,此时无论卧底是否遵守指挥,都会输。
    • 轮到卧底时,其可以选择进入终局 A 或 B。(此时先知不会暴露身份;暴露了就会被终局 A 直接带走。)终局 A 结果已经知道了。卧底假装自己是先知,进入终局 B 时,指挥两人互投,
      • 平民投先知。先知由于自己知道身份、一定投卧底。
      • 此时卧底可以随机选一个人投票,具有 50% 胜率。

上述协议如果不被卧底直接终局 A 破坏,好人阵营具有 75% 胜率,因此卧底不会允许这件事情发生。因此结论是,卧底的最优策略是直接开局的时候自爆,然后随机抽一个人。换言之,一个本来有着详细规则的 party game 的一个退化情况直接变成了抛硬币游戏。

所以结论是,派对推理游戏可能还是人多一点比较好玩。