和讯2017见习生笔试题_概率问题,用python验证蒙提霍尔题材

当时对这个问题也是似懂非懂,这题跟经典的三门问题很像

中期见到那多少个题目是初中的时候买了一本有关数学谜题的书里面概率论的一张的课后展开就是说到三门题材,当时同日而语一个恢宏阅读看了瞬间,里面说到了一个世界智慧最高的女士秒杀了美利坚同盟国一大群的数学高材生的精美故事(相比夸张),当时对那个问题也是似懂非懂。

一、题目

工程师 M 发明了一种游戏:M
将一个小球随机放入完全相同的多少个盒子中的某一个,玩家选中装有球的盒子即获胜;最先时
M 会让玩家拔取一个盒子(拔取其他一个得胜概率均为 1/3
);玩家做出取舍后,M 会打开没有被增选的六个盒子中的一个空盒,此时 M
会询问玩家是否变动接纳(可以坚韧不拔首先次拔取,也足以选拔另一个平昔不打开的盒子),下列叙述正确的有()。

A. 改选后,玩家大捷的概率仍然 1/3
B. 若不改选,玩家的战胜概率是 1/2
C. 无论怎么拔取,赢球的几率都是 1/2
D. 坚定不移原来的挑选获胜概率更高
E. 采用另一个不曾被打开的盒子获胜概率更高
F. 获胜概率取决于随机因素(如小球的其实地方)

何以是蒙提霍尔题材?

图片 1

蒙提霍尔

蒙提霍尔问题,亦称作蒙特霍题材或三门问题(英文:Monty 哈尔l
problem),是一个渊源博弈论的数学游戏题材,大致出自花旗国的电视机娱乐节目Let’s
Make a Deal。问题的名字来自该节目的主席蒙提·霍尔(Monty 哈尔l)。

初期的抒发是:

参赛者会映入眼帘三扇关闭了的门,其中一扇的末尾有一辆汽车,选中后边有车的这扇门就足以得到该汽车,而另外两扇门前面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的里边一扇,显露里面一只山羊。主持人其后会问参赛者要不要换另一扇如故关上的门。
题材是:换另一扇门会否扩展参赛者赢得汽车的机会率?

以此古老的题材如若提议就引起了激烈的争持,有人以为换与不换最后收获车的票房价值都是1/2,有人觉得换门之后拿到车的概率更大,应该拔取换门之后得到车的几率为2/3在写作这篇小说的时候在果壳上再有人在为此争吵,知乎上也有广大有关这地方的商讨,其实这几个争议很多场地下都是因这个题材的混淆表述所引起的,关键点在于召集人对于门后的气象是否了解

  1. 假设主席事先知道哪个门里有山羊并且他特意挑选了有山羊的门打开了,那么参赛者应该换另一扇门,这可以将他胜利的票房价值从1/3升到2/3
  2. 设若主席事先不知情哪位门里有山羊或者他只是随便的取舍了一个门,但实情发现其中恰好是山羊。那时候参赛者没有换门的必需,胜利概率总是1/2

为了继续的议论,这里运用维基百科上对此这多少个题材的不马虎的概念

从严的表达如下:

  • 参赛者在三扇门中采纳一扇。他并不知道内里有什么样。
  • 主持人知道每扇门前边有咋样。
  • 召集人必须开启剩下的里边一扇门,并且必须提供换门的时机。
  • 召集人永远都会挑一扇有山羊的门。
    • 比方参赛者挑了一扇有山羊的门,主持人必须挑另一扇有山羊的门。
    • 一经参赛者挑了一扇有汽车的门,主持人随机在另外两扇门中挑一扇有山羊的门。
  • 参赛者会被问是否维持他的本原选用,仍旧转而挑选剩下的那一道门。

那么这些题目这足以很好的知晓了,引用维基的一幅图片解析:

图片 2

蒙提霍尔解答

有两种可能的场合,全体都有卓殊的可能性(1/3):

  • 参赛者挑汽车,主持人挑两头羊的其他一头。转换将破产。
  • 参赛者挑A羊,主持人挑B羊。转换将赢得汽车。
  • 参赛者挑B羊,主持人挑A羊。转换将取得汽车。

就此玩家拔取换门之后胜球的票房价值应为2/3

二、解题

