摸箱子问题以及在Static data structure problems上的应用
以前提到过,理论计算机这门课会邀请一些正在这边访问的教授来讲课,由于是本科生,所以这些教授一般都是讲些有趣的东西,比如之前的overhang 堆积木 - 能伸出桌面多远?。今天这次课,来自Aarhus的Peter Bro Miltersen讲了一个很有趣的游戏问题。
现在有100个箱子,有一个学生,一张写着他的名字的名片被放在某个随机选择的箱子里面。现在这个学生可以检查不超过一半也就是50个箱子,希望能够把它的名字找出来。
很显然,这个学生没有什么好的方法,随机选择50个箱子打开,有一半的概率可以发现含有它的名字纸条的箱子。
OK,现在还是100个箱子,但是有100个学生,写着这些学生的名字的100张纸条随机放入100个箱子里(每个箱子恰好一张纸条)。现在每个学生可以检查不超过一半也就是50个箱子,每个学生希望能找到含有自己名字的箱子。如果在游戏中,所有学生都是独立的(他们不能互相讨论以及看到其他人的开箱结果),问所有学生都实现目标的概率有多大?
如果把每个学生的结果认为是独立的,那么成功的概率只有
,但其实我们可以做的比这要好得多。事实上,让每个学生都找到含有自己名字的箱子的概率可以高达0.3。
假设学生的名字就是它的编号,从1到100。第
个箱子里的编号是
。第
个学生这样做:先打开第
个箱子,再打开第
个箱子,再打开第
个箱子,以此继续下去,直到发现写着自己名字(也就是
)的纸条或者打开箱子数到达50个为止。
那么当且仅当在
到
这个置换中含有长度超过50的圈时,有学生找不到含有自己名字的箱子。这个概率是
(注意一个随机置换里含有一个长度为
的圈的概率为
)。
所以上面策略的成功概率为
。
类似于以前提到的帽子游戏一以及帽子游戏二,我们要最大化一个团体都成功的概率,但是每个单个个体成功的概率又是一定的,那么我们只需要设计策略时,让大家要么几乎同时成功,要么几乎同时失败。就像上面的策略里,如果有人失败,意味着排列中有一个长度很大(大于n/2)的圈,这个圈上所有人同时也会失败,通过把失败的实例重合到一起,这样就提高了总体成功的概率。
上面这个问题不是孤立的,它可以应用在static data structure problems的下界证明上。对于后面这个问题,在最近是一个很热门的研究领域,但在这里写了也没人看,知道这个问题的也不需要看,所以我只提一下我们还可以做什么,下面是一个open problem,可以直接得出一个data structure问题的一个下界,是一个可以写学术论文的题目:
Open problem:假设现在有
个箱子,
个学生,学生们的名字纸条被放入随机选中的
个箱子里。现在每个学生可以检查不超过一半也就是
个箱子,以找到含有自己名字的箱子。问这时候学生可以采取什么样的策略最大化所有学生都成功找到含有自己名字的箱子的概率。
期望结果:证明指数级小的下界或者找到常数概率的策略。
有兴趣的可以参考The cell probe complexity of succinct data structures.
个箱子,
个学生,学生们的名字纸条被放入随机选中的
期待结果中所谓得常数概率的策略不是已经给出了吗?不是很理解。
注意open problem里面的箱子个数有2n个,也就是有些箱子将是空的。这样最开始那个0.3的策略就不能用了。
有趣。但是如何论证0.3就是最大值呢?
因为成功概率之多为0.5,所以只有常数倍数的gap,在我们理论计算机领域已经不考虑了
是不是这些问题(比如这个问题,还有那个帽子问题)都可以等价于一个编码问题,最后都可以根据香农的编码理论可以有一个压缩的方法(虽然未必能达到压缩的极限)?
我还以为miltersen转行去做game不做data structure了呢。
"一个随机置换里含有一个长度为j的圈的概率为1/j"
应该是小于等于1/j吧!
没有错,就是恰好是1/j。
j=1表示所有置换都含有长为1的圈?
嗯,那个结论需要“j>n/2”。
现在我们正在参加一个知识比赛,我感觉这个里面也涉及一个团队成功的问题。特向你请教。
6队参加比赛,每对3人。
给出6道判断题,每题10分,所有参赛队员均须做答,主持人每读完一题并提示开始做答后(读题的时候题目会打在背景上,因此队员可以看到整个题目,也就是有讨论的时间),所有参赛队员第一时间同时举牌作答,若该参赛队其中一名队员答错或犯规,则取消该名队员速答题后续题目答题资格,余下队员继续作答直至全部淘汰或本环节结束;
举例:第一道题,如果3个队员都答对,加30分,3人继续比赛
如果2个队员都答对,加20分,答对的2人继续比赛
请教,对于这个规则,选择怎样的策略比较好呢?
我的感觉是这样的比赛中,三名队员几乎是互相独立的,对每个人来说,都是答错了都被淘汰,没看出能有什么团体的策略在里面。
problem本身描述不严谨?若该参赛队其中一名队员答错或犯规,如果2个队员都答对
没理由一个参赛队的3人持最终不同的意见&result啊?
思虑挺神奇 不过细节还有点错误
似乎仅当j=n的时候才会出现概率是1/j的情况(n!/(n-1)!),而且显然ln2不等于0.301 0.301是以十为底的对数
其他时候概率的确是1/j sorry刚才组合数算错了 不过ln2的确不是0.301