主题:【讨论】趣味数学题 -- 任爱杰
你质疑的应该是这句话吧?
这句话隐含的前提条件是尚未见过老王的孩子,仅知道有两个。
而你的这句话
漏了一个重要的已知条件,正确的说法应该是:已知老王有两个孩子,且其中一个是男孩。
如果加上了这个已知条件“有两个孩子”,如果不加这个条件,只问哭声那个孩子的男女概率,则你的说法是对的
从而导致概率的变化,或者不变。
三门问题里面,主持人打开了一个没有羊,车或者美女的门,本身,这个“没有”的信息注入改变了状态空间,因此概率改变。
而在二孩问题中,第一个是男孩的信息注入对第二个孩子的性别状态空间没有任何影响,因此概率还是1/2。 我昨天用excel做了一个概率模拟,证明就是1/2。
对第二个孩子的性别确实是没有影响,但是对枚举有影响,把长女次女这种情况排除掉了。因此,分母变了,概率也就不同了。
有同学指责我的故事不够严谨,甚至是误导观众,我不得不说明一下,这既非我的初衷,也不是我的过错,具体在这个帖子中: https://www.ccthere.com/article/4617373 有关心的朋友可以去看一下.
在那个帖子中我把故事改写得严密一些,因为我的帖子人气少,所以我也把这个新的版本复制在这里如下,供大家讨论.:
-----------------------------------------
今天听到一个例子,很适合说明怎么叫概率推断,或者概率推断会有多反直观.
比如新来了一家邻居,我知道该邻居家有两个孩子,但不知道任何关于这两个孩子的其他情况.
有一天我出门正看见新邻居正拿着全套的星战行头回家,突然意识到今天是5月4日,于是上前和邻居打招呼到:"May the force be with you!".邻居认出我来,显得颇有些尴尬,赶忙解释道"不不,这不是我的,是我给我儿子买的,他是个星战迷."
我心里默默推算,嗯,原来邻居有个儿子,那么邻居家另一个孩子也是男孩的概率为三分之一(对,这不是笔误,三分之一,不是二分之一).
程序应该是从实际出发,去模拟现实,摒弃任何具体思路,否则等于把可能错误的想法带入了程序,自然不可能得出正确的结果。
你在程序了假设了老大老二的情况,分别计算,这隐含了一定的概率合成公式,前面有人已经这么算过,并得出1/2的结论。我已经回过,概率不可以这么合成,相当于把男男的情况计算了两倍。数值分析老兄的主题贴给出了一个例子,为什么不可以这么合成,可以参考一下,【讨论】【跟进】趣味数学题 (二)
不服气去质问他吧
这个构造在用古典概型是解不出来的啊,解出来也是错的啊。如果骰子是均匀的,可以尝试构造一个等可能的事件集出来求解。如果不均匀,那等可能的事件集构造不出来,也是无解的啊。这时只能用基于公理化的方法解(有时用贝叶斯法则也可以)。
但一儿一女的情况必须少算一半。如果大的是儿子,女男的可能就不存在,只有两种可能,如果小的是儿子,男女的可能就不存在,同样只有两种可能,分别讨论就会更清楚,这也许麻烦,但不会有错,在争论了那么多都没结果的情况下,你不应该拒绝。就算我错了,请你拿个正确的模拟方案出来吧,比说服不了人的争论好吧。
根本差异在于对前提条件的理解,由此出发写出的程序必然不同,具体的程序实现证明不了什么,所谓模拟,不过是想法的具现罢了,出来BUG,程序并不会比算法本身多出什么来。如果你一定要到话,我可以给你一个,无非就是把我说的再实现一遍,意义不大。
你的算法也有道理,差别可能出在语义的理解上,请参考这个帖子,【讨论】【跟进】趣味数学题 (三)
合着您是奔着挑刺来的,欢迎欢迎。不过老实说,我自己已经发现算法中的了一个BUG。
如果算法没问题,有必要写代码么。如果算法有问题,有必要写代码么。
原题的话术在于
这里的“另一个”绝大多数母语是汉语的人都会理解为另一个孩子性别的单独概率。但原作者其实问的是“有两个孩子,已知一个孩子的性别,两个孩子同性别的概率是多少?”
这里“另一个”的意思模棱两可。原作者实际上设了个语言陷阱,混淆了单独概率和合成概率。可惜他设的不好,即使是用了有歧义的表述方式,如我前面演示的,两个孩子都是男孩的可能性仍可能是二分之一。
至于俺的说法应当是没有歧义的。问的就是“有两个孩子,已知一个孩子的性别,两个孩子同性别的概率是多少?”
在这里,样本空间比“有两个孩子,两个孩子同性别的概率是多少?”要小。这是因为已经把两个孩子都是另一种性别的可能性在设定中取消了。
当然,如果硬要说样本空间不应变小也没问题。这可以参考那个“三门问题”。三门问题中说如果在开了一扇没有奖励的门后换门,则得奖概率上升到三分之二。这里的计算是以没开门之前的样本空间来计算的。也就是三个门后只有一个有奖,得奖率三分之一。如果去掉一个没奖的门,不换门则得奖率仍是三分之一,换门则得奖率变成三分之二。但如果遵循原题改变样本空间的逻辑,则我们也可以把“去掉一个没奖的门”作为缩小样本空间的理由。于是“三门问题”中“去掉一个没奖的门”后,只剩两扇门,要么有奖,要么没奖。这时候,让玩家再选一次的话,则中奖率是二分之一。
这里要注意的是“换门中奖”的意义不等同于“再选一次”的意义。“换门中奖”规定玩家只能换门。“再选一次”则玩家可以仍然选择原来的门。
所以这是一个逻辑佯谬。
如果将这个佯谬的前半部分,即开门不改变样本空间,运用到“有两个孩子,已知一个孩子的性别,两个孩子同性别的概率是多少?”中,则可把“已知一个孩子的性别”视为开门。同理,“两个孩子都是另一种性别的可能性“不从样本中抽出,那么两个孩子是同一性别的可能性还是四分之一,而不是三分之一。
所以,统计中如何采样,如何建立各种关系会直接影响到统计结果。
你题目的新写法如下
有一天我出门正看见新邻居正拿着全套的星战行头回家,突然意识到今天是5月4日,于是上前和邻居打招呼到:"May the force be with you!".邻居认出我来,显得颇有些尴尬,赶忙解释道"不不,这不是我的,是我给我儿子买的,他是个星战迷."
我心里默默推算,嗯,原来邻居有个儿子,那么邻居家另一个孩子也是男孩的概率为三分之一(对,这不是笔误,三分之一,不是二分之一).
首先,这个新说法换汤不换药,上个帖子的分析仍然适用。排列组合如下表:
星战行头 | 没有星战行头 |
---|---|
大哥(B1) | 二哥(B2) |
二哥(B2) | 大哥(B1) |
大哥(B1) | 二姐(G2) |
二哥(B2) | 大姐(G1) |
另一个孩子也是男孩的概率还是二分之一。
第二,你原题的话术在于
这里的“另一个”绝大多数母语是汉语的人都会理解为另一个孩子性别的单独概率。但你其实问的是“有两个孩子,已知一个孩子的性别,两个孩子同性别的概率是多少?”
这里“另一个”的意思模棱两可。你实际上设了个语言陷阱,混淆了单独概率和合成概率。可惜设的不好,即使是用了有歧义的表述方式,如我前面演示的,两个孩子都是男孩的可能性仍可能是二分之一。
在你这个2.0版本里,你说
你在这里故意用了单数。根据汉语习惯,绝大多数人会把这句话理解为邻居只有一个儿子,并且儿子是个星战迷。虽然汉语对于单复数不像英语那么死扣,但如果有超过一个以上的儿子,邻居要么说“是我给我大(或其他排行)儿子买的,他是个星战迷.” 要么说“是我给儿子们买的,他们是星战迷”
这个话术只在汉语里有用。如果用英语就不行了。这句话用英语来说就是
“I bought it for my son, he is a star wars fan.” 这里清楚表明只有一个儿子。
所以,这题看似绕弯,其实是表达不清所致。
唐家山同学提了个更简明的模式
原题是说你碰到邻居带了个男孩出来,邻居共有两个小孩,另一个没看见的小孩的性别未知。
那么很显然,组合只可能是 男男,或是 男女。不存在女女,或女男的情况(因为你没看到女孩,只看到一个男孩)。那么另一个孩子是男孩的几率不就是二分之一吗?
搞定收工。
最简单的方法两个孩子的性别是独立事件,所以第二个孩子男女的概率都是1/2。如果复杂路径得出的结论不一样,那么就是复杂路径中间出岔子了。你的解法,岔子出在男男,男女 和女男,女女4种可能性,在有男孩出现的条件下,出现的概率是不一样的。条件概率 女女=0,男女=1/4, 女男=1/4, 男男=1/2。
出现两个1的概率是1/6*1/6=1/36这个真没抬杠