第602章 康威两个巫师的谜语
20世纪60年代,康威设计了一个极其棘手的谜题,直到最近才引发了很多讨论,2013年,麻省理工学院的塔尼亚·霍瓦诺娃发表了一篇论文。以下是那篇论文中出现的谜题:
昨天晚上,我在一辆公共汽车上坐在两个巫师后面,听到了下面的话:
A:“我有正整数个数的孩子,他们的年龄是正整数,和是这辆车的车号,乘积是我自己的年龄。”
B:“如果您把您的年龄和孩子的数目告诉我,也许我就能算出他们每个人的年龄了。”
A:“不。”
B:“啊哈!我终于知道你多大了!”
公交车的车号是多少?
当然,你必须假定巫师B知道公交车的车号。还要注意,巫师们可以非常年轻,也可以非常年老,巫师A很可能是两万岁的老人。
下面是解题过程,我只能在程序的帮助下完全理解和验证。我不能重现所有的计算,但你可以相信我的话。
让我们把巫师A的年龄记为A,把公交车车牌记为b,把巫师A的孩子数记为c。例如,假设车号为b = 5。以下是孩子的数量、年龄分布和巫师A的年龄:
c=5,年龄分别为1,1,1,1,1;因此a=1;
c=4,年龄分别为1,1,1,2;因此a=2;
c=3,年龄分别为1,1,3;因此a=3;
c=3,年龄分别为1,2,2;因此a=4;
c=2,年龄分别为1,4;因此a=4;
c=2,年龄分别为2,3;因此a=6;
c=1,年龄分别为5;因此a=5;
在每种情况下,知道巫师A的年龄和孩子的数量表明后者可能的年龄。因为巫师A回答“不”,而巫师B知道车号,这意味着b不等于5。
类似地,你可以通过逐个验算可能的车号来解决这个问题,找出那些可以知道巫师的年龄和他的孩子的数量,但不能知道每个孩子的年龄的车号(这个车号的属性标记为P)。计算b = 1, 2, 3,…12(就像我们刚才对b = 5所做的那样),结果表明b = 12是拥有P的最小数。
事实上,对于b = 12和c = 4,这四个孩子有两组可能的年龄——(2,2,2,6)和(1,3,4,4),这两组给出巫师的年龄都是相同的:A = 48。因此,对于b = 12,即使知道c = 4,a = 48,也无法推断出这四个孩子的年龄。这是否意味着b = 12是解?
不幸的是,并不一定。对于车号b = 13的情况,例如,这三个孩子的两组年龄——(1, 6, 6)和(2, 2, 9),a=36,巫师B不能从巫师A的年龄或他的孩子的数量得出他的孩子的年龄。
知道b = 12并不比知道b = 13更能确定孩子的年龄。当面对这个谜题时,大多数人经常回答“b = 12”,好像这个谜题在某种程度上暗示了b的最小可能解是正确的。但谜题并没有做出这样的断言。此外,如果没有进一步的推理,你无法在b = 12和b = 13之间进行选择,也无法在b的其他值之间进行选择,正如我进一步的计算所显示的那样。
然而b = 12才是正确答案,其原因是这个谜题中最有趣和最意想不到的部分。康威精心设计了他的谜题,你必须考虑巫师B的最后陈述,在巫师A的“不”之后,巫师B回答说,“啊哈!我终于知道你多大了!”这样就排除了b = 13。
事实上,对于b = 13,有两个额外的年龄集——(1,2,2,2,6)和(1,1,3,4,4),可以得出a = 48。换句话说,如果车号是13,巫师B不能从他的否定答案中推断出巫师A的年龄,因为他的年龄可以是36或48。因此,应该排除b = 13。
然而,当我们考虑b = 13的年龄序列并加上1时,消去b = 13就会排除b = 14。这样做表明,儿童的年龄集——(1,1,6,6)和(1,2,2,9)——的乘积是a = 36,而另两个年龄集——(1,1,2,2,6)和(1,1,1,3,4,4)——的乘积是a = 48。同样可以排除b = 15,并且一个接一个地排除了所有大于12的b。
因此,只有车号12 (b = 12)以及两个年龄集(2,2,2,6)和(1,3,4,4)唯一决定了巫师A的年龄:A = 48。
我承认我不明白康威是如何想出这个令人难以置信的谜题的!
喜欢数学心请大家收藏:(www.logos444.com)数学心掌阅免费小说更新速度全网最快。