一起初看到这些题的时候,本人果断的选料了 A
,然后再仔细想了刹那间,不对啊,这题跟经典的三门题材很像,而且也要精通玩家首先次选取和是否变动接纳的三个事件不是相互独立的,由此答案不是其一了,具体答案是什么吧?也欢迎读者留言写下自己的观点。

况且答案往日,先来询问一下经文的三门问题:

三门问题( Monty 哈尔(Hal)l problem
)亦称作蒙提霍尔题材、蒙特霍题材或蒙提霍尔悖论,大致出自花旗国的电视机娱乐节目
Let’s Make a Deal 。问题名字来自该节目的主持人蒙提·霍尔( Monty 哈尔l
)。参赛者会映入眼帘三扇关闭了的门,其中一扇的前边有一辆汽车,选中前面有车的这扇门可拿到该汽车,此外两扇门前面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,暴露里面一只山羊。主持人其后会问参赛者要不要换另一扇仍旧关上的门。问题是:换另一扇门会否扩充参赛者赢得汽车的机率?如果严谨依据上述的尺度,即主持人清楚地知道,哪扇门后是羊,那么答案是会。不换门的话,赢得汽车的几率是1/3。换门的话,赢得汽车的几率是2/3。
本条题材亦被称作蒙提霍尔悖论:即使该问题的答案在逻辑上并不自相争执,但十分背离直觉。这题目曾引起阵阵强烈的议论。

证明?

图片 3

蒙提霍尔解答

定义:

  • 事件A为一方始玩家选用的一扇门
  • 事件H为尾声门后的结果

  • 假使是选用不换门的策略

因为拔取的是不交流的政策,所有唯有一起来选中的是汽车,最后才能当选汽车。

  • 分选互换门的方针

因为拔取的是换成的国策,所有只有一开端选中的是羊,最终才能当选汽车。

三门题材的解法:

三门题材总计有二种可能性:
(1)参赛者挑山羊一号,主持人挑山羊二号。转换将拿到汽车。
(2)参赛者挑山羊二号,主持人挑山羊一号。转换将获取汽车。
(3)参赛者挑汽车,主持人挑羊一号。转换将破产和参赛者挑汽车,主持人挑羊二号。转换将失败,不会赢得汽车。

这边要留意了,第两种可能的时候,概率依然 1/3 ,因为
1/31/2+1/31/2=1/3 ,所以地点的两种可能都是非常的,都是 1/3
。从上边对的两种意况可以看到,倘若参赛者重新拔取另一扇门的话,
拿到汽车的概率就会成为 2/3
,所以再度采用会越加的惠及。一起头这么些解释都不会令人折服的,因为这时我们还在纠结的是一伊始分配的几率是1/3,然后去除了一个尚未汽车的门后,三个挑选,所以概率就是
1/2 ,还有一种纠结就是不管我们怎么选,二种情形,每一回采用的概率都是 1/3
啊,当然,第三种采纳很容易就给推翻了,因为主持人明确的删减了一个不会博得汽车的门,因而概率不会是
1/3
的。一起始自我也在纠结这一个,查了弹指间,就经典的分解就是把门的数据增多,比如:

当今摆在咱们面前的有100扇门,唯有其中一扇门后是汽车,而其他的99扇门后都是山羊。好了,你拔取之中一扇门。自然,你挑选汽车的概率唯有1/100。

然后,知道汽车存放处的召集人一口气打开了99扇门中的98扇,其背后都是山羊。此时你可以锲而不舍最初的采取,也足以改变采取。你是否相应更改采取?你是不是还认为在你最初采用的门与其余99扇门中绝无仅有没有打开的这扇门背后有汽车的票房价值是同一的?

实况是,若是你拒绝改变,你只有在一从头就挑选了无可非议的门的状态下才能拿到汽车,这一个概率只有1%。在其它99%的意况下,你最初采取的是一个前边是山羊的门,而除此以外的98扇已经打开,你这时改变初期的选用就能够成功。所以,在99%的概率下,改变采用是不易的。

三门问题是一个悟性选用和机遇博弈问题,是有关不完全音信博弈中什么正确通晓概率的意思和几率变化的题目。可见这几个题目我们精心研讨一下,仍然得以做出正确的抉择的。

明确这多少个仍然不可能太令人接受,因此写个 JAVA 程序来效仿一下那些现象:

package com.liangdianshui;

import java.util.Random;

public class MontyHallProblem {

    public static void main(String[] args) {
        // 重复五次
        for (int i = 0; i < 4; i++) {
            montyHallProblem();
            System.out.println("----------------------------------");
        }
    }

    public static void montyHallProblem() {
        Random random = new Random(); // 这里不讨论Random为伪随机的问题
        int changeCount = 0;
        for (int i = 0; i < 1000000.0f; i++) { // 模拟一百万次
            // 假设有三个门
            int[] doors = new int[3];

            // 随机抽取一扇门 ,在门后放奖品
            int rIndex = random.nextInt(3);
            doors[rIndex] = 1;

            // 观众选的门号
            int randomSelect = random.nextInt(3);

            // 主持人从剩下的两扇门中排除一个
            while (true) {
                int randomDelete = random.nextInt(3);
                // 主持人不会打开参赛者已经选了的门(排除参赛者选择的门)
                if (randomDelete == randomSelect) {
                    continue;
                }
                // 主持人不会打开有奖品的门(排除有奖品的门)
                if (doors[randomDelete] == 1) {
                    continue;
                }

                for (int j = 0; j < 3; j++)// 换门
                {
                    if (j == randomSelect)// 不换门(因为我们要得到的是换门的概率,因此把不换门的排除掉)
                        continue;
                    // 排除主持人打开了那个门(因为门已经打开,所以不能换,排除掉)
                    if (j == randomDelete)
                        continue;
                    if (doors[j] == 1) {
                        changeCount++;// 换了门后中奖的次数
                        break;
                    }
                }
                break;
            }
        }
        System.out.println("换门中奖率:" + changeCount / 1000000.0f);
    }

}

说到底运行的结果:

图片 4

三门问题JAVA运行结果

基于结果可见,那里再一次了三遍,每一趟都效仿了一百万次的挑三拣四换门的事态,发现换门中奖的概念都是
0.66 左右,也就是 2/3 。

次第验证

履行是考查真理的唯一标准,在流言终结者看到他们人工重复那个实验区验证,发现这么很浪费时间。何通过总结机去去模拟这一段过程吧?
上边采纳python程序来模拟这一段过程:

from __future__ import division
import logging
from matplotlib import pyplot as plt
import numpy as np
import random


class MontyHall(object):
    """docstring for MontyHall"""

    def __init__(self, num=3):
        """
        创建一个door列表
        0 代表关门
        1 表示后面有车
        -1 代表门被打开
        """
        super(MontyHall, self).__init__()
        self.doors = [0] * num
        self.doors[0] = 1
        self.choice = -1
        self.exclude_car = False
        self.shuffle()

    def shuffle(self):
        """  
        开始新游戏
        重新分配门后的东西
        """
        if self.exclude_car == True:
            self.doors[0] = 1
            self.exclude_car = False
        for i in xrange(len(self.doors)):
            if self.doors[i] == -1:
                self.doors[i] = 0
        random.shuffle(self.doors)

    def make_choice(self):
        """
        player随机选择一扇门
        """
        self.choice = random.randint(0, len(self.doors) - 1)
        logging.info("choice: %d" % self.choice)
        logging.info("original: %s" % self.doors)

    def exclude_doors(self):
        """
        主持人知道门后的情况排除门
        直到剩余两扇门
        """
        to_be_excluded = []
        for i in xrange(len(self.doors)):
            if self.doors[i] == 0 and self.choice != i:
                to_be_excluded.append(i)  
        random.shuffle(to_be_excluded)
        for i in xrange(len(self.doors) - 2):
            self.doors[to_be_excluded[i]] = -1
        logging.info("final: %s" % self.doors)

    def random_exclude_doors(self):
        """
        主持人并不知道门后面的情况随机的开门
        直到剩余两扇门
        """
        to_be_excluded = []
        for i in xrange(len(self.doors)):
            if self.doors[i] != -1 and i != self.choice:
                to_be_excluded.append(i)  
        random.shuffle(to_be_excluded)
        for i in xrange(len(self.doors) - 2):
            if self.doors[to_be_excluded[i]] == 1:
                self.exclude_car = True
            self.doors[to_be_excluded[i]] = -1
        logging.info("final: %s" % self.doors)

    def change_choice(self):
        """
        player改变选择
        """
        to_change = []
        for i in xrange(len(self.doors)):
            if self.doors[i] != -1 and i != self.choice:
                to_change.append(i)
        self.choice = random.choice(to_change)
        logging.info("choice changed: %d" % self.choice)

    def random_choice(self):
        """
        player 第二次随机选择门
        """
        to_select = []
        for i in xrange(len(self.doors)):
            if self.doors[i] != -1:
                to_select.append(i)
        self.choice = random.choice(to_select)
        logging.info("random choice : %d" % self.choice)


    def show_answer(self):
        """
        展示门后的情况
        """
        logging.info(self.doors)

    def check_result(self):
        """
        验证结果
        """
        got_it = False
        if self.doors[self.choice] == 1:
            got_it = True
        return got_it

