首页 > 试题广场 >

囚犯猜帽子问题

[问答题]
100个囚犯从前往后坐成一列。坐在最后面的那个囚犯能够看到其余99个囚犯,坐在最前面的 那个囚犯啥也看不见。看守给每个囚犯戴上一顶黑色的或者白色的帽子。然后,看守会从后往前依 次叫这些囚犯猜测自己头顶上的帽子的颜色。如果哪个囚犯猜对了,他就自由了。坐在前面的每一 个囚犯都可以听到后面的囚犯的猜测。如果这100个囚犯事先可以商量好一种策略,那么最理想的策 略是什么?
100个囚犯从前往后坐成一列。坐在最后面的那个囚犯能够看到其余99个囚犯,坐在最前面的那个囚犯啥也看不见。看守给每个囚犯戴上一顶黑色的或者白色的帽子。然后,看守会从后往前依次叫这些囚犯猜测自己头顶上的帽子的颜色。如果哪个囚犯猜对了,他就自由了。坐在前面的每一个囚犯都可以听到后面的囚犯的猜测。如果这100个囚犯事先可以商量好一种策略,那么最理想的策略是什么?
囚犯们可以乱猜一通,最坏情况下所有人都猜错,平均下来则会有50个人猜对。这个题有趣的地方就在于,100个囚犯事先可以商量一种策略,也就是说坐在后面的囚犯可以用他的猜测给坐在前面的囚犯透露一些信息。很显然,坐在最后面的囚犯是不可能保证自己猜对的,他猜黑猜白都只有一半的几率猜对,似乎没什么区别;但囚犯可以事先约定好一种暗号,即最后一个囚犯猜黑表示什么意思,猜白表示什么意思。比如,最后一个囚犯可以猜测和他前面的囚犯的帽子一样的颜色,这就相当于用他的猜测告诉了他前面那个囚犯该猜什么,于是坐倒数第二的囚犯可以保证被释放;此时,坐在倒数第三个位置上的囚犯面对与刚才坐最后的囚犯相同的处境,他同样可以用他的猜测提示出他前面那个人的帽子颜色。这样下去,可以保证至少50个人猜对,平均情况则有75个人猜对。这不是最佳的策略。
不可思议的是,最佳策略可以保证,除了坐在最后面的囚犯以外,其余99个囚犯都能猜对。你能想出这样的策略是什么吗?继续看下去前不妨先想一下。
前面那种策略的问题在于,坐在最后面的那个人透露出的信息不多。他完全可以透露出与全局相关的一些信息,因此以后所有的人都可以用这条信息。比如,他可以数一数他前面99个人一共有多少顶白帽子,并约定他猜“黑”表示他前面共有偶数顶白帽,他猜“白”表示他前面共有奇数顶白帽。坐倒数第二的那个人也数一数他前面98个人的白帽子个数:如果他数出来的个数与先前透露出的个数一奇一偶,则他自己肯定戴的是白帽子;如果他数出来的和先前透露的结果奇偶性相同,则他自己戴的肯定是黑帽子。这样,坐倒数第二的保证可以猜对了。那接下来咋办呢?不要忘了,其他囚犯能听到刚才那人猜的是什么,并且知道他的猜测保证是对的。这相当于每个人不仅能看到坐他前面的所有人的帽子颜色,还知道他背后那些人的帽子颜色,结合最初的那个奇偶性信息,接下来的每一个人都可以猜出自己脑袋上的帽子颜色。这样下去,至少99个囚犯可以保证被释放。这种策略显然是最佳的,不可能再有什么策略能保证所有人都被释放,因为至少坐最后的那个人不可能保证自己猜对。
发表于 2015-05-05 14:39:44 回复(5)
后面一个人看一眼前面那个人的帽子颜色,然后就说自己的帽子是这个颜色,那前面99个人一定能猜对,最后面那个委屈点看运气咯! 
发表于 2015-05-28 00:44:07 回复(3)
问题的关键是犯人是否能同时表达自己和前面一个人的帽子颜色。

