这个Riddler公司谜题是关于流行的秘密圣诞老人礼物交换游戏。我们能猜出谁是我们的秘密圣诞老人吗?
41名538名工作人员决定互送礼物,作为秘密圣诞老人计划的一部分。每个人都被随机分配到报头上的其他40个人中的一个给自己送礼物,但他们不能给自己。秘密圣诞老人结束后,每个人都很自然地想知道是谁给了他们礼物。所以,他们每个人都决定问最多20个人他们是谁的秘密圣诞老人。如果他们在20次尝试中找不到送礼物的人,他们就会放弃。(毕竟,二十个同事是很多需要交谈的同事。)每个人都单独提问和回答——他们不会告诉别人的秘密圣诞老人是谁。此外,除了“你是为谁做秘密圣诞老人的?”
如果每个人都以最佳方式提问,给自己最好的机会揭开神秘圣诞老人的面纱,那么每个人发现自己的神秘圣诞老人是谁的概率是多少?这个最佳策略是什么?(随机询问是行不通的,因为平均只有一半的人会这样找到他们的秘密圣诞老人,而且每个人都有大约1/2万亿的机会知道。)
这是我的解决方案:
[显示解决方案]
为了概括这个问题,让我们假设总共有2n+1$名员工,每个人都可以问$n$名同事他们是谁的秘密圣诞老人。这个问题询问的是$n=20$,但我们将在这里检查一般情况。
这个问题的一个关键方面是同事之间没有沟通。每个独立工作人员都试图发现他们的秘密圣诞老人,不能使用其他同事收集的信息。这个假设实际上大大简化了问题;从个人提问的角度来看,有两类同事:(1)那些我们一无所知的人;(2)那些我们已经认识他们的秘密圣诞老人或他们是谁的秘密圣诞礼物的人。策略由一系列决策组成,其中我们必须查询组(1)中的某人或组(2)中的某个人。同事之间缺乏共谋意味着每个员工必须使用相同的策略。因此,实际上并没有那么多不同的可能策略!让我们依次看一看。
纯随机策略
最简单的策略是随机选择$n$个同事。每个同事都有$\tfrac{1}{2n}$成为你的秘密圣诞老人的机会,所以无论人数多少,你找到你的秘密圣诞节的概率都是$\tfrac{1}}{2}$。由于每个人都必须使用相同的策略,每个人找到自己的秘密圣诞老人的概率是:
\[
P_\text{rand}=\frac{1}{2^{2n+1}}
\]随着$n$的增加,这个值很快就会变小。当$n=20$时,我们得到$P_\text{rand}=4.55\times10^{-13}$(如问题陈述中所述,大约2万亿分之一)。确实可能性很小。随机策略最大限度地提高了个人找到秘密圣诞老人的机会,但如果目标是最大限度地增加每个人找到了他们的秘密圣诞老人。
决定性战略
如果不随机挑选,只有一个选择:问你的同事!一旦他们透露了自己的天赋,你就可以问那个人,依此类推。你可以想象一个图,其中每个节点都是一名工作人员,然后你画一个箭头将每个秘密圣诞老人连接到他们的目标。完成此操作后,每个节点正好有一个传入箭头(来自其秘密圣诞老人)和一个传出箭头(指向其目标)。下面显示了这样一个图表的示例。
请注意,这些节点形成了闭合环。可以有一个或多个较小的循环,如上所示。在我们处理一般情况之前,让我们看看如果团队规模较小会发生什么。
小组($n=1$或$n=2$):在$n=1$s的情况下,有三名工作人员,他们必须处于长度为3的单个周期中。在这种情况下,我们立即认识我们的秘密圣诞老人;就是那个我们没有送礼物的人!我们甚至不需要问任何问题来了解这一点。在$n=2$的情况下,有五名工作人员。如果它们形成一个长度为5的循环,我们可以跟随圣诞老人,直到只剩下一个同事。因为不可能有长度为4的周期,所以被遗漏的同事一定是我们的秘密圣诞老人!再一次,即使我们不直接问他们这个问题,我们也可以准确地推断出我们的秘密圣诞老人。
较大的组($n\ge2$):如果团队规模更大,以前使用的演绎论点就不再有效,因为在我们问完所有问题后,剩下的同事太多了。每个工作人员只有在所有回路足够小的情况下才能找到他们的秘密圣诞老人。由于会提出$n$个问题,因此每个循环最多必须有$n+1$个成员。事实证明,计算大循环比计算小循环更容易。所以我们追求的可能性是:
\开始{align}
P_\text{确定}
&=\frac{\text{分配,其中每个循环最多有n+1\text{nodes}}{\text{分配总数}}\\
&=1-\frac{\text{包含至少}n+2\text{nodes}}{\text}循环的赋值\\
&=1-\frac{\sum_{k=n+2}^{2n+1}\left(\text{Assignments containing a loop with}k\text{nodes}\right)}{\text{赋值总数}}
\结束{align}赋值总数是$\{1,\dots,2n+1\}$的排列数,这样就没有固定点,因为没有人可以成为自己的秘密圣诞老人(这不是什么秘密)。这正是错乱$D_{2n+1}$,我们在Lonesome King拼图.
对于分子,我们必须计算有多少种方法可以得到长度为$k$的循环。由于$k\ge n+2$,最多剩下$n-1$个节点。因此,长度为$k$的循环不能超过一个。有${2n+1\choose k}$种选择循环的方法,$(k-1)!$排序循环中元素的方法,以及安排不属于循环的其余节点的$D_{2n+1-k}$方法。请注意,我们不会以这种方式冒重复计数的风险,因为没有足够的剩余节点来生成长度为$k$或更大的循环。最终结果是:
\[
P_\text{determ}=1-\frac{\sum_{k=n+2}^{2n+1}{2n+1选择k}(k-1),D_{2n+1-k}}
\]在$n=20$的情况下,其计算结果为
\开始{align}
P_\text{deterim}&=\tfrac{97939699570365313025758987280981560791683250767}{30766241990558756565456899376849633804439730767}\\
&\约0.318335
\结束{对齐}如此概率约为31.8%。不错!下面是概率随$n$变化的曲线图。
如上所述,当$n=1$或$n=2$时,概率等于1,因为在这些情况下,即使我们问错了同事,我们也可以推断出秘密圣诞老人。奇怪的是,案例$n=3$(7人)的概率低于案例$n=4$(9人)。作为$n\to\infty$,概率趋于有限极限。为了找到这个极限,我们可以使用错位公式$D_n=\left[\frac{n!}{e}\right]$,其中$[x]$是最接近$x$的整数。然后我们有:
\开始{align}
P_\text{determ}&=1-\frac{sum_{k=n+2}^{2n+1}{2n+1选择k}(k-1),D_{2n+1-k}}{D_{2n+1}}\\
&\近似1-\frac{\sum{k=n+2}^{2n+1}{2n+1选择k}(k-1)!(2n+1-k)!}{(2n+1)!}\\
&=1-\sum_{k=n+2}^{2n+1}\frac{1}{k}\\
&\大约1-\log(2)\\
&\约0.306853
\结束{align}作为$n\to\infty$,此近似变得精确,极限概率为$1-\log(2)$,或约30.7%。这可以通过使用错位的上下限严格地显示出来;即$\frac{k!}{电子}-\tfrac12\le D_k\le\frac{k!}{e}+\tfrac12$。
在上面的推导中,我们计算了每个人当每个人都使用确定性策略时,就会获胜。如果我们对一个人使用这种策略获胜的概率感兴趣,我们可以观察到,只要他们不属于上述总和中长度为$k$的大链,他们就会获胜。因此,个人获胜的概率由以下公式给出:
\开始{align}
P_{text{determ}}^{text{individual}}&=1-\frac{\sum_{k=n+2}^{2n+1}{2n+1选择k}(k-1),D_{2n+1-k}\tfrac{k}{2n+1}}{D_{2 n+1}
\结束{align}此处是作为$n$函数的此图:
当$n>2$时,个人获胜的概率始终小于50%。当$n=20$时,个人获胜的概率约为0.487805,或48.8%。可以像以前一样计算$n\to\infty$这样的限制,这次我们得到$\tfrac{1}{2}$。因此,总而言之,从个人的角度来看,确定性策略比随机猜测略差,但它产生的可能性最大每个人找到他们的秘密圣诞老人。
混合战略
纯随机策略的优点是,无论赋值是什么,总是有一些机会每个人都会找到他们的秘密圣诞老人。事实上,每次作业的机会都是一样的。不幸的是,这种可能性很低。相反,确定性策略的成功在很大程度上取决于分配。在某些情况下,它对每个人都有效,而在其他情况下,它只对某些人有效。
原则上,可以设计一个混合的策略,例如,对一些移动使用确定性策略,然后随机播放剩余的移动。混合策略的潜力在于,它为每个任务都提供了获胜的机会,即使这种机会很小。不幸的是,对于这个问题,这种策略总是比纯粹的确定性策略更糟糕。