总结

足见大家以此面试题跟三门问题主题等同,所以最后摘取的答案是E,也就是采取另一个尚未被打开的盒子赢球概率更高。因为自己也从没合法的答案,倘使有异议的话,可以拓展留言。或者有错的地点,也可开展留言提议,本人会第一时间举行改动。

如法炮制1000轮,每一轮重复试验1000次

  • 不改动拔取:

def unchange_choice_test(n):
    """
    不改变初始的选择
    """
    result = {}
    game = MontyHall()
    for i in xrange(n):
        game.shuffle()
        game.make_choice()
        game.exclude_doors()
        if game.check_result():
            result["yes"] = result.get("yes", 0) + 1
        else:
            result["no"] = result.get("no", 0) + 1
    for key in result:
        print "%s: %d" % (key, result[key])
    return result["yes"] / n

if __name__ == '__main__':
    logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.WARNING)
    results = []
    test_num = 1000
    round_num = 1000
    for x in xrange(0,round_num):
        results.append(change_random_test(test_num) )

    y_mean = np.mean(results)
    y_std = np.std(results)
    x = range(0,round_num)
    y = results
    plt.figure(figsize=(8,4))

    plt.xlabel("round")
    plt.ylabel("frequency")
    plt.title("The frequency of the success")
    tx = round_num / 2
    ty = y_mean
    label_var = "$\sigma \left( X \\right)=$%f" % y_std
    label_mean = "$ X =$%f" % y_mean
    p1_label = "%s and %s" % (label_var,label_mean)
    p1 = plt.plot(x,y,"-",label=p1_label,linewidth=2)
    plt.legend(loc='upper left')


    pl2 = plt.figure(2)
    plt.figure(2)
    plt.hist(results,40,normed=1,alpha=0.8)
    plt.show()

结果:

图片 5

此间输入图片的讲述

概率分布:

图片 6

这里输入图片的叙述

成功的概率均值在 1/3 附近

  • 转移采取:

def change_choice_test(n):
    """
    交换选择的门
    """
    result = {}
    game = MontyHall()
    for i in xrange(n):
        game.shuffle()
        game.make_choice()
        game.exclude_doors()
        game.change_choice()
        if game.check_result():
            result["yes"] = result.get("yes", 0) + 1
        else:
            result["no"] = result.get("no", 0) + 1
    for key in result:
        print "%s: %d" % (key, result[key])
    return result["yes"] / n

相同的法子绘图得到结果:

图片 7

这边输入图片的讲述

概率分布:

图片 8

此间输入图片的叙说

得逞的票房价值均值在 2/3 附近

通过下边的辨析与模拟可知最佳的策略当然就是换门。

更是深远的研讨

  • 假若门的数量持续是3个,假如果50扇门呢?

图片 9

此间输入图片的描述

这种气象下,主持人打开48扇都是羊的门后,再给您接纳,很四人这么些时候应该就不会固守这1/2,而会拔取换门
把门的数额增大到100,1000,这种情景会愈发明朗。
抑或经过一段程序模拟表达:

def change_choice_test_large(n,m):
    """
    交换选择的门
    """
    result = {}
    game = MontyHall(m)
    for i in xrange(n):
        game.shuffle()
        game.make_choice()
        game.exclude_doors()
        game.change_choice()
        if game.check_result():
            result["yes"] = result.get("yes", 0) + 1
        else:
            result["no"] = result.get("no", 0) + 1
    for key in result:
        print "%s: %d" % (key, result[key])
    return result["yes"] / n


