在一个房间外有三个开关用来控制房间里的三盏灯,开关与灯之间是一对一的连接,每个开关恰好控制一盏灯。现在开关都处于“关”的位置,在房间外看不见房间里的任何东西。问题是需要判断出哪一个开关控制哪一盏灯,条件是:你可以随意设置这些开关,然后进入房间,但是,在你进入房间后,不允许再出来控制这些开关。
如果仅将一个开关拨到“开”的位置,然后进入房间,肯定有一盏灯会亮,但不能区分余下的两个开关如何匹配余下的两盏灯;如果将两个开关拨到“开”的位置,可以从没有亮的灯判断出哪一个开关连接到它,但不能区分两盏亮的灯与已拨动的开关之间的匹配关系。真是左右为难!
问题的症结是开始没有确定正确的模型。前面的想法所依赖的模型仅利用了灯的一个属性——“开”还是“关”,但灯还有其他属性,例如温度。问题描述只是将我们的注意力限制于灯的照明,对温度没有提及,事实上,一旦将温度加入模型中,问题确实变得容易解决了。将两个开关拨到“开”的位置,等几分钟后,将其中的一个开关拨到“关”的位置,然后进入房间,此时,有一盏灯是亮的,其他两盏灯是关的,但这两盏不亮的灯中有一盏是热的。