谢丽尔的生日

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

谢丽尔的生日(Cheryl's birthday)   

目录

什么是谢丽尔的生日

  谢丽尔的生日是一个数学问题的非正式名称,是新加坡及亚洲中学数学奥林比克竞赛的题目,在2015年4月10日由江坚文(Kenneth Kong)贴上Facebook,之后在网络上爆红,已获得《纽约时报》《卫报》英国广播公司BBC)的报导,出题者也相当意外。

  在题目中,名叫谢丽尔(Cheryl)的女生给了她刚认识的朋友艾伯特(Albert)和柏纳(Bernard)一些有关她生日的资讯,读者要根据这些资讯及她朋友的回复判断谢丽尔的生日。   

谢丽尔生日的来源

  此问题是由新加坡《狮城有约》的电视主持人江坚文贴上Facebook,之后有数千个回复,包括一些有趣的回复,例如认为谢丽尔根本不希望艾伯特和柏纳知道她的生日,这一题引发了江坚文和他妻子的争论,江坚文误以为这是小学数学考试的一部分,且是针对5至6岁的儿童。江坚文后来更正这是2015新加坡及亚洲学校数学奥林匹克(SASMO)的题目,是针对14岁的学生设计。比赛在2015年4月8日举行,有二万八千名来自新加坡、泰国、越南、中国及英国的学生参加。SASMO的主办人员表示,此问题是针对参赛者中的前40%,目的是为了“筛选出更好的学生”。SASMO的执行董事告诉BBC:“这样的逻辑及分析思考可以用在生活上及工作中。”   

谢丽尔生日的问题内容

  此问题是在25个问题中的第24个,问题如下:

  艾伯特和柏纳刚认识谢丽尔,想要知道谢丽尔的生日,谢丽尔列出了十个可能的日期:

  5月15日、5月16日、5月19日、6月17日

  6月18日、7月14日、7月16日、8月14日

  8月15日、8月17日 接着谢丽尔分别告诉艾伯特及柏纳她生日的月及日,以下是艾伯特和柏纳的回应。

  艾伯特:我不知道谢丽尔的生日是哪一天,但我知道柏纳也不知道

  柏纳:一开始我不知道谢丽尔的生日,但现在我知道了

  艾伯特:那我也知道谢丽尔的生日了

  请问谢丽尔的生日是那一天?   

谢丽尔生日的答案和解法

  谢丽尔的生日是7月16日。 其解法是推理的方式,删去不可能的日期,这也是Alex Bellos在英国的《卫报》解出此题的方式:

  可能的生日用表格方式条列如下,将同月的放在同一列,同日的放在同一栏:

5月 15 16 19
6月 17 18
7月 14 16
8月 14 15 17

  (第一句话)艾伯特:我不知道谢丽尔的生日是哪一天,但我知道柏纳也不知道。

  艾伯特知道的是月份,而每一个月都有一个以上的可能日期,不论艾伯特知道的月份是哪一个月,都不可能会知道谢丽尔的生日,第一句话的前半没有提供有关生日的资讯。

  柏纳若要知道明确的生日日期,唯一的可能是生日日期的日在十个可能日期中只出现过一次,十个可能日期中,只有18日和19日各出现过一次,例如若柏纳知道生日的日是18或是19,就可以立刻推理得到生日是6月18日或5月19日。

  但艾伯特说他知道柏纳也不知道生日是哪一天,因此可以推测他知道的月份是5月或6月以外的月份(即7月或8月),因为若是5月或6月,柏纳有可能知道生日是哪一天。

  (第二句话)柏纳:一开始我不知道谢丽尔的生日,但现在我知道了

  根据第一句话柏纳可以推测月份是7月或8月,而他已经知道生日是哪一天,表示他知道的日是在7月或8月中只出现过一次的日,因此可以排除7月及8月可能生日中都有出现的14日,柏纳知道的日可能是15日、16日或17日。

  (第三句话)艾伯特:那我也知道谢丽尔的生日了

  目前还有可能的生日是7月16日、8月15日及8月17日,而艾伯特在听完第二句话就可以知道生日是哪一天,表示他知道的月份在7月16日、8月15日及8月17日中只出现一次。因此他知道的月份是7月,生日是7月16日。

  答案是7月16日。   

谢丽尔生日的延伸理解

  除了上述答案外,有些人认为8月17日也是一个可能的答案。但新加坡及亚洲学校数学奥林匹克认为此答案无效。   