100号比较特别,他没有自己头上的帽子信息,只要简单的说出99号的着色就可以了,无论黑白,他都有50%的机会,我们假定99号是白色。

99号只要在他面前那个人(98号)之前找一个参考就可以,如98号是黑色,而97号是白色。这里他可以说我与97号一样,是白色,言下之意98号就是黑色了。

也就是说,当99说我与x号一样,那么98到x+1号之间,都与99号不一样;当99号说我与Y号不一样时,那么98到Y+1号之间都与99号一样。
发表于 2015-08-15 22:30:10 回复(0)
如果后面的看起一个颜色说成是自己的颜色。最后的可能没出了。n-1出狱了,n-2也没出去。最好的情况,全出。最坏的情况一半。
发表于 2019-08-10 18:05:20 回复(0)
最后一个可以根据看到前面的比例,猜测自己的颜色,然后每个人可以有两种回答,“我是”+自己对应的颜色,如果含有“我”字,则暗示前面一个个的帽子颜色为黑色,否则为白色。如:“我是白色”,则说明前面的囚犯帽子的颜色为黑色,这样至少有99个囚犯可以答对。
发表于 2017-10-26 08:52:46 回复(0)
99个人~~ 重音表示前面说出的颜色是相反的颜色,轻音表示一致的,只要最后牺牲一下就好。万一猜对了就是100

发表于 2017-09-15 15:02:45 回复(0)
自己只想到了83人。
囚犯们约定,当100看到99和98帽子颜色相同时,喊“白色”;否则喊“黑色”。
若99听到白色,则观察98的帽子并喊出该颜色;
此时98和99喊一样的颜色。
若99听到黑色,则喊98帽子颜色的反;
此时98要喊和99不同的颜色。
如此一来,每三人一组,坐在前边的两个人总能自由;而第三个人只有0.5的概率自由,即3人自由2.5人
100人有33组,33*2.5 + 0.5 = 83人。
发表于 2015-08-20 20:59:29 回复(0)
商量对策是:看前面人的帽子,如果前面人的帽子和自己帽子都是黑色就说黑色,如果前面人的帽子是白色而自己的帽子是黑色就说黑色的,注意:要加个“的”用来表示白色,没有“的”表示黑色,例如,后面人说说他自己是‘黑色的’你前面的人是黑色帽子,就说‘白色’,这样回答了自己的帽子颜色也告诉前面的人帽子颜色,当然最后那个人暂时还想不出办法如何知道他的帽子颜色。
发表于 2015-07-14 00:01:05 回复(0)
第100个人,先数一下前99个有几个黑色帽子,然后如果100号喊黑表示有奇数个黑色,反之喊白色则偶数个黑色,然后第99号继续数前98个,来猜测自己的颜色,一次类推。。。
发表于 2015-07-11 15:49:36 回复(0)
前面的人是黑的就说“我猜x色”,前面的人是白的就说“x色”
发表于 2015-07-08 18:22:17 回复(1)
简单来说,他们可以商量一种对策:最后一个人猜测白色代表有前面有奇数个白帽子(或者偶数白帽子,方式无所谓)。然后倒数第二个犯人可以看到前面犯人的帽子的颜色,根据最后一个犯人的透露出的信息可以判断自己头上帽子的颜色。这样就可以保证倒数第二个犯人获得释放,倒数第三个可以听见后面的犯人的猜测,另外自己后面一位一定是猜测正确的,这样也可以判断自己头上的帽子的颜色。就这样可以判断至少99个犯人的帽子的颜色。最后一个有1/2的概率是猜对的。
发表于 2015-06-11 09:03:47 回复(1)
是否可以约定语气呢?
假设有低声和高声两种,最后一个人以他前面那个人的帽子的颜色为答案;
对于倒数第二个,他明确的知道自己帽子的颜色,如果他前面的人的帽子颜色与其相同,就高声喊出自己帽子的颜色,否则低声喊出,这样前面99人都会了解自己帽子的颜色,除了最后一个人
发表于 2015-06-02 22:24:39 回复(0)