今天听说一个玄学算法,写了一下,确实玄学?

2022-10-03 00:55:35 +08:00
 estk

假设有 3 个门编号分别为 0 ,1 ,2 ,其中只有 1 个门后面有奖品 主持人先打开一个不存在奖品的门,剩下两个门你随机打开一个,中奖概率是多少? 答案不是 50% 算法写的也确实不是,是写得不对吗?

(async ()=>{
  let gotTimes = 0
  let missTimes = 0
  let failTimes = 0
  let testTimes = 100000
  while( --testTimes > 0) {
    const targetGateNo = parseInt(Math.random()*10**10)%3 // 0/1/2
    let gates = []
    for (let i=0; i<2; i++) {
      gates.push(i===targetGateNo)
    }
    const randomNo = parseInt(Math.random()*10**10)%3 // 0/1/2
    if (gates[randomNo]) {
      failTimes++
      continue
    }
    let randomNo2 = parseInt(Math.random()*10**10)%3
    while(randomNo2===randomNo) {
      randomNo2 = parseInt(Math.random()*10**10)%3
    }
    if (gates[randomNo2]) {
      gotTimes ++
      continue
    }
    missTimes ++
  }
  console.log(gotTimes/(gotTimes+missTimes), gotTimes, missTimes)
})()

剩下两个选一个,下意识觉得概率应该 50%才对,但是执行后是 0.28 左右

7384 次点击
所在节点    程序员
46 条回复
Allonsy
2022-10-04 07:02:22 +08:00
基本概率论了,
你选择了一门,然后主持人开了剩下两个门中无奖品的那个,你可以选择换或者不换门。
这里重要的是第一个条件,你得先选一个门。
如果你一开始不选,主持人帮你去掉了一个选项,那么你选择获胜的概率就是 1/2.
如果你一开始选了,情况就不一样了,通俗一点来说,两个剩下的门打开一个,那么被打开的门的概率就塌缩到了剩下那个门,变成了 2/3.
严谨的来说如下:
你第一次选择的概率只有 1/3 ,但是当主持人打开一扇空门后,利用基本贝叶斯定理,能得出剩下那扇门的概率是 2/3.
vAvyummyICE
2022-10-04 08:13:11 +08:00
对于观众来说,看到的是一个随机事件。也是抽奖先后顺序公平与否的问题(随机事件,主持人不知道哪一个是无奖门哪一个是有奖门)
主持人概率:1/3
你的概率(条件概率)是:2/3(有机会去选门的概率或者说主持人选到无奖的概率) 乘以 1/2(两个门选一个选对的概率) = 1/3


但是对于你和主持人两个人来说,实际是独立事件
因为规定主持人先选择且选无奖门,剩下的对于你而言也就是个随机事件了
主持人选中有奖的概率是 0 ,无奖概率是 1
你选中有奖的概率是自身的概率也就是在两个门中选一个的概率,即:1/2


直白点就是 三个选项里只有一个正确答案,人为去除一个错误答案,剩下两个选项,那么你答对的概率就是 1/2 。

第一个人点击在无奖门里随机一个,比如 0 ,1 是无奖门,随机一个数 0 或 1 ,然后排除这个留下一个。第二个人点击在剩下的两个数字里随机一个。
无论第二个人点击结果是什么,第三个人也不用选了,直接给出剩下的结果。


高中概率论
qdwang
2022-10-04 08:17:28 +08:00
@Chad0000 你的解释最直观,感谢
onevcat
2022-10-04 08:50:34 +08:00
??条件概率不是必修课么..贝叶斯公式都还给老师了么 😂
oldmyth
2022-10-04 16:58:56 +08:00
@estk 三个可能你想不通,如果是一万个呢,给你一万个箱子,让你随机选了一个,然后主持人把其他不是的 9998 个都打开,最后一个问你换不换
avenger
2022-10-05 13:57:44 +08:00
原因很簡單 若一開始選到羊 再換則必得車 而一開始選到羊的機率是 2/3

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/884426

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX