武辰作品索引

知乎作品库

文章 · 8

知乎原文

双信悖论的解释与最优策略

你在参加一个游戏。现有信封A和B,它们里面都装着钱,已知其中一个的金额是另一个的两倍(但是不知道具体金额是多少)。现在让你任挑其中一个信封,你将得到里面的钱。

在你打开信封之后,你可以要求换成另外一个信封。那么你会交换信封吗?

有人会这样想:假设我一开始选择的金额是 xx 。那么另一封信的金额有一半的概率是 2x2x ,一半的概率是 x2\frac{x}{2} 。那么如果我选择交换,我获得的数学期望将是: 12⋅x2+12⋅2x=54x\frac{1}{2}\cdot\frac{x}{2}+\frac{1}{2}\cdot2x=\frac{5}{4}x ,多于现在的 xx ,那么赞同交换。

对方也认为交换信封对自己有利,然而这样的交易不可能对双方都有利,这就引发了悖论。

链接:

如何通俗易懂地解答双信封悖论?

在上面的链接里已经有过对这个问题的讨论,部分答主的回答也足够专业。我将不重复赘述。我新开这篇文章的目的有两个:首先是补充一个通俗的初等概率论框架的解释;然后更主要的目的是提出最优策略的选取。


那个问题下的部分回答很专业,但是用到了严格的测度论工具,测度论对很多概率论学习者可能并不友好。事实上这个问题是可以在初等概率论的框架下得到严格解释的。

先算还没打开信封的时候。假设主持人装进去的钱是 m 和 2m。你随机挑一封,拿到这两个金额的机会各一半,平均就是 3m/2。如果你还没看金额就决定一定要换,换完还是一半拿到 m,一半拿到 2m,所以平均拿到的钱没变。可要是已经打开信封、看到了里面的钱,那就要看这个数字给了你什么线索。


那么我们有没有使自己获益的策略呢?首先我们举三个例子:

假设主持人告诉你:信里的金额不会超过1000元。那么假如你信里的数字是950元,那你一定不会交换信封,因为不存在1900元。

或者假设主持人告诉你:由于节目组资金有限,金额越小的数值出现的可能性越大。当你发现你的信封里有10000元,你第一反应可能是不换:这已经是一个大数值了。到底该不该换,还得看换到2万元的机会有多大。

或者假设主持人告诉你:之前参加节目的人获得信封里的金额绝大多数在500-1500之间。这一次假如你的数值是3200,你可能不想换;相反,如果你的数值只有290元,你可能更愿意换。但光知道大多数人拿了500到1500元,还算不出你翻倍的机会。

接下来我们需要量化这个过程。先不用管它是不是指数分布。令两个信封中较小的金额为 M,它的概率密度为 f。

假如你打开信封,看见的是 x 元。那你手里要么是小信封,另一封有 2x 元;要么是大信封,另一封只有 x/2 元。问题就在这里:这两种情况各有多大的可能?

我们先别卡在 x 这一个数上。比如你看到的是 100 到 102 元。如果拿的是小信封,M 就在 100 到 102 元之间;如果拿的是大信封,M 就在 50 到 51 元之间。前一个范围宽 2 元,后一个只宽 1 元。所以当这个范围缩到 x 附近时,两种情况要比的是 f(x) 和 f(x/2)/2。

交换后拿到的钱,平均就是

2xf(x)f(x)+f(x/2)/2+x2f(x/2)/2f(x)+f(x/2)/22x\frac{f(x)}{f(x)+f(x/2)/2}+\frac{x}{2}\frac{f(x/2)/2}{f(x)+f(x/2)/2}

拿这个数跟你手里的 x 比,稍加整理后你会发现,只有当 f(x/2) < 4f(x) 时,交换信封才对你有利。

比如,你从以往的节目数据得知,两个信封里较小的金额平均是 50 元。如果用指数分布来算,那么你手里的钱少于 138.63 元时,换了更划算。

知乎原文

闰年的计算规则远远比“四年一闰”更复杂

现在用的公历,能被 4 整除的年份通常是闰年;碰到整百年,就得能被 400 整除才算。那要是嫌这套规则还不够准,能不能再加几条?网上流传着三种算法:

第一种:

①能够被4整除但不被100整除的是闰年;

②能够被100整除但不被400整除的是平年;

③能够被400整除但不被3200整除的是闰年;

④能够被3200整除但不被172800整除的是平年;

⑤能被172800整除的一律是闰年。

第二种:

前三步和第一种方法一样,第四、五步把第一种方法中的172800换成86400。

第三种:

注意前三步和前两种方法一样。

①能够被4整除但不被100整除的是闰年;

②能够被100整除但不被400整除的是平年;

③能够被400整除但不被3200整除的是闰年;

④能够被3200整除但不被153600整除的是平年;

⑤能被153600整除但不被36864000整除的是闰年……

这个过程可以无穷地继续下去,相当于一个收敛的无穷的交错级数。


这三种计算方法是怎么来的?我相信大家在网上甚至就在知乎里可以很轻松地查到,我就不在这里重复一遍了。

至于为什么会出现三种不同的争议,我认为可能在于对回归年的定义不同,以及对精度控制程度不同。

但是这三种方法前三步都是一样的,我们可以很清楚地推出:虽然1896年是闰年,但1900年不是闰年,然而2000年是闰年。再往后算,按上面这三种算法,3196 年是闰年,3200 年却不是。这样一来,从 2900 年到 3500 年,连着七个整百年都不是闰年。按现在的公历,3200 年还是闰年。

这三种算法一直算到 86400 年,才第一次算出不一样的结果。反正我们这一代活不到那时候,就留给那时候的人操心吧。

知乎原文

我等的人,他在多远的未来?——从概率的角度论谈恋爱的最佳时机

当一个还凑合的对象出现在你的生命中,你会考虑和他进入婚姻殿堂吗?你是选择和他领结婚证然后凑合着过日子,还是继续等待一个更适合自己的真命天子?

又或者,假如你现在已经大学三年级了,仍然处于单身状态。在此之前已经有三个可爱的男生追求你,你对他们有一点感觉,但是没有太大的感觉,因此都拒绝了他们。现在第四个男生出现, 你对他只有一点感觉但是没有太大的感觉,你是要继续等待更好的人出现,还是打算和他进行一次恋爱?

让我们从数学角度来看待这个问题。


我们把它抽象成一个等价的数学模型:假设有n个不同的数字,分别装在不同的信封里。从第一天起,你每天将随机收到一封信,然后打开信封查看里面数字。你可以在任意一天选择停止这个游戏,然后获得该天信封里的数量的金额。已经放弃的信不能回头选。下面只按看到的金额排高低,不拿具体数字去猜后面的信封有多少钱。

比如,n=365,即一共有365封信,你将会在接下来的365天里每天收到一封信。在第一天你收到数字15,如果你选择停止游戏,那么你将获得15元;如果你觉得15元太少了,你就会继续等待。如果你第二天收到的数字是35,第三天是166,第四天是77……但你对这些数字都不满意。

第200天,你收到了数字711,你仍然觉得不满足,心想“711元的奖励不够高,可能还有更高的奖励”。

接下来的100多天,你没有收到比711更高的数字,甚至没有收到比600更高的数字。直到第335天,你收到了数字668,你心里想“只剩下30天了,也就是说只有30次机会了,我还是见好就收吧!虽然668不是最高的,但是我感觉剩下30天里不会有比668更高的数字了。”,于是你选择停止游戏,然后获得了668元。

现在问题是:你选择在第几天停止游戏,使得你获得最高金额的概率最大?在刚刚的例子中,如果最高金额是711,那么我选择在第200天结束游戏,就能获得最高奖金。如果最大的金额是8888,它在第350天的信封里,那么我在第335天提前结束了游戏,没有获得最大的奖金。

这个游戏就相当于寻找最适合自己的爱人的过程。金额越高,相当于对方和你越配;你停止游戏,相当于停止寻找更适合自己的人的过程。


我们可以选择这样一个策略:前 k 天只看不选。从第 k+1 天起,遇到第一个比之前所有金额都大的,就停下来。现在的问题转换为: kk 应该取多少,才能使得我获得最高金额的概率最大?

记 XX 为最高金额所在的位置或天数,它可以在任何一天。(举个例子:如果最高金额出现在第200天,则 X=200X=200 )

记Pk(M)P_{k}(M) 表示按照这个策略能够选到最高金额的概率。

(以下过程需要大学本科通识课微积分与概率论的基础。)

由全概率公式:

Pk(M)P_{k}(M)

== ∑i=1nPk(M|X=i)P(X=i)\sum_{i=1}^{n}{P_{k}(M|X=i)P(X=i)}

== 1n∑i=1nPk(M|X=i)\frac{1}{n}\sum_{i=1}^{n}{P_{k}(M|X=i)}

第二个等号成立是因为 XX 在任何位置的概率都是相同的,都是 1n\frac{1}{n} 。

接下来,我们继续分析:如果最高金额在前 kk 天,那么显然你无论如何都拿不到最大金额,因为你拒绝了前 kk 天所有的机会。

即:若 i≤ki≤k ,则 Pk(M|X=i)=0{P_{k}(M|X=i)}=0

如果最大金额在第 kk 天后,那么你有机会拿到最大金额。你拿到最大金额的条件是:在第 k+1k+1 天到第 i−1i-1 天中,没有一天的金额超过前 kk 天的最大金额。

即:若 i>ki>k ,

则 Pk(M|X=i){P_{k}(M|X=i)}

=P(前i−1天的最大金额在前k天中)= P(前i-1天的最大金额在前k天中)

=ki−1=\frac{k}{i-1}

综上,我们得到:

Pk(M){P_{k}(M)}

=kn= \frac{k}{n} ∑i=k+1n1i−1\sum_{i=k+1}^{n}{\frac{1}{i-1}}

≈kn∫kn−11xdx\approx\frac{k}{n}\int_{k}^{n-1}\frac{1}{x}dx

≈knln(nk)\approx\frac{k}{n}ln(\frac{n}{k})

第一个约等号成立是因为定积分的几何意义: ∑i=k+1n1i−1\sum_{i=k+1}^{n}{\frac{1}{i-1}} 表示一系列矩形之和,它近似等于 f(x)=1xf(x)=\frac{1}{x} 在区间 (k,n−1)(k,n-1) 的下方的面积。可以参考调和级数的log逼近问题。

对上面的近似式求导,可得当天数很多时,前面只看不选的天数约为 n/e,选到最高金额的概率约为 1e\frac{1}{e},也就是 37%。

在刚刚的例子中,n=365,ne≈134n=365,\frac{n}{e}≈134。最优策略是:前134天的信件我们完全不考虑;从第135天开始,如果在某一天出现比前面所有金额都更高的金额,那么就在该天停止游戏,这样你获得 nn 封信件中最高金额的概率约为37%。


回到最初的问题:我们应该从第几个人开始选择对象,才能使得找到最适合自己的爱人的概率最大?假设你的一生中要经过20次相亲,那么我们最好先拒绝前7个人( 20e≈7.38\frac{20}{e}\approx7.38 ),然后从第8个人开始,如果遇见了比前7个人中更适合自己的人,那就别再寻找下一个了,直接定下终生大事吧。

需要说明的是,这个分析仅仅是在理想情况下用数学模型解决一部分概率论的应用问题。现实生活远远复杂得多,本文用到的模型也稍微简单。本文更重要的目的在于数学层面的启发意义。现实生活中需要考虑多种因素,请勿照搬一些结论。两个人在一起在于缘分,而非机械的概率。

最后以一句鸡汤结尾:人生总有不完美。如果你一直在纠结着遇见的下一个人会不会更好,那么很可能将错过最适合自己的人。

知乎原文

狼人杀游戏里的概率论

(一)关于连续n把预言家的可靠性

故事发生在一次12人的狼人杀聚会中。小明已经连续五局拿了预言家。现在是第六局,他又拿到了预言家。小明生无可恋地在警上竞选发言后,作为警下闭眼平民的你,会不会这样想:“他已经连续拿了五把预言家了,这把再是预言家的概率已经很低很低,所以我不站他的边。”


事实上,由事件的独立性,可以得出一个略微反直觉的结论:小明在第六把拿到预言家的概率仍然是12分之一。


可以拿抛硬币的例子做类比:已知硬币正反面的材质均匀,掷一次硬币出现正反面的概率是相等的。假设你已经抛了5次,5次的结果是正面,那么下次结果是正面的概率与是反面的概率一样,仍然是二分之一。


很多人玩过飞行棋。规则是骰子抛到1向上才能起飞,如果你运气不好,抛了六次都还没起飞的话,下次抛到1的概率仍然是不变的。假设小红刚好起驾两架飞机了,而你仍然一架飞机都未起飞。那么你的第一架飞机更快起飞,还是小红的飞机更快起飞?答案是一样的。小红的第三架飞机开始尝试时,仿佛你的游戏才刚开始。


再举一个类似的例子。小郭和小敬在玩一个游戏:两人同时抛骰子,谁先得到点数1向上谁就赢。一般来说抛个五六次就能分出胜负。现在的情况是,六轮过后,两个人都未抛出过1点。这个时候你加入游戏。那么你获胜的概率会比他们小吗?答案是否定的,尽管他们已经尝试了六次,但是只要没有尝试成功,他们以前的尝试仿佛被清空。你虽然是刚加入的新人,但地位是和他们对等的。每个人赢的概率都是三分之一。


这个现象用数学的话语来解释,就是“几何分布的无记忆性”。指数分布也有无记忆性。比如我们假设在某个营业厅办事的时间服从指数分布。该营业厅有两个柜台。你进入该营业厅,发现两个柜台分别有一个客户。你得等其中一个客户办事完成后才能开始办事。那请问:三个人中,最后离开营业厅的人是你的概率是多少?答案是二分之一。咋一看有些反直觉。其实这个原理和那个抛硬币的原理是一样的。假设一号客户先离开柜台,那么接下来,你和二号客户的地位是相等的。


(二)关于黑夜首刀

如果你是狼,第一晚你睁开眼睛与其他三个同伙确认身份后,剩下八个位置的地位是平等的。也就是说,剩下八个人中的任何一个人,不管他在哪个位置,他是神或是民的概率都是二分之一。不存在“夹狼位易出神”等稀奇古怪的法则。

比起无中生有的“首刀位置学”,通过面相抿神显然靠谱得多。


(三)关于“三八三八,必有一杀”

纯属扯淡。

不过可以给出一个式子:任何指定的两个位置都不是狼的概率是C(10,4)/C(12,4)≈42.5%。

具体来看,在3号和8号这两个人中,至少有一个人是狼的概率约等于57.5%。这个57.5%是和3号、8号无关的。我也可以说是1号和11号两个人中,至少有一个人是狼的概率是57.5%。


(四)关于连坐几个好人

看这样一段发言:“我是1号明猎人,2号是金水,3号是金水,4号是银水,5号是唯一预言家,我们连续5个人都是好人,所以你6号是狼的可能性很大,比7号大一点,所以我出6号。”

这段发言前面是没问题的。如果1-5号是铁好人,那么6号是狼的概率不是默认的三分之一,而是七分之四,这个概率还是蛮大的。但是并不能因为6号挨着1-5号就判定6号是狼的概率比7号大。事实上在没有其他信息的情况下,6-12号是狼的可能性仍然是一样的,不会因为你距离“好人堆”近或者远而变化。

知乎原文

从一次班级投票引发的投票悖论思考

原文配图

马上就要到毕业季,班长在群里发起投票,让大家选择拍毕业照的衣服款式。每个人都要参加投票,且都是双选。最后得出投票数最高的款式作为毕业照的衣服。

双选在投票中是常见的形式。我不禁思考一个问题:双选和单选的结果有区别吗?假设在一轮双选投票过后,得出民国风是最高票。接下来,如果全班再进行一次单选投票(每个人的意愿不改变),民国风还会是最高票吗?

答案是,如果是单选投票的话,最高票有可能不是民国风。

举个最简单的例子,假设我们班一共有4个男生,6个女生。在所有人心中,民国风都是心里的前二选择。因此所有人都会至少投票给民国风,民国风10票拿到。

但是,相比于民国风,男生更喜欢校服款式,女生更喜欢衬衫。在单选规则投票的时候,男生会投校服,女生会投衬衫。最终衬衫6票胜出。

也就是说,虽然所有人都喜欢民国风,而且都把民国风当做前二选择,但是民国风只是相当于“备胎”,真正要单选投票的时候,民国风可能一票都得不到。

不一样的游戏规则,导致截然相反的结果。而不论是单选规则还是双选规则,都是公平规则的一种(什么是不公平规则?比如每个人的票的权重不一样,或者某类服饰的一票顶两票等等)。同样是公平规则,结果大相径庭。

双选(甚至三选以及其他多选)都是同样公平,但造成不一样的结果。那么哪种规则最能满足所有人或者尽可能多的人?

如果脑洞要继续打开下去,这可能涉及到民主制度的效用问题,可能要建立一个复杂的模型……

知乎原文

[终结数学月经题系列2]三门问题

所谓月经话题,是指论坛里几乎每个月都会出现的话题性与争议性很强的问题。比如“星期二男孩问题”:

[终结数学月经题系列1]星期二男孩问题

本文讲“三门问题”:

有一个电视游戏竞猜节目,主持人向竞猜者展示了三扇门。有一扇门之后是一辆小轿车,另两扇门之后是空房间。主持人事先知道门后是什么。

游戏分为三步:首先,你选择一扇门;然后,主持人将会打开剩余的两扇门中的一扇,展示一个空的房间(他只会打开空门;如果有几种开法都符合规则,就随机选一种,每种机会相同);最后你可以选择是仍然选择你开始选择的那扇门,还是选择去打开另一扇仍然关闭的门。 如果你选择换门,则你获得小轿车的概率是多少?

乍一看,貌似换不换门都无所谓。因为不管你选择哪扇门,主持人都会打开一扇空门,主持人打开空门这个动作看起来是多余的。

事实上,这个主持人是上帝视角。假设你一开始想打开A门,然后主持人打开了C门,展示C门是空的。你有一次机会,要不要改成B门?

这个时候你需要想想,为什么主持人偏偏不打开B这扇门呢? (主持人不会随便开门,而是一定避开有车的门)

我举一个极端的例子。假设有100个门,只有一个有汽车,其他都是空的。不妨设你一开始想开第一扇门(或者如果你想打开第77扇门,那么我们将门重新编号,把原来的第77扇门编号成第1扇门,以此类推……这就是“不妨”的意思),那么你获得小汽车的概率只有百分之一。

这个时候,假设主持人打开了第2-36扇门和第38-100扇门,他一共打开了98扇门,且门后都是空的。这个时候问你,要不要换成打开第37扇门?

当然要换!第一扇门背后有汽车的概率只有百分之一,而第37扇门背后有车的概率是百分之99!

