如何解爱因斯坦的难题
(2016-11-10 16:00:00)
标签:
爱因斯坦 |
分类: 计算机 |
这道谜题的变体在网上经常出现。一般认为这道题是爱因斯坦出的,并声称98%的人做不出来。有些评论家认为爱因斯坦出这样的题不是为了检验智商而是赶走想请他做导师的所有学生。这些故事的真相如何不得而知。无论如何,这是一道好谜题。
假设在一条街上,有5座并排的房子,每个房子颜色不同,每个房里住着不同国籍的人,每个人喝不同的饮料,抽不同品牌的香烟,养不同的宠物。
(1)英国人住红色房子。
(2)瑞典人养狗。
(3)丹麦人喝茶。
(4)绿色房子在白色房子左面(绿色房子和白色房子相邻)。
(5)绿色房子主人喝咖啡。
(6)抽Pall Mall香烟的人养鸟。
(7)黄色房子主人抽Dunhill香烟。
(8)住在中间房子的人喝牛奶。
(9)挪威人住第一间房。
(10)抽Blend香烟的人住在养猫的人隔壁。
(11)抽Blue Masters的人喝啤酒。
(12)养马的人住抽Dunhill香烟的人隔壁。
(13)德国人抽Prince香烟。
(14)挪威人住蓝色房子隔壁。
(15)抽Blend香烟的人有一个喝水的邻居。
问题是:谁养鱼?
如果使用CLIPS或者Prolog等编程语言可以轻易获得这道题的答案。但是,如果人工解这道题,应该如何解?
可以用一张表格表示答案。表格中记录每个房子的颜色、每个人的国籍、喝的饮料、抽的香烟品牌、养的宠物。房子编号为1到5,1表示最左边的房子,5表示最右边的房子。
初始时,表格内的信息都是空的。
房子编号 |
1 |
2 |
3 |
4 |
5 |
颜色 |
|
|
|
|
|
国籍 |
|
|
|
|
|
饮料 |
|
|
|
|
|
香烟 |
|
|
|
|
|
宠物 |
|
|
|
|
|
通过15个线索可以得到答案。对一些线索的分析可以填写表格中的一些空格。
第一步,填写可以确定的空格。线索8和线索9包含了房子的绝对位置,使用这两条线索填写两个空格。
房子编号 |
1 |
2 |
3 |
4 |
5 |
颜色 |
|
|
|
|
|
国籍 |
挪威 |
|
|
|
|
饮料 |
|
|
牛奶 |
|
|
香烟 |
|
|
|
|
|
宠物 |
|
|
|
|
|
第二步,使用线索14。由于挪威人住第一间房,也就是最左边的房,他只有一个邻居。线索14提供了挪威人的唯一的邻居所住的房子的颜色,因此又可以填写一个空格。
房子编号 |
1 |
2 |
3 |
4 |
5 |
颜色 |
|
蓝 |
|
|
|
国籍 |
挪威 |
|
|
|
|
饮料 |
|
|
牛奶 |
|
|
香烟 |
|
|
|
|
|
宠物 |
|
|
|
|
|
第三步,使用线索4和5。通过线索4可知绿色房子只能是第三间或第四间房,因为第二间房是蓝色的,排除绿色房子是第二间房,绿色房子不是在蓝色房子紧邻的左面,排除绿色房子是第一间房,又因为白色房子在绿色房子右面,排除绿色房子是第五间房。通过线索5可知绿色房子不是第三间房,因为第三间房的主人喝的饮料和绿色房子主人喝的饮料不同。因此,第四间房是绿色,第五间房是白色。通过线索5还可知第四间房的主人喝咖啡。
房子编号 |
1 |
2 |
3 |
4 |
5 |
颜色 |
|
蓝 |
|
绿 |
白 |
国籍 |
挪威 |
|
|
|
|
饮料 |
|
|
牛奶 |
咖啡 |
|
香烟 |
|
|
|
|
|
宠物 |
|
|
|
|
|
第四步,使用线索1。至此,只有第一间房或第三间房可能是英国人住的红色房子。由于挪威人住第一间房,英国人住第三间房,第三间房是红色。
房子编号 |
1 |
2 |
3 |
4 |
5 |
颜色 |
|
蓝 |
红 |
绿 |
白 |
国籍 |
挪威 |
|
英国 |
|
|
饮料 |
|
|
牛奶 |
咖啡 |
|
香烟 |
|
|
|
|
|
宠物 |
|
|
|
|
|
第五步,使用线索7。至此只有第一间房的颜色未知,线索7提供了剩下的颜色黄色,因此第一间房是黄色。通过线索7还可知第一间房的主人抽Dunhill香烟。
房子编号 |
1 |
2 |
3 |
4 |
5 |
颜色 |
黄 |
蓝 |
红 |
绿 |
白 |
国籍 |
挪威 |
|
英国 |
|
|
饮料 |
|
|
牛奶 |
咖啡 |
|
香烟 |
Dunhill |
|
|
|
|
宠物 |
|
|
|
|
|
第六步,使用线索12。由于抽Dunhill香烟的是挪威人,他住第一间房,他只有一个邻居,该邻居住第二间房。通过线索12可知住第二间房的人养马。
房子编号 |
1 |
2 |
3 |
4 |
5 |
颜色 |
黄 |
蓝 |
红 |
绿 |
白 |
国籍 |
挪威 |
|
英国 |
|
|
饮料 |
|
|
牛奶 |
咖啡 |
|
香烟 |
Dunhill |
|
|
|
|
宠物 |
|
马 |
|
|
|
第七步,使用线索3、线索11和线索15,这是比较复杂的部分。根据线索3可知喝茶的丹麦人住第二间房或第五间房。根据线索11可知抽Blue Masters及喝啤酒的人也住第二间房或第五间房。因此,可以知道第二间房和第五间房的主人分别喝茶以及喝啤酒,但是顺序未知,因此第一间房的主人既不喝茶也不喝啤酒。根据线索15可知有一个人喝水,因此第一间房的主人喝水。再次使用线索15,可以确定第二间房的主人抽Blend香烟。因此,抽Blue Masters及喝啤酒的人住第五间房,以及喝茶的丹麦人住第二间房。
房子编号 |
1 |
2 |
3 |
4 |
5 |
颜色 |
黄 |
蓝 |
红 |
绿 |
白 |
国籍 |
挪威 |
丹麦 |
英国 |
|
|
饮料 |
水 |
茶 |
牛奶 |
咖啡 |
啤酒 |
香烟 |
Dunhill |
Blend |
|
|
Blue Masters |
宠物 |
|
马 |
|
|
|
第八步,使用线索13。此时第一间房至第三间房的主人的国籍已知,抽Prince香烟的德国人住第四间房或第五间房。因为第五间房的主人抽Blue Masters,抽Prince香烟的德国人住第四间房。
房子编号 |
1 |
2 |
3 |
4 |
5 |
颜色 |
黄 |
蓝 |
红 |
绿 |
白 |
国籍 |
挪威 |
丹麦 |
英国 |
德国 |
|
饮料 |
水 |
茶 |
牛奶 |
咖啡 |
啤酒 |
香烟 |
Dunhill |
Blend |
|
Prince |
Blue Masters |
宠物 |
|
马 |
|
|
|
第九步,使用线索2和线索6。至此只有第五间房的主人的国籍不确定,以及第三间房的主人抽的香烟品牌不确定。根据线索2可知第五间房的主人是养狗的瑞典人。根据线索6可知第三间房的主人抽Pall Mall香烟,养鸟。
房子编号 |
1 |
2 |
3 |
4 |
5 |
颜色 |
黄 |
蓝 |
红 |
绿 |
白 |
国籍 |
挪威 |
丹麦 |
英国 |
德国 |
瑞典 |
饮料 |
水 |
茶 |
牛奶 |
咖啡 |
啤酒 |
香烟 |
Dunhill |
Blend |
Pall Mall |
Prince |
Blue Masters |
宠物 |
|
马 |
鸟 |
|
狗 |
第十步,使用线索10。抽Blend香烟的人住第二间房,他有两个邻居,分别住第一间房和第三间房,这两个邻居之一养猫。由于第三间房的主人养鸟,因此第一间房的主人养猫。
房子编号 |
1 |
2 |
3 |
4 |
5 |
颜色 |
黄 |
蓝 |
红 |
绿 |
白 |
国籍 |
挪威 |
丹麦 |
英国 |
德国 |
瑞典 |
饮料 |
水 |
茶 |
牛奶 |
咖啡 |
啤酒 |
香烟 |
Dunhill |
Blend |
Pall Mall |
Prince |
Blue Masters |
宠物 |
猫 |
马 |
鸟 |
|
狗 |
最后,使用问题作为一个额外的线索。通过问题可知有一个人养鱼。至此只有第四间房的主人养的宠物未知,因此第四间房的主人养鱼。
房子编号 |
1 |
2 |
3 |
4 |
5 |
颜色 |
黄 |
蓝 |
红 |
绿 |
白 |
国籍 |
挪威 |
丹麦 |
英国 |
德国 |
瑞典 |
饮料 |
水 |
茶 |
牛奶 |
咖啡 |
啤酒 |
香烟 |
Dunhill |
Blend |
Pall Mall |
Prince |
Blue Masters |
宠物 |
猫 |
马 |
鸟 |
鱼 |
狗 |
最后可以得到答案,养鱼的是德国人,他住第四间房,该房子是绿色,他喝咖啡,抽Prince香烟。