A group of people with assorted eye colors live on an island. They are all perfect logicians -- if a conclusion can be logically deduced, they will do it instantly. No one knows the color of their eyes. Every night at midnight, a ferry stops at the island. Any islanders who have figured out the color of their own eyes then leave the island, and the rest stay. Everyone can see everyone else at all times and keeps a count of the number of people they see with each eye color (excluding themselves), but they cannot otherwise communicate. Everyone on the island knows all the rules in this paragraph. blue eyes

If there were 100 people living in this island, 5 of them with red eyes and the others with blue eyes. One day a tourist arrived on this island, and said, "There are both red eyes and blue eyes here".

So the questions is:

Who leaves the island, and on what night?

解题思路

​ 初看题目,这个旅行家似乎没有未这个岛上带来任何额外信息:岛上每个人都可以看到剩下的99个人,都可以看到既有红眼睛又有蓝眼睛的存在。 那为什么会有人离开呢?我们可以试着从简单的情况入手:

  • 1 红色 & 99 蓝色
    • 这个时候,旅行家的话就带来了明显的额外信息,最初的红眼睛并不知道岛上既有红眼睛又有蓝眼睛。当旅行家说完之后,他就能立刻推断出自己眼睛颜色,所以当天晚上就会离开岛屿。
    • 但题目毕竟不是1个,我们继续
  • 2 红色 & 98 蓝色
    • 这个稍微复杂一些,初看似乎也没有引入额外信息, 但其实不然。不妨假设红眼睛为A,B。 最初AB都知道岛上既有红眼睛又有蓝眼睛,但是AB都不能确定对方知不知道这个信息,因为自己本身既可能是红色也可能是蓝色。
    • 旅行家的话让AB确信对方都知道这个信息,那么AB就可以对自己眼睛进行假设。我们以A为例,A假设自己是蓝色眼睛,那么B之前就应该看到99个蓝色眼睛,当旅行家阐述完之后,当天晚上B就应该离开岛屿。所以第一天过去之后,如果B没有离开岛屿,那么A自己就不可能是蓝色眼睛,只能是红色。这个A就会离开,同理B也会离开。
  • 3 红色 & 97 蓝色
    • 更加复杂,但是假设都是一样的,即红色眼睛假设自己眼睛为蓝色,然后推断其他红色眼睛的行为。
    • 那为什么旅行者来之前不可以假设呢?原因就是 A 无法确定B 是否确定 C 是否知道岛上既有红眼睛又有蓝眼睛。但是旅行者的话,让这个信息链条可以无限传输。

收获

  • 所有人都知道 != 共识, 共识需要任意两点之间的联系都可以确定对方知道。
  • 复杂的问题可以从特例出发思考。