我们回过头想想,为什么主持人偏偏要绕过第37扇门?这背后大概率有猫腻。也就是说,37号门背后大概率有车。

你一开始有99%的机会选错。只要第一次选错,主持人就必须把有车的那扇门留着,不能打开。所以换门能赢的机会,就是你一开始选错的机会:99%。

我们再回到三扇门的情况。一开始ABC背后有车的概率都是三分之一,你想打开A门。在主持人打开C门之后,样本空间发生了改变,B背后有车的概率从三分之一变到三分之二。

所以问题的关键是:观察者透露出多少信息。在星期二男孩问题中,“老大是男孩”和“至少有一个是男孩”提供的信息不同,对应的样本空间也不同。

这个问题和“囚犯问题”是等价的。数学证明在这篇文章中:

有趣的数学——违反直觉的囚犯问题和三门问题

知乎原文

[终结数学月经题系列1]星期二男孩问题

所谓月经话题,是指论坛里几乎每个月都会出现的话题性与争议性很强的问题。“星期二男孩问题”便是其中一个。“星期二男孩问题”建立在“二孩问题”的基础上,我一并讲解。

看如下四个问题:

1.邻居有两个孩子,已知年纪更大的是男孩,求另一个是男孩的概率。

2.邻居有两个孩子,已知至少有一个是男孩,求两个都是男孩的概率。

3.邻居有两个孩子,已知年纪更大的是男孩且出生于星期二,求另一个是男孩的概率。

4.邻居有两个孩子,已知至少有一个是男孩且出生于星期二,求两个都是男孩的概率。

假定:

婴儿是男性或女性的概率都是二分之一;

生于星期几是等可能事件;

不存在双胞胎或者多胞胎的可能。

总而言之,在理想情况讨论这个问题。

首先来看第一题:这个问题等价于“已知生下的第一胎是男孩,那么再生一胎还是男孩的概率是二分之一”,或者也等价于“已知第一次抛硬币是正面,那么第二次抛硬币也是正面的概率是二分之一”。第一胎的性别与第二胎的性别是独立事件。答案是二分之一。

但第二题的答案是三分之一。把老大的性别写在前面,老二的性别写在后面,就有四种组合:男男、男女、女男、女女,每种组合的概率都一样。这里的“男女”是哥哥和妹妹,“女男”是姐姐和弟弟,所以要分别列出来。已知其中有一个男孩的情况下,我们需要排除掉(女女)的情况。那么现在的样本空间只有三种情况:(男男、男女、女男),且三种情况概率相等。于是两个都是男孩的概率只有三分之一。

再来看后两题:

3.邻居有两个孩子,已知年纪更大的是男孩且出生于星期二,求另一个是男孩的概率。

4.邻居有两个孩子,已知至少有一个是男孩且出生于星期二,求两个都是男孩的概率。

第三题等价于“已知在星期二生了一个男孩,求再生一个孩子仍然是男孩的概率”。这道题的答案显然是二分之一。

第四题的解答:

为了方便描述,用“1”“2”“3”“4”“5”“6”“7”表示周一至周日出生,“b”“g”表示那个孩子是男孩还是女孩,比如“2b”就表示某个孩子是周二出生并且是男孩,“3g”则表示某个孩子是周三出生并且是女孩。然后我们穷举一下周一至周日7天出生的两个孩子的所有可能性,一共有 14 × 14 = 196 种可能。

我们再找出其中包含星期二出生的男孩的项,即包含 “2b” 的项,一共有 27 种,如下:

( 1b , 2b ), ( 1g , 2b ), ( 2b , 1b )

( 2b , 1g ), ( 2b , 2b ), ( 2b , 2g )

( 2b , 3b ), ( 2b , 3g ), ( 2b , 4b )

( 2b , 4g ), ( 2b , 5b ), ( 2b , 5g )

( 2b , 6b ), ( 2b , 6g ), ( 2b , 7b )

( 2b , 7g ), ( 2g , 2b ), ( 3b , 2b )

( 3g , 2b ), ( 4b , 2b ), ( 4g , 2b )

( 5b , 2b ), ( 5g , 2b ), ( 6b , 2b )

( 6g , 2b ), ( 7b , 2b ), ( 7g , 2b )

这27种可能里,老大是周二出生的男孩、老二是其他星期出生的男孩,有6种;反过来也有6种;两个都是周二出生的男孩,还有1种。加起来就是13种。

也就是说,已知至少一个孩子是星期二出生的男孩的情况下,两个孩子都是男孩的可能性是 13/27 ,小于二分之一(但是接近二分之一)。


关于这个问题,我后来又写了一篇更详细的文章,把“星期二”为什么会改变答案也展开讲了,有兴趣可以接着看:

“星期二男孩”悖论为什么违背直觉?彻底讲透这个问题

[终结数学月经题系列2]三门问题

知乎原文

从一道很污很污又有趣的推理题说起(2)

之前我发了一篇文章《从一道很污很污又有趣的推理题说起》,文章发布后短短三天内,在广大网友的共同努力下,问题得到了极大的进展。找到的方案越来越省,当时已经可以用1.5n个套套完成。

该文章的链接是:

从一道很污很污又有趣的推理题说起

原题是:现在有n对男女,每个人都各自携带不同的性病,而且传染性都很强。如果每个男的对每个女的都发生性关系,最少需要多少个套套,才能使得他们不感染?

注:①允许套套多层叠加用,允许男的戴多层套套,且不会破烂(压住牛顿的棺材板),但不允许套套翻过来反着用;

②套套可以无限次使用;

③阴茎接触到其他男人的精液也会使得该男子感染其他男人的性病;

④这里只考虑男性与女性之间的配对。


在我发出上一篇文章的三天内,用到的套套数量不断减少,从一开始的4n²,到3n,到2n,到2n − 1,到2n − 2,到现在的1.5n个套套。在此也非常感谢网友们贡献的智慧。


在思考上面的问题的过程中,我同时也思考了这个问题:

如果只有n个套套,那么最多可以完成多少次不同的交配?

这个问题可以说是原题的姊妹题。因此我新开一篇文章来讲述这个问题。这个问题就是本篇文章的主题。


乍一看,你可能会觉得,难道不是只能交配n次吗?我有n对男女(姑且称作n对情侣吧),且只有n个套套。算作每对情侣交配一次,n个套套只能交配n次呀!


