概率论基础问题讨论 - 蒙提霍尔问题(三门问题)

文章目录

  • 1. 问题描述:
  • 2. 一种数学证明方式:
  • 3. 一种直观讨论方式:
  • 4. 一种程序验证方式:

1. 问题描述:

三门问题(Monty Hall problem)亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论,大致出自美国的电视游戏节目Let’s Make a Deal。问题名字来自该节目的主持人蒙提·霍尔(Monty Hall)。参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。

2. 一种数学证明方式:

此问题涉及三个随机变量(是否换门并不是随机变量):

X : 正 确 的 门 ; X:正确的门; X

Y : 参 赛 者 选 定 的 门 ; Y:参赛者选定的门; Y

Z : 主 持 人 开 启 的 门 ; Z:主持人开启的门; Z

X , Y , Z 可 以 取 值 1 , 2 , 3 ; X,Y,Z可以取值1,2,3; X,Y,Z123

P { 选 手 换 门 后 获 得 奖 品 } = P { Y = b ∣ X = a , Z = c } = 1 − P { Y = a ∣ X = a , Z = c } ; P\{选手换门后获得奖品\}=P\{Y=b|X=a,Z=c\}=1-P\{Y=a|X=a,Z=c\}; P{}=P{Y=bX=a,Z=c}=1P{Y=aX=a,Z=c};

P { Y = a ∣ X = a , Z = c } = P { X = a , Y = a , Z = c } P { X = a , Z = c } ; P\{Y=a|X=a,Z=c\}=\dfrac{P\{X=a,Y=a,Z=c\}}{P\{X=a,Z=c\}}; P{Y=aX=a,Z=c}=P{X=a,Z=c}P{X=a,Y=a,Z=c};

P { X = a , Y = a , Z = c } = P { Z = c ∣ X = a , Y = a } P { Y = a ∣ X = a } P { X = a } = 1 2 × 1 3 × 1 3 = 1 18 ; P\{X=a,Y=a,Z=c\} = P\{Z=c|X=a,Y=a\}P\{Y=a|X=a\}P\{X=a\} = \dfrac{1}{2}×\dfrac{1}{3}×\dfrac{1}{3}=\dfrac{1}{18}; P{X=a,Y=a,Z=c}=P{Z=cX=a,Y=a}P{Y=aX=a}P{X=a}=21×31×31=181

P { X = a , Z = c } = P { X = a , Z = c , Y = a } + P { X = a , Z = c , Y = b } ; P\{X=a,Z=c\}=P\{X=a,Z=c,Y=a\}+P\{X=a,Z=c,Y=b\}; P{X=a,Z=c}=P{X=a,Z=c,Y=a}+P{X=a,Z=c,Y=b};

P { X = a , Z = c , Y = b } = P { Z = c ∣ X = a , Y = b } P { Y = b ∣ X = a } P { X = a } = 1 × 1 3 × 1 3 = 1 9 ; P\{X=a,Z=c,Y=b\}=P\{Z=c|X=a,Y=b\}P\{Y=b|X=a\}P\{X=a\} = 1×\dfrac{1}{3}×\dfrac{1}{3}=\dfrac{1}{9}; P{X=a,Z=c,Y=b}=P{Z=cX=a,Y=b}P{Y=bX=a}P{X=a}=1×31×31=91

所 以 P { X = a , Z = c } = 1 18 + 1 9 = 1 6 所以P\{X=a,Z=c\}=\dfrac{1}{18}+\dfrac{1}{9}=\dfrac{1}{6} P{X=a,Z=c}=181+91=61

P { 选 手 获 得 奖 品 } = 1 − 1 18 1 6 = 2 3 P\{选手获得奖品\}=1-\dfrac{\dfrac{1}{18}}{\dfrac{1}{6}}=\dfrac{2}{3} P{}=161181=32

综上所述,选手换另一扇关闭的门后,其获得奖品的概率为 2 3 。 \dfrac{2}{3}。 32

若选手选择坚持原来的选择,则其获胜的概率为 P { Y = a ∣ X = a , Z = c } = 1 3 P\{Y=a|X=a,Z=c\}=\dfrac{1}{3} P{Y=aX=a,Z=c}=31,论证结束。

上述各式中a,b,c取值限定为a、b、c互不相等即可,当X=a时,Y=b、Z=c的含义与Y=c、Z=b并没有区别。

3. 一种直观讨论方式:

我们只需要把握下面两点:

  • 第一次选择错误时,第二次换门一定会获得奖品;
  • 第一次选择正确时,第二次换门就不会获得奖品;

所以,第二次换门后获得奖品的概率就等于第一次选择错误的概率,为 2 3 \dfrac{2}{3} 32;若坚持第一次的选择,主持人打开另一扇错误的门与否不影响最后的结果,所以坚持第一次选择,成功的概率为 1 3 。 \dfrac{1}{3}。 31

4. 一种程序验证方式:

import random

def reselect(times=10000):
	winTimes = 0

	for i in range(times):
		doors = [1,2,3]
		random.shuffle(doors)
		
		cannotOpenDoor = []
		
		selectDoor = random.choice(doors)
		cannotOpenDoor.append(selectDoor)

		winnerDoor = random.choice(doors)
		cannotOpenDoor.append(winnerDoor)

		if(len(set(doors) - set(cannotOpenDoor)) == 1):
			winTimes += 1

	print(winTimes / times)



reselect()

测试结果:

当times = 1000000时,结果为0.66692近似为2/3

  • 另一种角度:独立性

(在编程的过程中,很容易发现主持人打开某扇门这一随机事件并不是独立的,所以这一事件的出现影响了最终的结果)。


你可能感兴趣的:(概率论,数学,python)