N囚徒挑战——一个图论相关的概率问题

Posted yhyxy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了N囚徒挑战——一个图论相关的概率问题相关的知识,希望对你有一定的参考价值。

N囚徒挑战——一个图论相关的概率问题

一个房间内有 \(n\) 个盒子,从 \(1\)\(n\) 编号。同时有 \(n\) 个从 \(1\)\(n\) 的号码牌随机打乱放入盒子中,每个盒子有且仅有一个号码牌。
现有 \(n\) 个囚徒,从 \(1\)\(n\) 编号。要求所有囚徒完成一项挑战,如果所有囚徒挑战成功,那么他们就会被释放。挑战内容是:每个囚徒依次进入房间,打开并查看任意数量不超过 \(\lfloor\fracn2\rfloor\) (向下取整)个的盒子内的号码,然后将所有盒子恢复原状。如果囚徒 \(i\) 查看的盒子里有一个含有自己的号码 \(i\),则称该囚徒挑战成功。
挑战过程中所有囚徒禁止任何形式的交流。不过挑战前,所有囚徒有一次商议对策的机会,而且他们找到了最优策略(最优策略的含义是,如果一组数据不允许该策略成功,那么其他任何策略都不可能成功)!
给定n,求出最优策略下囚徒被释放的概率。


将盒子与号码的关系看作有向图 \(G\):如果盒子 \(i\) 内放有号码 \(j\) ,那么就存在一条从 \(i\) 指向 \(j\) 的有向边。不难发现,\(G\) 有一个重要特点:所有点的入度与出度均为 \(1\),这说明 \(G\) 一定由一些(意思是至少一个)互不连通有向环组成(如果不明白可以仔细想一想,这和欧拉回路有些像,区别只是 \(G\) 不一定连通)。

于是我们的策略也就呼之欲出了:沿着环依次查找即可。换句话说,囚徒 \(i\) 应从与自己编号相同的盒子 \(i\) 开始,如果盒子 \(i\) 内放有号码 \(j\),那么接下来就应该打开盒子 \(j\),以此类推,直到找到自己的号码或次数达到上限为止。按照这一策略,所有囚徒被释放的充要条件是所有的环的长度都小于 \(\lfloor\fracn2\rfloor\),不过这个概率可不容易计算,我们从相反的角度入手。

考虑互补情况:存在一个长度超过 \(\lfloor\fracn2\rfloor\) 的环的概率 \(P'\) 。显然这一情况可以不重不漏地划分为:存在一个长度为 \(\lfloor\fracn2\rfloor+1\), \(\lfloor\fracn2\rfloor+2\),......,\(n\) 的环。于是我们有

$P‘=\sum\limits_k=\lfloor\fracn2\rfloor+1^nP‘(k)$

那么如何计算 \(P'(k)\) 呢?首先挑出 \(k\) 个数成环,然后再对环上的点和剩下的点作全排列(注意,环上点的全排列属于圆排列)。我们得到:

对于 \(\lfloor\fracn2\rfloor<k≤n\) ,存在一个长度为 \(k\) 的环的情况数为

$s=C_n^k·(k-1)!·(n-k)!=\fracn!(n-k)!k!·(k-1)!·(n-k)!=\fracn!k$

再除以全排列 \(n!\) 得到

$P‘(k)=\fracsn!=\frac1k$

于是最终答案为

$P(n)=1-P‘=1-\sum\limits_k=\lfloor\fracn2\rfloor+1^nP‘(k)=1-\sum\limits_k=\lfloor\fracn2\rfloor+1^n\frac1k$

\(n\) 趋近于无穷时,我们有极限 \(\lim\limits_n\to\infty\sum\limits_k=n+1^2n=ln(2)\) ,于是大致有 \(\lim\limits_n\to\inftyP(n)=1-ln(2)≈0.307\)

不得不说,虽然有着最优策略,但可怜的囚徒们被释放的概率还挺低的。

关于该策略的最优性:事实上我也不知道该怎么严格的证明。不过按题设条件,每次囚徒的选择都是互相独立的,而每个囚徒事实上可以做的选择只有两种:随机选择/按有向边走。随机选择的胜率只有 \((\frac12)^100≈7.8886\times10^-31\),混合选择胜率也不高,因此按有向边走应该是最优策略。

以上是关于N囚徒挑战——一个图论相关的概率问题的主要内容,如果未能解决你的问题,请参考以下文章

图论相关

各种图论模型及其解答(转)

MT90图论基础知识及相关例题

算法总结图论相关

学习笔记CB006:依存句法LTPn元语法模型N-最短路径分词法由字构词分词法图论概率论

图论排序---拓扑排序