不过,我们可以思考一下这样的情况:

首先还是先赋值:男性有n个,女性有n个,套套有n个。男1号与女1号配对成情侣,男2号与女2号配对成情侣……男n号与女n号配对成情侣。一共有n对情侣,每一对情侣有一个专属套套。

第一步:女n号手持她的专属套套在房间里等着,前n − 1位男性先分别戴上自己的专属套套,然后轮流进那个房间里,进房间后第一件事就是再穿上女n号的专属套套,最后交配。

这一步共发生了n − 1次有效交配。而且到最后,女n号的专属套套的内侧都是干净的。

第二步:男n号戴上男n号的专属套套(就是第一步的女n号的专属套套),然后前n − 1位男性分别戴上自己的专属套套,然后与自己的对应的情侣交配。

这一步共发生了n次有效交配。

怎么样?是不是很神奇?

n个套套竟然能产生 2n−12n-1 次交配。


且慢,还没完呢!

咱们加一个第三步,我们让后n − 1位男性(也就是除了男1号)分别穿上自己的专属套套,然后再穿上女1号的专属套套,最后和女1号交配。这样,这n − 1个男性就能轮流和女1号交配了。

这一步共发生了n − 1次有效交配。

一共有 3n−23n-2 次有效交配。

怎么样?是不是很神奇?


原文配图

如图所示,打钩的表示可以进行有效交配。一共有 3n−23n-2 个钩。

那么有没有更大的值呢?


我们回到刚刚的想法:事实上,第一步是将女n号特殊化,第三步是将女1号特殊化。(你可以把特殊化理解为“能够和更多男人交配”)

我们能不能尝试下让特殊化的人更多呢?

比如,如果让女1号、女2号、女n号特殊化,或者让女1号、女2号、女(n − 1)号、女n号特殊化,我们得出的结果会如何呢?

现在以“让女1号、女2号、女(n − 1)号、女n号特殊化”为例,如图所示:

原文配图

这种情况下可以进行 5n−85n-8 次有效交配。比 3n−23n-2 好太多。

能不能再优化一下呢?我们再增加两个特殊化的女性:

原文配图
纵轴均为男性。图中的“女3号”“女n-2”“女n-1”应为“男3号”“男n-2”“男n-1”,勾选位置不变。

我相信读者们已经看出规律了。

事实上不难得出,按照这种思路,当一半的时候,能够使得交配的次数最大化:

原文配图

答案是 n22+n\frac{n^2}{2}+n ,当然这里需要n是偶数;当n为奇数时,思路是一样的,答案是 n22+n−12\frac{n^2}{2}+n-\frac{1}{2} 。

这个规律可以用等差数列求和来算。从3n − 2到5n − 8再到一般化,规律是不难找的。只要找到通项,利用初中的知识即可算出。

当然提醒一下,你还得证明为什么两边特殊化的女性的数量都是一样的。比如,为什么“让女1号、女2号、女(n − 1)号、女n号特殊化”比“女1号、女2号、女n号特殊化”更好。同样利用通项的思想,这也是不难证明的。


那么这是不是最大值了?我还不知道。 n22+n\frac{n^2}{2}+n 是我能想到的极限,正如当时那道题中,1.5n是大家找到的最好方案。


如果你有能完成更多次配对的方案,或者更美妙的思路,欢迎告诉我。

知乎原文

从一道很污很污又有趣的推理题说起

有一道网上流传的趣题:有2男2女,每个人都各自携带不同的性病,而且传染性都很强。如果每个男的和每个女的都发生性关系,但是现在只有2个套套,请问怎样操作才能让每个人都不会感染别人的病?

这道题的答案是:

第一步:男一号先戴上套套A,然后外面套上套套B,与女一号啪啪;

第二步:男一号脱掉套套B,与女二号啪啪;

第三步:男二号戴上套套B(套套B的内侧是干净的),与女一号啪啪;

第四步:男二号外面再套上套套A,与女二号啪啪。

这样无论如何都无法感染性病。

原题是没有注解的,我有必要加上五个注解:

①允许套套多层叠加用,但套套分正反两面,不允许将套套翻过来反着用;

②套套可以重复使用;

③阴茎接触到其他男人的精液也会传染性病;女性之间同理;

④只能在异性之间发生性关系;

⑤这道题是在理想情况下研究纯数学问题,评论区有大量“两个套套容易破”“避孕套不能百分百防止性病”“为什么不用水洗一下套套”等内容,这些不在考虑范畴。

我看到这道题的时候一开始没想出怎么做,后来一看答案才啧啧称奇。

将本题推广:现在有n对男女,每个人都各自携带不同的性病,而且传染性都很强。如果每个男的对每个女的都发生性关系,最少需要多少个套套,才能使得他们不感染呢?


以下的内容是我的探索过程,讲述的是我是如何把需要的套套数量一步步往下压,从一开始的4n²,到3n,到2n,到2n − 1,到2n − 2,到1.5n,到 43n+2\frac{4}{3}n+2 ,直到目前找到的方案只需要 43n+23\frac{4}{3}n+\frac{2}{3} 个套套(我仍然不知道是不是还能更少)。这其中难免走了很多弯路,如果你觉得太长,可以绕到最后看我的最终答案以及解释。如果中途有答案看不懂也没关系,因为对于这道题来说,用到的套套越少,思路反而越简单。

温馨提示:如果你想绕到最后看我的最终答案,请认准三行“***********”标志,该标志往下即最终答案。

n = 2的情况已经在开始考虑过了。

我们来看一下n = 3的情况,有如下六个人:

男1号 女1号

男2号 女2号

男3号 女3号

我花了半小时枚举,得出3个套套是不够的,4个套套是可行的。过程如下:

第一步:男一 → TB → TA → 女一,这表示男一号戴着套套B,然后外面再套上套套A,与女一号啪啪。

剩下的八步也是如此表示:

男一 → TB → 女二;

男三 → TC → TA → 女一;

男三 → TC → 女三;

男二 → TA → 女一;

男一 → TB → TC → 女三;

男二 → TA → TB → TC → 女三;

男三 → TD → 女二;

男二 → TA → TD → 女二。

我们再来看一下n = 4的情况,有如下八个人:

男1 女1

男2 女2

男3 女3

男4 女4

我们可以分为四个步骤:

第一个步骤:

男1 女1

男2 女2

这是两对男女,我们根据一开始的讨论得出,只需要2个套套即可完成互相交配而又不感染性病。