if __name__ == '__main__':
    logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.WARNING)
    results = []
    test_num = 1000
    round_num = 1000
    for x in xrange(0,round_num):
        results.append(change_choice_test_large(test_num,50) )

结果:

图片 10

图片 11

这会儿就要拔取交换门

  • 碰着这种意况我很纳闷,我主宰抛硬币决定,这几个时候成功的票房价值?

这是第3种政策,成功的概率和硬币有关,也就是1/2,这种景观就是从剩下的门中随机选择一扇,那一个方针从地点分析来看不是最好的,不过比不改动的国策要好。
先后的模仿结果:

图片 12

这里输入图片的叙说

图片 13

这边输入图片的讲述

  • 比如说门意外打开的气象吧,也就是地方描述的第三种情状(主持在不知门后的景观下打开门呢)?

这种场合下实际就是一个口径概率,事件A是玩家最终开到的是车,事件B是主席打开的门是羊。

因为只有主席开到是羊的状态下,玩家才有可能开到车所以

设玩家首先次拔取的门为事件C

  • 不交流策略下的规范概率是:

QQ截图20150510140602.png

  • 换成策略下的原则概率是:

于是在主持人不知情门后的状况下打开一扇,然后发现门后是羊的意况下,换门与不换门最后的几率都是1/2
还可以透过程序开展模拟:

def unknown_doors_choice_test(n):
    """
    主持人并不知道门后面的情况随机的开门
    交换选择的门
    """
    result = {}
    game = MontyHall()
    continue_count = 0
    for i in xrange(n):
        game.shuffle()
        game.make_choice()
        game.random_exclude_doors()
        game.change_choice()
        if game.exclude_car == False:
            continue_count += 1
        if game.check_result():
            result["yes"] = result.get("yes", 0) + 1
        else:
            result["no"] = result.get("no", 0) + 1
    #for key in result:
    #    print "%s: %d" % (key, result[key])
    logging.info("continue_count: %d" % continue_count)
    if continue_count == 0:
        return 0.0
    return result["yes"] / continue_count   

图片 14

此地输入图片的叙说

图片 15

此处输入图片的讲述

在这种状态下互换门也从未提升成功的票房价值


总结

前几日写的这篇东西也好不容易了然自己童年的一个不满,人的直觉有时候是很不可靠,要脱身个人局限的回味才能拥抱更大的世界。
哪些?看完这多少个分析,你还以为不如意那么您还足以从底下的参考中找找更好的分析,本文撰写过程有一些的图样引用自一下的参照,假若你还有疑问欢迎您关系我更是的座谈。

练习

下边是三门问题的五个翻版,引用自三门问题及相关

女孩的几率

  • 您结交一位新对象,问他是不是有子女。她说有,有三个。你问,有女孩啊?她说有。那么,六个都是女孩的几率是多少?

答:三分之一。因为生多个子女的可能性有四种等可能:BB、GG、BG、GB(即男男、女女、男女、女男)。
因为大家已知至少有一个幼女,所以BB是不容许的。由此GG是可能出现的六个等可能的结果之一,所以两个孩子都是姑娘的票房价值为三分之一。那对应了三门问题的第一种情况。

  • 你结交一位新对象,问他是否有儿女。她说有,有七个。你问,有女孩啊?她说有。第二天,你看见她带了一个小女孩。你问他,这是您姑娘呢?她说,是。她的六个孩子都是女孩的票房价值是不怎么?

本条概率和生女孩的几率一样,二分之一。这如同分外想得到,因为大家所负有的音信看起来并不比第一种意况时多,但概率却不比。可是此间的问题莫过于是,这些你没>见过的儿女是女孩的几率是多少?这一个概率和生女孩的票房价值一样,二分之一。
这对应了三门题材的第两种情况。当然这里也有语言问题,必须假定这位四姨不是特定带出一个小女孩来给您看的。也就是说你只是刚刚发现了它是位小女孩。这有赖于是判断选取或q
随机挑选。如果是被您刚好撞见这是属于自由接纳。这就对应了三门问题的第二种情况。这实则是增多了消息的。否则一旦他主动带一个小女孩过来给你,则属于判断选取。
你拿走的答案依赖于所讲的故事;它凭借于你是何等获悉至少一个男女是女孩的。