存在争议之处

  造成对题意存在不同理解的原因是题目的表述不够准确,至少在避免歧义方面做得不够完善。“但我知道柏纳也不知道”这一句的英文原文“but I know that Bernard doesn't know too”就存在此问题。所以这是一个英文语言表达与理解的问题。一些人觉得此处的“知道柏纳也不知道”是指“能很有把握地猜测柏纳也不知道”,而另一些人则认为应该是指“已经由某种方式准确地知晓柏纳确实不知道的事实”。其实联系上下文就可以发现,出题人在文中此处所指(或暗示)的应该是前一种意思,即柏纳只是在进行“猜测”,而非已知晓部分事实。一般来说,数理内容的叙述要尽量措辞准确,避免引起可能的歧义。

  艾伯特是否事先知道有关柏纳所知的部分事实,会干扰他自己第一步的思路,从而将这个推理过程最终引向完全不同的方向。   

另一种理解的推理过程(版本1)

  (第一句话)艾伯特:我不知道谢丽尔的生日是哪一天,但我知道柏纳也不知道。

  艾伯特知道的是月份,而每一个月都有一个以上的可能日期,不论艾伯特知道的月份是哪一个月,都不可能会知道谢丽尔的生日,第一句话的前半没有提供有关生日的资讯。

  柏纳若要知道明确的生日日期,唯一的可能是生日日期的日在十个可能日期中只出现过一次,十个可能日期中,只有18日和19日各出现过一次,例如若柏纳知道生日的日是18或是19,就可以立刻推理得到生日是6月18日或5月19日。因此,首先排除6月18日和5月19日这两天。

  注意到,这时6月只剩下17日这一天。如果艾伯特知道的月份是6月,那么这时他已经知道了谢丽尔的生日。但艾伯特并不知道,所以又排除6月17日这一天。

  (第二句话)柏纳:一开始我不知道谢丽尔的生日,但现在我知道了。

  根据第一句,剩余的日期中,14日、15日和16日分别出现在两个月中,只有17日只出现在8月。现在柏纳知道了谢丽尔的生日,这表明柏纳知道的日期是17日,所以谢丽尔的生日是8月17日。

  (第三句话)艾伯特:那我也知道谢丽尔的生日了。

  艾伯特也知道只有17日是唯一的,因此在听到第二句话之后,艾伯特也知道了谢丽尔的生日是8月17日。

  答案是8月17日。   

另一种理解的推理过程(版本2)

  下面假设“艾伯特在说第1句话时已经由某种方式准确地知晓柏纳确实不知道的事实”,并指出此情形下的解法以及与前一种情形的步骤差异。

  如果艾伯特在第1次讲话前事先被人明确告知柏纳根据自己所知的日期推不出生日,则第1步可排除18日与19日。但是此情形下柏纳得知的日期是仍有可能属于5月或6月的,只不过不可能是在18日或19日。(与在第1步就可排除掉2行的上1种情况相比,区别在于在此情形的第1步只能排除2个可能选项。换句话说,这一种情形下在第1步排除的选项要少很多。)而在排除18日与19日后,在剩下的选项中,仅有6月17日可由月份数唯一确定。但此时艾伯特作出了“我还不知道”的判断。说明生日也不可能在6月17日。

  足够聪明的柏纳也是这么想的。而且在听到艾伯特还推不出生日时,表示自己已经推出了答案。说明在上一步所剩的各个选项中,已经能由日期唯一地确定出生日,但尚不能仅月份确定。也就是说,在剩下来的选项中,生日的月份数一定出现了不只一次,但日期数一定只出现了一次。唯一符合这条件的选项只有8月17日。(14日、15日、16日都在不同月份中出现了2次,仅17日出现了1次(出现在8月);另外,8月此时也确实有3个不同的候选日期。故生日应为8月17日。)   

2种情形的解法步骤比较

  对比7月16日和8月17日两种答案的推理过程,可以知道:

  根据第一句话首先排除的是5月和6月这两个月份,而不仅仅是5月19日和6月18日这两天。

  8月17日的推理过程隐含了对第一句话的错误理解,即理解成了“因为艾伯特知道柏纳不知道谢丽尔的生日是哪一天,所以艾伯特也不知道”。6月17日就因为这种理解被排除的。而第一句话的正确理解是“艾伯特不知道谢丽尔的生日是哪一天,并且柏纳也不知道”。

  由于对第一句话内在逻辑的不同理解,出现了版本1;又由于对“知道(know)”一词的不同理解,出现了版本2。

以下各表中以“×”号表示因被排除而被划去的日期。为美观起见,实际操作时,各表还可以简写为数阵的形式。

步骤 情形1 情形2(不同的题意理解)
第一步结果
5月 \times \times \times
6月 \times \times
7月 14 16
8月 14 15 17