第二个步骤:

男1 女3

男2 女4

第三个步骤:

男3 女1

男4 女2

第四个步骤:

男3 女3

男4 女4

每个步骤需要2个套套,4个步骤需要8个套套。因此,对于4对男女,只需要8个套套。

但是这个结果是很粗糙的,我觉得8个套套太多了。有没有更好的办法?我尝试通过枚举法来找到比8更小的值,尝试了一个小时后发现这个过程太艰辛了,就放弃了。不过我的直觉是,对于4对男女的情况,最少需要的数量应该比8小。

因此目前的结果是:

2对男女,2个套套足够;

3对男女,4个套套足够;

4对男女,8个套套足够。

我可以拓展下:

根据上面的讨论,n = 4时,我们分了四个组,即四个步骤。同样的道理:

当n = 6时,我们可以像n = 4一样进行两两配对,两对男女为一组,这样的组数是9组,正好是3的平方。(男1、男2、女1、女2)、(男1、男2、女3、女4)、(男1、男2、女5、女6)、(男3、男4、女1、女2)、(男3、男4、女3、女4)、(男3、男4、女5、女6)、(男5、男6、女1、女2)、(男5、男6、女3、女4)、(男5、男6、女5、女6)。

每个组需要2个套套,这样一来,全部需要2 × 3²个套套。

继续拓展:当有2n对男女时,需要的套套数是2n²。如果是奇数的情况,我没有想到好的方法,不过如果当做下一个偶数的情况算,至少可以保证满足的。

比如当有12对男女时,需要72个套套。

另一个拓展思路是,我们能不能换一种分组的方式?

比如n = 6时,我们作如下的分组:

(男1、男2、男3、女1、女2、女3)、(男1、男2、男3、女4、女5、女6)、(男4、男5、男6、女1、女2、女3)、(男4、男5、男6、女4、女5、女6)。

一共四组。根据n = 3的讨论,3对男女需要4个套套,因此四组的情况是,需要16个套套。我们发现按三个分组比按两个分组更优。

一般化,当有3n对男女时,需要的套套数是4n²。如果是3n − 1或者3n − 2的情况,我目前没有想到好方法,只能按照3n的情况算。


但是这样的结果还是太差,有没有更省的办法?

注意:当n > 2时,男女交配问题与医生手套问题不等价。因为不同的医生戴相同的手套是没事的,但不同的男性戴相同的套套会发生感染。


我在睡觉前一直在想这个问题,到凌晨三点突然灵光一现,想到了一个新的思路:3n是可行的。(我是在思考“套多层套套的意义是什么?”这个问题中想到如下解法)


原文配图

如图,我们随机把n个男性与n位女性进行缘分配对,一共配对成为n对“情侣”。每对情侣有三个套套:A、B、C,每个套套的功能是不一样的,我在下面有说明。

(根据评论区的情况,可能有人没看懂下面的过程,为了更加形象地说明我的结论,我假定有n个房间,第一对情侣在第一个房间,第二对情侣在第二个房间……等等)

首先,n对情侣可以在自己的房间里啪啪一次。以男一号为例,男一号与女一号在1号房间相处二人世界,男穿上套套B1,与女一号啪啪。同理,其他男性也是穿上各自的套套B,在各自的房间与各自的情侣啪啪。

接下来,当男一号想要和其他女性啪啪时,他首先得在自己的房间里穿上套B1,然后再穿上套A1,再去其他房间敲门。

为什么要套上A1?这样的作用是防止套B1的外层受到感染,因为套B1的外层只能有女一号的液体与病毒,不管经过多少次交配,B1的外层只能是女一号的病毒专属;

去其他房间敲门之后(我们假设他要去第二个房间,即想要和女二号交配),2号房间的门口有一个套套C2,男一号目前已经穿上B1与A1了,他还需要在门口穿上C2,进门后,再穿上B2。这样套了四个套套,才能和女二号啪啪。C2的作用是防止B2的内部受到感染,因为B2的内层(即B2套套里面)只能有男二号的液体与病毒,即B2的内层只是男二号专属。

事实上,每个房间的门口都放有属于各自的套套C。进门之前得穿上,啪啪完事后出门后得放回门口。

这样下来,所有情侣的套套B都不会受到感染,且所有的情侣之间都可以互相交配……

我再重复一遍,以男一号为例:套套A1是用来保护套套B1的外层不受其他病毒感染,套套B1的外层只能有女一号的病毒;套套C1是用来保护套套B1的内层不受其他病毒感染,套套B1的内层只能有男一号的病毒。

对于其他的“情侣”,也是类似的过程。套套A是保护套套B的外层,套套C是用来保护套套B的里面。

所以对于n对男女,3n个套套可以保证互相交配而又不感染性病。

但是直觉告诉我,3n个可能还是太多了。

的确,在我发出回答后的不到四个小时,马上有评论区的朋友告诉我,2n是可行的:

每个女的自身准备一个自己的专属套套,每个男的自身自备一个自己的专属套套。啪啪时,男的先戴好自己的专属套套,然后再戴上性交对象的专属套套即可。

比如,女二号的专属套套是A2,男八号的专属套套是B8,那么男八号与女二号要啪啪的话,需要男八号先戴上B8,再戴上A2。

这样一来,只需要2n个套套,大家就可以愉快地互相玩耍。

是不是很简单?是我一开始把问题想复杂了。

接着不到两小时,又有评论区的朋友指出,2n-1是可行的。

还是一样的情况,每个女性有自身的专属套套;然后选n − 1个男性,每个男性有自己的专属套套。剩下那个男性先上场,对每一个妹子,使用那个妹子的专属套套,等到那个男性结束后,他的使命就完成了,可以离开游戏了。于是n − 1个男性带着各自自己的专属套套上场。接下来的事情就和上面所说的2n的答案一样的构造了。

但是,这个结果能不能再小一点呢?

我猜测最少只需要2n − 2个。

终于,在我发出这篇文章的10小时的时候,我突然迸发了一个崭新的灵感:2n − 2是可行的。


原文配图

首先还是得先配对:每一个男性i都有自己的专属套套Bi。比如男1号有专属套套B1,男2号有专属套套B2……

第一步:男i号(i ∈ {2, 3, …, n}) → Bi → B1 → 女1号。(n − 1)