三罪犯问题

  • 亚当(Adam)、比尔(比尔(Bill))和查尔斯(Charles)被关在一个看守所里,唯有监狱看守知道谁会被判死缓,其余两位将会自由。有1/3的几率会被处死刑的Adam,给他三姨写了一封信,想要获释的比尔(比尔(Bill))或Charles帮忙代寄。当Adam问看守他应有把他的信交给比尔(比尔(Bill))依然查理时,那位有着同情心的看守很难堪。他认为一旦她把即将获释的人的名字告诉亚当(Adam),那么Adam就会有1/2的概率被判死刑,因为剩下的人和Adam这四人中一定有一个人被处决。假使他不说这消息,亚当(Adam)被行刑的几率是1/3。既然Adam知道其他五人中必有一人会放出,那么Adam自己被处决的几率怎么可能会因为看守告诉她其它多少人中被获释者的全名后而改变吧?

是的的答案是:看守不用当心,因为虽然把自由人的真名告诉Adam,亚当被处决的几率如故是1/3,没有改动。不过,剩下的那位没被点名的人就有2/3的票房价值被处决(被处决的可能提高了)。即使这多少个题目换一种说法,就是守卫无意间暴露了查尔斯(Charles)不会死。那么几率就会发出改变。
以此实际和三门题材是同等的。你可以把狱卒当成主持人,被行刑当成是大奖,那么这多少个是对应于三门题材的首先种情况,就是主席知道门后边的情状。狱卒说出什么人会被放走,相当于主席打开一扇门。但是因为三囚徒问题不可以拔取,也就相当于三门问题中的不换门的策略。最后的几率如故1/3是不曾发出变动的。
为了制止爆发歧义,规定一下:
1.只要(亚当(Adam),查理)被保释,那么狱卒会报告Adam:”查理被放出”。
2.假若(亚当(Adam),比尔)被放飞,那么狱卒会告诉Adam:”比尔(比尔)被释放”
3.只要(查理(Charles),比尔(比尔))被放出,那么狱卒会以1/2的几率告诉Adam:”查理(Charles)被放飞”或者”比尔(比尔(Bill))被放飞”
趣味就很明朗了,在看守说出比尔被保释的条件下,亚当(Adam)被放出的概率是?用标准化概率算一下。
概念事件:

A :狱卒说出”比尔(Bill)被假释”
B :代表Adam被放出。

图片 16

这怎么时候才是1/2的票房价值呢?
平整3更改为:如若(查理(Charles),比尔(Bill))被保释,那么狱卒会报告亚当”比尔被放出”
以此时候总结就是:

图片 17

那假设规则3改为:假设(查理(Charles),比尔(比尔(Bill)))被保释,那么狱卒会报告Adam”查理(Charles)被放出”
其一时候:亚当(Adam)被放飞的票房价值就会成为1
题目在于规则2和规则3下说”比尔(比尔)被放出”不是等概率暴发的。

恍如的问题还有

  • 抛两枚硬币其中有一枚硬币是正当,问两枚硬币都是正面的票房价值是?
  • 抛两枚硬币其中第一枚硬币是体面,问两枚硬币都是体面的概率是?

the end.


参考:

  1. 蒙提霍尔问题 –
    维基百科,自由的百科全书

  2. 三扇门问题 |
    左岸读书

  3. 蒙提霍尔问题(又称三门题材、山羊汽车问题)的正解是何许?

  4. 意思编程:三门问题

  5. 三门题材及有关

  1. 换仍旧不换?争议没有停止过的三门题材

  2. 在「三门题材」中,参与者应该采纳「换」依旧「不换」?主持人是否知情门后情况对结论有何影响?

  3. THE MONTY HALL
    PROBLEM

  4. 流言终结者第九季

  5. 某个家庭中有 2
    个娃娃,已知其中一个是女孩,则另一个是男孩的几率是多少?-新浪

  6. 从贝叶斯定律的角度理解“蒙提霍尔问题”和“五个囚徒问题”

  7. 两个囚徒问题,求解?


改进日志:

  • 2015-05-20 扩充三囚徒问题的解答
  • 2015-05-09 第一次创作