最近看的《离散数学及其应用》一书中讲逻辑的章节里有爱因斯坦著名的斑马难题。以前曾多次见过,但终究没有静心去做。终于这段时间不知从哪突然冒出的决心好好学习,同时坚定地要把这个题目给做出来。
五个不同国家且工作各不相同的人分别住在一条街上的五所房子里,每所房子颜色不同,每个人都有自己养的不同的宠物,喜欢和不同的饮料。根据提示,判断哪所房子里的人养斑马,哪所房子里的人喜欢喝矿泉水。
提示:
- 英国人住在红色的房子里;
- 西班牙人养了一条狗;
- 日本人是一个油漆工;
- 意大利人喜欢喝茶;
- 挪威人住在左边的第一个房子里;
- 绿房子在白房子的右边;
- 摄影师养了一只蜗牛;
- 外交官住在黄房子里;
- 中间房子里的那个人喜欢喝牛奶;
- 喜欢喝咖啡的人住在绿房子里;
- 挪威人住在蓝色的房子旁边;
- 小提琴家喜欢喝橘子汁;
- 养狐狸的人所住的房子与医师的房子相邻;
- 养马的人所住的房子与外交官的房子相邻。
根据题目中的叙述,以不同房间的相互位置关系出发来解决问题将是一个最优选择。下面开始分析题目——
首先从可以确定房间位置关系的条件入手。
先分析下面这几个提示:
- 挪威人住在左边的第一个房子里
- 挪威人住在蓝色的房子旁边
- 中间房子里的那个人喜欢喝牛奶
- 绿房子在白房子的右边
- 英国人住在红色的房子里
- 外交官住在黄房子里
- 养马的人所住的房子与外交官的房子相邻
由提示1
,提示2
和提示3
可推知如图所示的结果。
又由提示4
可知,绿房子和白房子相邻,因此这两间房子必定出现在右边三个相邻的未知房间中。再由提示5
可知,红房子也一定在右边三个房间中。因此,挪威人住的是黄房子。再由提示6
和提示7
,可推知如图结果。
至此,提示 1, 2, 3, 6, 7
的内含已经被充分发掘,之后将不需再使用这几个提示。原来的提示只剩下:
- 英国人住在红色的房子里
- 西班牙人养了一条狗
- 日本人是一个油漆工
- 意大利人喜欢喝茶
- 绿房子在白房子的右边
- 摄影师养了一只蜗牛
- 喜欢喝咖啡的人住在绿房子里
- 小提琴家喜欢喝橘子汁
- 养狐狸的人所住的房子与医师的房子相邻
现在剩下的提示难以快速推演出确定的对应关系,下面使用先假设再推矛盾的方法。
提示5
的可能情况比较简单,首先从该提示出发进行推断。先假设如图情形:
根据提示 1, 7, 4, 8
,可推出
此时矛盾出现:由提示 2, 3, 6
可知,它们都应出现在白色或绿色房间中,但这三个提示中的一定是三个不同的人。由此可知,之前对提示5
的假设是错误的,因此正确的情况应该是
此时再根据提示 1, 7
可知
我们再次清理一下没有进一步使用价值的信息:
- 西班牙人养了一条狗
- 日本人是一个油漆工
- 意大利人喜欢喝茶
- 摄影师养了一只蜗牛
- 小提琴家喜欢喝橘子汁
- 养狐狸的人所住的房子与医师的房子相邻
此时,提示 1, 3, 5
都有两种假设可能。我们对提示5
进行假设
由提示 3, 2
可知
此时提示1
中的西班牙人无位置可放。因此之前对提示5
的假设是错误的,正确情况应当是
再由提示 3, 2, 1, 4, 6
可以填出完整表格。
再结合题目中的问题,可以将表格填充完整。