这代表男i号(第2号男人到第n号男人的其中一个),先戴上套套Bi(即自己的专属套套),然后再戴上套套B1,接着就能和女1号啪啪了。(n − 1)表示在第一步中,发生了n − 1次不同的有效的交配,这里是第2号男人到第n号男人都和女一号啪啪了,所以共有n − 1次交配。(注意:n对男女共需要完成n²次不同的有效交配)

第二步:男i号(i ∈ {1, 2, 3, …, n}) → Bi → 女i号。(n),女1号 over

这代表所有男人分别用自己的专属套套与对应编号的妹子进行交配,通俗点来说,就是男1号用套套B1与女1号啪啪,男2号用套套B2与女2号啪啪……(n)表示这一步发生了n次有效交配。“女1号 over”表示截止到这一步,女一号已经完成了所有的使命。

第三步:男i号(i ∈ {1, 2, 3, …, n − 1}) → Bi → Bn → 女n号。(n − 1),女n号 over

第四步:男n号 → Ci(i ∈ {2, 3, …, n − 1}) → 女i号。(n − 2),男n号 over

注:这里C是新的套套,共有n − 2个C类套套。加上之前n个B类套套,一共2n − 2个套套,即是本题答案。

第五步:男i号(i ∈ {1, 2, 3, …, n − 1}) → Bi → Cj(j ∈ {2, 3, …, n − 1}) → 女j号。

这一步共有 (n−2)+(n−3)(n−2)(n-2)+(n-3)(n-2) 次有效交配。其中男1号只需和n − 2个女性交配了,男2号到男(n − 1)号只需和n − 3个女性交配了。

所以,所有的交配过程都已经完成了。我们可以相加所有的交配次数,发现正是等于n²。

*********************************

这还没有完,让我自愧不如的是,在我给出如上2n − 2的答案后,即在我发出文章的16小时后,有评论区的朋友 @team bright 给出更简单的算法,虽然还是2n − 2的答案,但过程比我上面的方法简单多了:


一开始还是一样的思路:前n − 1个男性有自己的专属套套,前n − 1个女性有自己的专属套套。

第一步:这n − 1对男女两两配对,这样可以有(n − 1)²次有效配对。

第二步:前n − 1个男性各自用自己的专属套套与第n个女性配对,这一步有(n − 1)次有效配对。

第三步:前n − 1个女性各自用自己的专属套套与第n个男性配对,这一步有(n − 1)次有效配对。

第四步:第n个男性穿上女1号的专属套套(事实上他可以穿上前n − 1个女性的任何一个套套),然后穿上男1号的专属套套,这样就可以与第n个女性交配了。这是最后一次配对。

这是目前为止我最满意的答案。

不过,有没有比2n − 2更小的答案呢?

我认为应该没有了。因为2对男女至少要2个套套,3对男女至少要4个套套,4对男女至少要6个套套,都是符合2n − 2的。

*********************************

但是我又一次被打脸了。


在我发出文章的24小时后,有评论区的朋友 @拒绝咖啡 提出1.5n个套套就够了。


为了方便读者阅读,我写了两个版本:简单版本和复杂版本。两个版本的本质是一样的,只是描述方式的不同。

下面是简单版本,如果没看懂的话可以跳过,去看复杂版本:

男的等分为两组ab,女的等分为两组AB。每一组有n/2个人。

每个女的有专属套套,在a组里的每个男的有专属套套。这样一共就有1.5n个套套了。

第一步:a组男人穿上自己的专属套套,再分别穿上每个女的专属套套,和每个女的交配一遍,即a组男性与所有女性自由交配;

第二步:a组男人走人,但是套套留下。注意到,a组的套套外侧都是干净的,且所有女性的专属套套的内侧都是干净的!把A组女性的专属套套变成b组男性的专属套套,把a组男性的专属套套变成A组女性的专属套套;

第三步:b组男性与所有女性可以自由交配。

这样全部过程就算完成了。


下面是复杂版本:保证你能看懂。如果你觉得不想看的话可以回去看简单版本:

假设有n对男女,n是偶数。那我们设n = 2m。于是变成了2m对男女。

第1步:给女1、女2、……、女2m 每个女性发一个套套,成为他们的专属套套B,然后给男1、男2、……、男m每人发一个套,成为他们的专属套套C(如图)。那么这前m个男性 和所有2m个女性可以自由玩耍。


原文配图


这一步共发生了2m²次交配。然后男1号到男m号的使命都已经完成了,但是他们的套套C的外面还是干净的,后面还需要用到。

第2步我们分为m次小步骤来完成:

第2.1步:男(m + 1)号 → B1 → B(m + j) → 女(m + j)号。其中j 取从1到m的m个整数。

比如,男(m + 1)号,先穿着套套B1,再穿上套套B(m + 1),和女(m + 1)号啪啪。

然后,他脱下套套B(m + 1),再穿上套套B(m + 2),和女(m + 2)号啪啪。

这样,男(m + 1)号可以和女(m + 1)号到女2m号啪啪,这一步共发生了m次交配。

第2.2步:男(m + 2)号 → B2 → B(m + j) → 女(m + j)号。和2.1步类似,这一步是让男(m + 2)号爽一遍,这一步也是发生了m次交配。

这样的步骤可以持续到第2.m步,第2.m步是:男(m + m)号 → Bm → B(m + j) → 女(m + j)号。

因此,整个第2步发生了m²次交配。

第3步:我们注意到,套套C的外面还是干净的。

因此:男(m + k)号 → Bk → Cj → 女j号。先令j跑遍1到m,然后再令k跑遍1到m。(事实上,第2步也是先令j跑遍1到m,然后再令k跑遍1到m,只不过第2步我分解了,第3步我懒得分解了)

整个第3步发生了m²次交配。

至此为止,所有的交配已经完成,共4m²次交配,也即n²次交配。

整个过程用了3m个套套。折合成n对男女的话,只需要1.5n个套套即可。



评论区有一位朋友注意到这样一个事实:在第三步之前,B组女性的专属套套的内侧是干净的,事实上,即使B组女性的专属套套的内侧不干净,我们也能继续第三步。

我为什么要提这样一个事实?因为在这个1.5n的解法中,感觉并没有充分用干全部信息。如果充分利用全部信息的话,是不是会比1.5n更小?

如果n是奇数怎么办?一个很懒的办法是,我假设加一对虚拟的男女,那么这样一共有n + 1对男女,是偶数对,那么1.5(n + 1)个套套即可完成。

