老虎与羊
Tiger and Sheep
题目详情
100 只老虎和 1 只羊被放到一座神奇的岛上,岛上只有草。老虎可以吃草,但它们更想吃羊。假设:A. 每次只能有一只老虎吃掉一只羊,而且吃掉羊之后,这只老虎自己会变成一只羊。B. 所有老虎都足够聪明且完全理性,并且都想活下来。那么这只羊会被吃掉吗?
One hundred tigers and one sheep are put on a magic island that only has grass. Tigers can eat grass, but they would rather eat sheep. Assume: A. Each time only one tiger can eat one sheep, and that tiger itself will become a sheep after it eats the sheep. B. All tigers are smart and perfectly rational and they want to survive. So will the sheep be eaten?
解析
先从简化版本开始分析。
- 如果只有 1 只老虎(),它当然会吃羊,因为它不必担心自己被吃。
- 如果有 2 只老虎呢?由于两只老虎都完全理性,任意一只都会思考:如果我吃了羊,我会变成羊,然后会被另一只老虎吃掉。所以为了最大化生存概率,两只老虎都不会吃羊。
- 如果有 3 只老虎,羊会被吃掉,因为每只老虎都会意识到,一旦自己变成羊,剩下的是 2 只老虎,而在 2 只老虎的情形下,自己不会被吃。因此第一个想明白这一点的老虎就会吃羊。
- 如果有 4 只老虎,每只老虎都会明白:如果自己吃了羊,就会变成羊。由于还剩 3 只老虎,自己就会被吃掉。所以为了确保最高的生存概率,没有老虎会吃羊。
沿用同样的逻辑可以自然推出:如果老虎数量为偶数,羊不会被吃;如果老虎数量为奇数,羊会被吃。这里 ,因此羊不会被吃。
Original Explanation
Let's start with a simplified version of the problem.
- If there is only 1 tiger ( n = 1 ), surely it will eat the sheep since it does not need to worry about being eaten.
- How about 2 tigers? Since both tigers are perfectly rational, either tiger probably would do some thinking as to what will happen if it eats the sheep. Either tiger is probably thinking: if I eat the sheep, I will become a sheep; and then I will be eaten by the other tiger. So to guarantee the highest likelihood of survival, neither tiger will eat the sheep.
- If there are 3 tigers, the sheep will be eaten since each tiger will realize that once it changes to a sheep, there will be 2 tigers left and it will not be eaten. So the first tiger that thinks this through will eat the sheep.
- If there are 4 tigers, each tiger will understand that if it eats the sheep, it will tum to a sheep. Since there are 3 other tigers, it will be eaten. So to guarantee the highest likelihood of survival, no tiger will eat the sheep.
Following the same logic, we can naturally show that if the number of tigers is even, the sheep will not be eaten. If the number is odd, the sheep will be eaten. For the case n = 100, the sheep will not be eaten.