問題 (『塵劫記』 より、現代語化)
ここ に、油 が 10 升、ぴったり 入った 大桶 が ある。
そして、空 の 桶 が 二つ。 一 つ は 7 升 入り、 もう 一 つ は 3 升 入り。この 三 つ の 桶 だけ を 使って、10 升 の 油 を、ちょうど 5 升 と 5 升 の 二 つ に 分けよ。
ただし、油 は 一滴 も こぼ さず、他 の 容器 も 使わ ない こと。
条件 を 整理 しよう
- 桶 は 3 つ ─ (10 升 入り、7 升 入り、3 升 入り)。
- 最初 の 状態 ─ (10, 0, 0)。
- 目標 の 状態 ─ (5, 5, 0)。
- 許される 操作 ─ 「ある 桶 から 別 の 桶 へ、油 を 移す」 だけ。
- 桶 は 「ちょうど 空」 か 「ちょうど いっぱい」 に なる まで しか 量を 計れない。
状態 表 を 書こう
このような パズル は、紙 に 状態 表 を 書いて 整理 する と 解ける。
表 の 各 行 が 「ある 瞬間 の 各 桶 の 中身」 を 表す。
| 手 数 | 10 升桶 | 7 升桶 | 3 升桶 | 操作 内容 |
|---|---|---|---|---|
| 0 | 10 | 0 | 0 | (初期 状態) |
| 1 | 3 | 7 | 0 | 10 升桶 → 7 升桶 へ いっぱいに |
| 2 | 3 | 4 | 3 | 7 升桶 → 3 升桶 へ いっぱいに |
| 3 | 6 | 4 | 0 | 3 升桶 → 10 升桶 へ 全部 |
| 4 | 6 | 1 | 3 | 7 升桶 → 3 升桶 へ いっぱいに |
| 5 | 9 | 1 | 0 | 3 升桶 → 10 升桶 へ 全部 |
| 6 | 9 | 0 | 1 | 7 升桶 → 3 升桶 へ (残り 1 升 だけ) |
| 7 | 2 | 7 | 1 | 10 升桶 → 7 升桶 へ いっぱいに |
| 8 | 2 | 5 | 3 | 7 升桶 → 3 升桶 へ いっぱいに (まで) |
| 9 | 5 | 5 | 0 | 3 升桶 → 10 升桶 へ 全部 ✓ |
できた! ─ 9 手 で 解けた。
ただし これ が 最短 か どう か は、ぜひ 自分 で 別解 を 探して み て ほしい。
もう 一 つ の 解
実 は、上 と は 違う 道筋 で も 解ける。
| 手 数 | 10 升桶 | 7 升桶 | 3 升桶 | 操作 |
|---|---|---|---|---|
| 0 | 10 | 0 | 0 | 初期 |
| 1 | 7 | 0 | 3 | 10 升桶 → 3 升桶 へ いっぱいに |
| 2 | 7 | 3 | 0 | 3 升桶 → 7 升桶 へ 全部 |
| 3 | 4 | 3 | 3 | 10 升桶 → 3 升桶 へ いっぱいに |
| 4 | 4 | 6 | 0 | 3 升桶 → 7 升桶 へ 全部 |
| 5 | 1 | 6 | 3 | 10 升桶 → 3 升桶 へ いっぱいに |
| 6 | 1 | 7 | 2 | 3 升桶 → 7 升桶 へ (残り 1 升 だけ) |
| 7 | 8 | 0 | 2 | 7 升桶 → 10 升桶 へ 全部 |
| 8 | 8 | 2 | 0 | 3 升桶 → 7 升桶 へ 全部 |
| 9 | 5 | 2 | 3 | 10 升桶 → 3 升桶 へ いっぱいに |
| 10 | 5 | 5 | 0 | 3 升桶 → 7 升桶 へ 全部 ✓ |
こちら は 10 手。
だから、上 の 解 (9 手) の ほう が、より 短い こと が わかる。
なぜ 江戸 の 人 は こんな パズル を 楽しん だ の か
『塵劫記』 が 出版 された 寛永 4 年 (1627) ─ それ は 江戸 幕府 が 成立 して まだ 24 年。日本 が ようやく 平和 を 取り戻し、町人 文化 が 花開き 始めた 時期 で あった。
当時 の 庶民 は、識字率 が 急速 に 上昇 し、寺子屋 (てらこや) で 「読み・書き・算盤 (そろばん)」 を 学んだ。
『塵劫記』 は その 算盤 教育 の 教科書 と して 大 流行 した。 鶴亀算・旅人算・鼠算・油分け算 ─ こうした 「面白 算術」 が、寺子屋 の 生徒 たち を 夢中 に させた。
さらに、江戸 期 に 発達 した 「算額 (さん がく)」 文化 ─ 神社 の 絵馬 に 数学 の 難問 を 奉納 する 習慣 ─ も、こうした 数学 パズル 文化 の 延長 線 上 に ある。
日本人 は、世界 で も 例外 的 に、庶民 が 数学 を 楽しむ 文化 を 持って いた の だ。
現代 の 「水汲み 問題」 と
この 形 の パズル は、現代 で は 「水汲み 問題」 (water pouring puzzle) と 呼ばれて、コンピュータ 科学 の 探索 アルゴリズム の 教材 と して も 使われる。
- 1995 年 の 映画 『ダイ・ハード 3』 で、主人公 が 5 ガロン と 3 ガロン の 容器 で 4 ガロン を 量る 場面 が 有名。
- コンピュータ で 全 探索 を かければ、最短 解 を 機械 的 に 求められる。
- 容量 が 互いに 素 (最大公約数 が 1) ならば、ほぼ あらゆる 量 が 作れる ─ という 数学 的 結果 が ある。
1627 年 の 京都 の 油 桶 が、1995 年 の ハリウッド 映画 と、そして 21 世紀 の コンピュータ 教育 と、こうして 繋がって いる ─ それ が 数学 の 楽しさ で ある。
挑戦 ─ 別 の サイズ で やってみよう
さあ、君 も 別 の 数字 で やって みよう。
- 6 升 入り と 4 升 入り で、10 升 の 油 を 5 升 ずつ に。── これ は 解 が ない! (理由 を 考え よう)
- 8 升 入り と 5 升 入り で、10 升 の 油 を 5 升 ずつ に。── 何 手 で 解ける か?
- 6 升 入り と 5 升 入り で、11 升 の 油 を 1 升 だけ 取り出せる か?
解 が ある か 否か を、状態 表 と 「最大 公約数」 の 性質 から 考えて み よう。