不过我显然不满足这样的方法,这样直接浪费了一对名额。我算得,n = 2m + 1时,只需要3m + 2个套套。即n为奇数时,需要的套套数为1.5n + 0.5,比上面的情况少1个。

其实思路和n为偶数的情况是一致的。

2m + 1个女性各有一个专属套套C,前m个男性有一个专属套套B。

第一步:前m个男性戴上专属套套B1至Bm,与所有女性交配,可以完事;

第二步:前m个男性的专属套套B1至Bm与前m个女性的专属套套C1至Cm交换;

第三步:后m个男性分别穿上C1至Cm,各就各位;前m个女性分别准备好B1至Bm,各就各位;

第四步:是不是还漏了一个男性?那个男性穿上最后一个套套,和所有女性交配一遍;

第五步:第三步各就各位的男男女女们可以完成最后一步了。


*********************************

*********************************

*********************************

目前的最新答案:

在我发出文章的六天后,也就是2018年4月25日13点52分,有评论区的朋友 @有限状态机 提出 43n+23\frac{4}{3}n+\frac{2}{3} 是可行的!

如图所示:我们把女性分为a、b、c、d四堆人。其中a的人数=b的人数=c的人数=m,d单独1人。同样,男性也是这样的划分(这样划分的前提是n = 3m + 1)。T是“套套”的简称。

首先,我们给a、b、d、A、B、D六堆人分发他们的专属套套,这样一共发4m + 2个套套。事实上这些套套就够了,4m + 2就等于答案 43n+23\frac{4}{3}n+\frac{2}{3} 。

第一步:a、b、d、A、B、D分别穿上自己的专属套套,互相交配(如何互相交配,请参照用2n个套套的那个方案)。交配完成后,所有女性的专属套套的内侧以及所有男性的专属套套的外侧仍然是干净的。

第二步:TA变Tc,即A堆所有男性的专属套套拿去做c堆所有女性的专属套套。

第三步:D → TD → Td → Tc → c。(请注意分辨大写的C与小写的c)

上面这些符号的意思是:D堆男性(其实就那一个男性)穿着专属套套D,再穿着d堆女性(其实就那一个女性)的专属套套d,再穿上c堆女性的专属套套c,与c堆女性进行交配。注意到这一步进行后,TD的外侧以及Td的内侧仍然是干净的。

第四步:B → TB → Td → Tc → c。注意到这一步进行后,TB的外侧以及Td的内侧仍然是干净的。

第五步:Ta变TC,即a堆所有女性的专属套套拿去做C堆所有男性的专属套套。

第六步:C → TC → TD → Tb → b。注意到这一步进行后,TD的外侧以及Tb的内侧仍然是干净的。

第七步:C → TC → Tc → c。

第八步:Td变TD,TD变Td。这句话什么意思呢?注意到TD的外侧以及Td的内侧仍然是干净的,因此我们把Td变成D的专属套套,把TD变成d的专属套套。

第九步:TB变Ta,Tb变TA。

进行到现在,我们有两个事实可以确认:

一:还差A → c,C → a,C → d三个步骤;

二:a、c、d、A、C、D这六组都有自己的专属套套。

因此第十步:a、c、d、A、C、D戴上自己的专属套套尽情交配。

Over!

那么问题来了,n = 3m以及n = 3m + 2的情况,用多少个套套可以完成呢?这就交给读者了,因为n = 3m + 1的情况解决后,剩下两个情况就小case了。


我和评论区的朋友们在思考这个问题的过程中,还同时思考了以下问题:

扩展1:

n对男女,在给定n个套套的情况下,最多能够完成多少次交配?

我目前得出的结论是:当n为偶数,答案是 n22+n\frac{n^2}{2}+n ;当n为奇数,答案是 n22+n−12\frac{n^2}{2}+n-\frac{1}{2} 。这个问题值得我开一篇新的文章讲述:

从一道很污很污又有趣的推理题说起(2)

这里只介绍图示,打钩的表示可以进行有效交配。

原文配图

扩展2:


如果套套能够翻过来反着用,那情况又应该是如何?

如果是n男m女的情况,情况又是如何?(特别地,有评论区的朋友指出n男2n女的情况只需要2n个套套,这一点不难思考得出)

如果某m个人的性病是一样的,他们之间可以直接体液接触,那么最少需要多少个套套?(温馨提示:现实生活中,哪怕两个人的性病一样,不戴套的话也可能造成交叉感染从而加重病情噢)

这些问题我在网上没有找到相关的答案。如果评论区有朋友得出答案,我会第一时间更新(刷新)文章。

当然我最关心的是,回到最初的问题,在n对男女的情况下, 43n+23\frac{4}{3}n+\frac{2}{3} 是不是极限了?

如果你有更美妙的思路,甚至更省的方案,欢迎告诉我。

评论区有大量回答n甚至n以下的答案。我想强调:只要有n个女性,就至少需要n个套套。另外,电脑已经验证出3对男女的下界是4个套套,4对男女的下界是6个套套。如果你认为n是正确答案,先把n = 3和4的情况解决了。

我提供两个可能具有参考价值的国外网站(他们对类似的题目做出了讨论):

Glove Problem -- from Wolfram MathWorldhttp://www.cs.huji.ac.il/~dporrat/orgy.ps

其中有一篇文章对“医生、病人、手套”问题进行了解答。“男女性交”结构能不能等价于“医生病人”结构?我认为不能,因为不同的医生能够用同一双手套,但是性交中不同的男人不能用同一个套套。那能不能找到一个类似的简单易懂的结构来替代“男女性交”结构?我目前没想出来,希望网友积极发挥想象力。

当然最后还是要温馨提示:为了你和他人的健康,请在性交过程中采取安全措施。

知乎原文

一张图说明二项分布、泊松分布、指数分布、几何分布、负二项分布、伽玛分布的联系

原文配图

图左边是一回一回地做试验,右边是沿着时间往前走。这里的“连续情况”指的是时间连续,不是说泊松分布是连续型分布。时间可以是1.2秒、1.3秒,但这段时间里发生的次数还是0次、1次、2次,所以泊松分布仍然是离散型的。

图上的两个“极限”,指的是把每次试验占用的时间越分越短,同时把单次发生概率按比例缩小,让每秒平均发生次数保持不变。这样,固定一段时间内发生多少次,对应泊松分布;等到第一次发生要多久,对应指数分布。