川渡り問題
1人の大人と2人の子供が岸にいて、ボートが1艘ある。ボートには、大人は1人だけが乗れ、子供は1人または2人が乗れる(ボートを漕ぐことは全員が可能)。全員が川を渡るにはどうすればよいか?
解いてみなくても、次のことが分かる。
解の手数(ボートの移動回数)は、奇数である。 ボートは、初めはこちら岸にあり、最後は向こう岸に行く。初めから何度往復するにせよ、往復してボートがこちら岸に戻ったときのボートの移動は常に偶数回である。最後に向こう岸に渡るためにはもう1回移動するので、合計の移動回数は奇数回になる。
半数が渡るところを中心として、(最少手数で一意の)解は対称になる。 渡り切った最終状態から解を逆順にたどると、最初の状態に戻ることができる。その手順は、向こう岸からこちら岸への川渡り問題の解になっている。向こう岸とこちら岸とを入れ替えて考えると元の解と一致するので、解は対称になる。
したがって、解を作成していて半数が渡ったら、その後はそこまでの手順を(こちら岸と向こう岸とを入れ替えて)逆にたどればよい。
この問題は、8世紀にカンタベリーの大主教が提示した問題といわれている。
オオカミとヤギを連れ、キャベツを持った農夫が川岸にいる。川には1艘のボートがある。
ボートを漕げるのは農夫のみ。
ボートには農夫のほか、動物1頭かキャベツ1個しか乗せられない。
農夫がいないときにオオカミとヤギを岸に残すと、オオカミがヤギを食べてしまう。
農夫がいないときにヤギとキャベツを岸に残すと、ヤギがキャベツを食べてしまう。
すべてを無事に対岸に渡すにはどうしたらよいか?
オオカミを狐、ヤギをガチョウ、キャベツを豆の袋に替えた問題もある。
en:Fox, goose and bag of beans puzzle