为什么一个人能解决狼、羊、白菜过河的问题


题目是这样的:有位带着一只狼、一只羊、一棵白菜来到河边(我们假使狼是不吃人)的人。河边刚好有一条空着的小船,过河时,船很小仅能允许主人带一样东西,若带两样东西上船,船便会沉下去。另一方面,若没人照管,狼会吃掉羊,羊又将啃白菜,因此,狼和羊,羊和白菜在主人不在的情况下,是不可以放在一块的。问主人应该采取什么样的过河方案,才可以把狼、羊、白菜都安全地带到对岸去呢?

这个问题叫“狼、羊、白菜问题”,是一个很古老的智力题,流传也很广。它是出自英国神学家阿尔奎恩里的《益智题》一书。阿尔奎恩同样是一位教育家,他在逻辑学、神学、数学、天文学方面曾经都有许多著作。

以上问题的正确答案是这样。主人先带羊过河去,由于狼不吃白菜;然后再空船返回。第二次再带狼过河,到对岸以后放下狼,带羊返回。把羊放在此岸上之后,把白菜带过河;然后再空船返回。第四次再把岸上羊带过河。此时,主人便把狼、羊、白菜都带过了河,便可以继续走路了。

这的确是一个很有趣的问题,是吗?若你没有想到在返回船上还能带回一样东西的话,那你就解释不出这道题,这是因为狼和白菜能放在一起,没危险;第二次主人带狼过河,狼到对岸后,若羊不带回,则狼会吃羊,因此主人要带回羊;第三次主人再带白菜过河,让河对岸出现狼与白菜这种安全的局面;在最后一次带羊过河;三样东西就是这样全部带到对岸,并且毫无损失。

实际上,这个题还有另一种解答方法,聪明的读者,你是否想出来了呢?

那便是主人第二次过河时,将白菜带过河,和狼对调一下。因为狼和白菜对羊而言,地位相同(一个吃羊,一个羊要吃),因此才有这第二种方案。“狼、羊、白菜问题”就有这两种方案,你全知道了。

若主人带的东西更多了,则在分析这道题时将会复杂很多。

在那时候,便要借助数学工具——图来化简问题,再求算法了。