这一步如果用矩阵语言表述,就是找出独占一列的元素“18日”与“19日”,并根据题意排除它们及其所在行,即划去它们的所在行。

5月 15 16 \times
6月 17 \times
7月 14 16
8月 14 15 17

这一步如果用矩阵语言表述,就是找出独占一列的元素“18日”与“19日”,并根据题意排除它们,即划去这2个元素。(不划去所在行的其它元素。)

第二步结果
5月 \times \times \times
6月 \times \times
7月 \times 16
8月 \times 15 17

上一步完成后,现在只剩下7月和8月这2个可选的月份,即余下的矩阵的行秩为2。这一步的做法用矩阵语言表述就是在余下的矩阵中找出并划去行满秩的列(向量),即划去同时出现在7月和8月的“14日”。因为此时的行满秩向量不能仅由日期做出判断,与题意中“柏纳已经在这一步可由日期唯一推知生日”这一事实不符,故被整列地排除掉。

5月 15 16 \times
6月 \times \times
7月 14 16
8月 14 15 17

这一步仍是对艾伯特所说的第1句话的推断。因在上一步操作后,剩下了一个“6月17日”可由月份唯一确定,但艾伯特又肯定说自己还推不出日期,所以“6月17日”可以排除。这一步的做法用矩阵语言表述就是在余下矩阵中找出只在各行出现一次的日期(此例中是“17日”,它是6月里唯一出现的日期),并划其所在行。

第三步结果
5月 \times \times \times
6月 \times \times
7月 \times 16
8月 \times \times \times

艾伯特在第2次发言时已表示自己也可推出生日,说明在余下的选项中,已经可以由月份唯一确定出生日。这一步的做法用矩阵语言表述就是在余下的矩阵中找出只在各行出现一次的日期(此例中是“16日”,它是7月里唯一出现的日期),并划去其余的行。

5月 \times \times \times
6月 \times \times
7月 \times \times
8月 \times \times 17

柏纳发言时已表示自己也可推出生日,说明在余下的选项中,已经可以由日期唯一确定出生日。这一步的做法用矩阵语言表述就是在余下的矩阵中找出只在各列出现一次的日期(此例中是“17日”,它只在8月出现),并划去其余的列。

注意在这种情形中,艾伯特的第2次发言是多余条件。但艾伯特的第1次发言在推断中应用了2次。

由此引申出的矛盾

  通过以上推理,可以总结出:如果艾伯特是“猜测”到柏纳不知道谢丽尔的生日,那么不论日期为15日、16日还是17日,柏纳在听到第一句话后都能“猜测”出谢丽尔的生日;而如果艾伯特“已经由某种方式准确地知晓柏纳确实不知道的事实”,那么只有当日期为17日时,柏纳才能在听到第一句话之后知道谢丽尔的生日。

  于是有了这样一种可能,先假定以下三点:

  艾伯特确实“已经由某种方式准确地知晓柏纳确实不知道的事实”,因此说了第一句话;

  柏纳却把第一句话理解成了艾伯特“能很有把握地猜测柏纳也不知道”;

  谢丽尔的生日是8月15日,告诉了艾伯特8月,又告诉了柏纳15日。

  然后,柏纳听到第一句话之后“猜测”出谢丽尔的生日是8月15日,因此说了第二句话。艾伯特按自己的理解说了第三句话,但其实他以为谢丽尔的生日是8月17日。这便是矛盾之处。

  实际上,艾伯特在知道8月的情况下,即使不存在“某种方式”,他也可以知道柏纳也不知道。然而,由于“某种方式”的存在,使得艾伯特忽略了这一点。另一方面,柏纳或许没有想到“某种方式”的存在,因而与艾伯特产生误会。

  最后,柏纳甚至可能对艾伯特说第四句话:“你怎么知道是15日还是17日的?”

本条目对我有帮助6
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您认为本条目还有待完善,需要补充新内容或修改错误内容,请编辑条目投诉举报

本条目由以下用户参与贡献

otf125,nonameh.

评论(共2条)

提示:评论内容为网友针对条目"谢丽尔的生日"展开的讨论,与本站观点立场无关。
112.28.159.* 在 2018年8月5日 13:13 发表

不需要了解 到生日那天她自己会说出来的

回复评论
120.199.125.* 在 2018年11月14日 10:55 发表

112.28.159.* 在 2018年8月5日 13:13 发表

不需要了解 到生日那天她自己会说出来的

真是个人才

回复评论

发表评论请文明上网,理性发言并遵守有关规定。

打开APP

以上内容根据网友推荐自动排序生成

闽公网安备 35020302032707号