帽子颜色问题
这是我第一次听到的有趣的逻辑问题之一。我很小的时候父亲就告诉我了。
“有三顶黑帽子和两顶白帽子。让三个人从前到后站成一排,每人戴一顶帽子。每个人都看不到他们戴的帽子的颜色,但是他们只能看到站在前面的人的帽子的颜色。(因此,最后一个人可以看到前面两个人头上帽子的颜色,中间的人可以看到前面的人的帽子的颜色,但是看不到后面的人的帽子的颜色,而前面的人看不到任何人的帽子。现在,从最后一个人开始,问他是否知道他戴的帽子的颜色。如果他回答他不知道,继续问他前面的人。事实上,他们三个都戴着黑帽子,所以前面的人肯定知道他戴着黑帽子。为什么?”
答案是前面的人听到后面的两个人说“我不知道”。他以为自己戴着一顶白帽子,所以中间的人看到了他戴的白帽子。然后中间的人会做如下推理:“假设我戴了一顶白帽子,那么最后一个人会看到前面的两顶白帽子,但总共只有两顶白帽子。他应该明白他戴着一顶黑色的帽子。现在他说他不知道,这意味着我戴着一顶白色的帽子。这个假设是错误的,所以我戴了一顶黑帽子。”问题是中间那个人也说他不知道,所以前面那个人知道他戴白帽子的假设是错误的,所以他推断他戴了一顶黑帽子。
我们将这个问题归纳为以下形式:
“有几种帽子,每种都有几顶帽子。假设有几个人从前到后站成一排,每个人都戴一顶帽子。每个人都看不到他戴的帽子的颜色,每个人都能看到他前面所有人头上的帽子的颜色,但是看不到他后面所有人头上的帽子的颜色。现在,从最后一个人开始,问他是否知道他戴的帽子的颜色。如果他回答他不知道,继续问他前面的人。如果你一直问,那么一定有人知道他戴的帽子的颜色。”
当然,必须假设一些条件:
1)首先,帽子的总数必须大于人数,否则帽子就不够戴了。
2)“有几种帽子,每种都有几顶帽子和几个人”是队列中的每个人都预先知道的信息,每个人都知道每个人都知道这一点,每个人都知道每个人都知道这一点,等等。然而,这种情况下的“几个”不一定要一一给出数字。这些信息可以是像上面一样的经典形式,列出每种颜色的帽子数量。
“有三顶黑帽子,两顶白帽子和三个人”,
它也可以是
“有一顶帽子,两顶帽子和三顶帽子是红色、黄色和绿色的,但我不知道是哪种颜色,有6个人。”
甚至确切的数字也不知道。
“我不知道排了多少人,有黑白色的帽子,每顶帽子的数量比人数少1% ”,
那时,在底部的人不知道他在底部,他不知道他在底部,直到他开始问他,发现在他回答之前没有人问。在这篇文章的后面部分,当我写主题的时候,我只写预设的条件“有几顶不同颜色的帽子,每顶帽子有几个人”,因为这部分是确定的,主题也是确定的。
3)当然,没有戴在每个人头上的帽子都藏了起来。团队中没有人知道还剩下什么帽子。
4)并非所有的人都是色盲,不仅如此,只要两种颜色不同,他们就可以被区别开来。当然,他们的视力也很好,他们可以看到前方任何距离。他们非常聪明,他们的逻辑推理非常出色。总之,只要它们在理论上是从逻辑中推导出来的,它们就一定是推导出来的。相反,如果他们不能推出他们帽子的颜色,没有人会试图猜测或欺骗偷看——我不知道。
5)后面的人不能和前面的人耳语或做秘密信号。
当然,并不是所有的预设条件都能给出一个合理的话题。例如,有99顶黑帽子和99顶白帽子。不管你怎么戴,没人能知道你帽子的颜色。另外,只要不是只有一种颜色的帽子,在一个只有一个人组成的团队中,这个人也不可能说出他帽子的颜色。
但以下问题是合理的:
1)3顶红帽子,4顶黑帽子,5顶白帽子和10个人。
2)3顶红帽子,4顶黑帽子,5顶白帽子和8个人。
3)n顶黑色帽子,n-1顶白色帽子,n个人(n>0)。
4)1顶颜色为1的帽子,2顶颜色为2的帽子,...,99顶彩色99顶,100顶彩色100顶,共5000人。
有1顶帽子,2顶帽子和3顶帽子是红色、黄色和绿色的,但是我不知道是哪种颜色,有6个人。
6)连续有未知数量的人(至少两个人)。有黑色和白色的帽子。每顶帽子的数量比人数少1。
你可以试着不看我下面的分析来回答这些问题。
如果我们按照上面三顶黑帽子和两顶白帽子的推理方法,那么10个人就能杀死我们,更不用说5000个人了。然而,n在3中)是一个抽象的数字。考虑如何解决这个问题是非常有益的。
假设n个人已经戴上了帽子,最后一个排队的人什么时候会对他头上的帽子是什么颜色回答“是”?显然,只有当他看到前面所有的n-1人都戴着白色帽子时,这才有可能,因为所有的n-1白色帽子都已经用光了,只有黑色的帽子可以戴在他自己的头上,只要前面有一顶黑色的帽子。
帽子,那么他就不能排除他的头是黑帽子的可能性─ ─即使他看到前面的每个人都是黑帽子,他也可能仍然戴着n黑帽子。
现在假设最后一个人的答案是“我不知道”,那么轮到倒数第二个人提问了。根据最后一个问题的答案,他能推断出什么?如果他看到的都是白帽子,他可以立即推断出他戴了一顶黑帽子——如果他也戴了一顶白帽子,那么最后一个人应该看到一顶白帽子,当被问到他的时候,他应该回答“是”。但是如果倒数第二个人看到他面前至少有一顶黑帽子,他就不能做出判断——他可能戴着一顶白帽子,但是他面前的那些黑帽子让最后一个人无法回答“知道”;自然,他也可能戴着一顶黑色的帽子。
这种推理可以继续,但我们已经看到了一些迹象。最后一个人可以回答“知道”如果并且只有当他看到所有的白色帽子,所以他回答“不知道”如果并且只有当他看到至少一个黑色帽子。这是所有帽子颜色问题的关键!
如果最后一个人回答“我不知道”,那么他至少看到了一顶黑帽子,那么如果倒数第二个人看到了所有的白帽子,那么最后一个人在哪里看到了至少一顶黑帽子?别的地方没有,只有倒数第二个人的头上。这种推理继续下去,因为队列中的每个人都变成了:
“我身后的每个人都至少见过一顶黑帽子,否则他们会根据同样的判断判断自己戴着黑帽子,所以如果我看到前面所有的人都戴着白帽子,我一定是戴着我身后的人看到的那顶黑帽子。”
我们知道前面的人看不到任何帽子,更不用说黑色的帽子了,所以如果他后面的每个人都回答“我不知道”,那么根据上面的推理,他可以肯定他戴着一顶黑色的帽子,因为他后面的人一定看到了一顶黑色的帽子——只有他自己头上的那顶。事实上,很明显,第一个说出他头上戴的是什么颜色的帽子的人是第一个从团队一开始就戴黑色帽子的人,也就是说,第一个看到每个人都戴着白色帽子的人。
这种推理可能会让人觉得有点像循环推理,因为上面的推理包含“如果别人使用同样的推理”的意思,从逻辑上讲这样的自我参照命题有点危险。但事实上没有循环论证,这类似于数学归纳推理,每个人的推理都是基于他身后的人的推理,而且
对于最后一个人来说,他背后没有人,所以他的推理可以不依靠别人的推理而建立,这是归纳中的第一个推理。稍微想一想,我们可以改变上面的论点来适应多种颜色的任何推论:
“如果我们可以从假设中得出结论,某一种颜色的帽子肯定会出现在队列中,第一个不能从队列末端看到这种颜色的帽子的人可以立即根据与这个论点相同的论点作出判断。他戴着一顶这种颜色的帽子。现在我后面的人都不知道,所以我后面的人也看到了这顶颜色的帽子。如果我前面看不到这种颜色的帽子,那我一定是戴着这种颜色的帽子。”
当然,第一个人最初的推理很简单:“队列中一定有人戴着这顶彩色帽子。现在我看不到有人在我面前戴这顶彩色帽子,所以只能戴在我头上。”
至于问题1),显而易见,3顶红帽子、4顶黑帽子和5顶白帽子是为10个人准备的,并且在队列中应该至少有一顶每种颜色的帽子,因此从队伍的末端看不到某一种颜色的帽子的第一个人可以判断他戴的是这种颜色的帽子。通过这一点,我们还可以看到,当被问及团队最开始的第三个人时,应该有人回答“是”。由于从团队开始数起的第三个人最多只能看到两顶帽子,所以他最多只能看到两种颜色。如果他身后的人回答“我不知道”,那么他前面一定有两顶帽子,他头上的帽子一定是他看不见的那顶。
问题2)同样如此。八个人戴三顶红帽子、四顶黑帽子和五顶白帽子。那么队列中至少要有一顶白帽子。因为其他颜色的总数只有七种,所以排队的人必须回答“是”。
问题4)有点大,但原因与问题2)完全相同。5000人戴100种颜色的5050顶帽子,前面99种颜色的帽子数量是1+…+99 = 4950,所以队列中必须有第100种颜色的帽子(至少50顶帽子),所以如果他后面的每个人回答“我不知道”,那么看不到100种颜色的帽子的人可以断定他戴的是这种颜色的帽子。
至于5)和6)“有1顶帽子和2顶帽子和3顶红、黄、绿帽子,但我不知道是哪种颜色,有6个人”和“一排人不多,有黑、白帽子,每顶帽子的数量比人数少1”。原理完全一样,所以我不做具体分析。
最后要指出的一点是,我们只是在上面证明了,如果我们能够根据不同颜色的帽子的数量和队列中的人数来判断队列中至少一顶特定颜色的帽子,那么一定有一个人能够判断他头上帽子的颜色。因为如果他身后的所有人都回答“我不知道”,第一个从队伍末端看不到这种颜色帽子的人可以判断他戴的是这种颜色的帽子。然而,这并不意味着他在调查中肯定回答了“是”,因为可能有其他方法来判断他帽子的颜色。例如,在问题2)中,如果队列如下:(箭头指示队列中面的方向)
白色、黑色、黑色、红色、红色和白色→
然后队伍最后的第一个人可以立即回答说他头上戴着一顶白帽子,因为他已经看到了所有的三顶红帽子和四顶黑帽子,而他能留给自己的只有一顶白帽子。
上一篇:猴子捞帽子
下一篇:数学故事——土耳其商人和帽子