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

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

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


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

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

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

$P'=\sum\limits_{k=\lfloor\frac{n}{2}\rfloor+1}^{n}P'(k)$

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

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

$s=C_{n}^{k}·(k-1)!·(n-k)!=\frac{n!}{(n-k)!k!}·(k-1)!·(n-k)!=\frac{n!}{k}$

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

$P'(k)=\frac{s}{n!}=\frac{1}{k}$

于是最终答案为

$P(n)=1-P'=1-\sum\limits_{k=\lfloor\frac{n}{2}\rfloor+1}^{n}P'(k)=1-\sum\limits_{k=\lfloor\frac{n}{2}\rfloor+1}^{n}\frac{1}{k}$

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

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

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

猜你喜欢

转载自www.cnblogs.com/yhyxy/p/11403157.html