例题:在一个村庄里面,有未知个人,每人家里养着一条狗.忽然有一天,他们知道他们村庄里面有人家里的狗疯掉了,但是条数未知,他们每个人都有足够的推理能力,并且每个人都能准确的判断出其他人家里的狗是否疯掉了,但是无法知道自己家里的狗是否疯掉,每个人之间都不能互相通报自己的发现情况.每个人如果推论得出自己家里的狗疯掉了的话,会大公无私并且毫不犹豫的杀掉自己家里的狗,并且只有自己才能杀掉自己家里的狗。
结果第一天和第二天都在风平浪静下面度过了,第三天听到了枪响,所有疯狗都被杀掉了,请问这个村庄有多少条疯狗,为什么?
已知:一定有疯狗,即疯狗最少有一只,那么我们假设只有一只疯狗,且疯狗主人为A
第一天:所有人都不知道有几只疯狗,但是大家都会观察别人的狗。如果A看到别人家的狗都是正常的狗,就会知道自家的狗不正常,那么第一天晚上他就会杀了自家的狗。但是第一天是没有人杀狗,所以说明,A看到的别人家的狗里有不正常的,他无法确定自己的狗正常与否。
第二天:假设A第一天看到B家是疯狗,但是第一天B却没有杀狗,说明B也有看到别人家有疯狗。就说明除了B家之外还有一家是有疯狗的,可是A却只看到了一只疯狗,说明剩下的疯狗就是A家的,他自己看不到。所以第二天晚上他就会杀了自己的狗。假设第二天也没有人杀狗,说明A看到了不止一只疯狗,B也如是。
由此类推,第一天杀狗就说明只有一条疯狗,第二天杀狗就说明有俩,第N天就说明有N条。