「ダイハード3」の水を4ガロン量りとる問題
こんにちは。東久留米市の学習塾塾長です。
昨日に比べて気温は下がりますが湿度が上がるようで、蒸し暑い日になるようです。近くの中学校では、今週末に運動会が開催されるところが多いですが、熱中症に気をつけて練習してください。
先週末に叔父の葬儀で熱海に行ってきましたが、戻ってきてTVを点けると「ダイハード3」を放映していました。以前に観た映画だったのですが、ビールを飲みながら観ていると、マクレーンとゼウスが公園に急行し、サイモンに出題された問題を解くシーンがありました。
その問題は、「3ガロンと5ガロンの容器を使って、4ガロンの水を量りとれ」というものです。
この問題の解法については、「理系への数学」(現在は現代数学)に斉藤浩先生がとても判りやすく解説されているので、それを紹介します。
そこでは、実行できる操作を3つに整理して、これらを基本操作と呼びます。
(1)ある容器に水道から水を満杯になるまで注ぐ
(2)ある容器の水を全部捨てる
(3)ある容器から別の容器に水を移す。その際、移動元の容器が空になるか、移動先の容器が満杯になるまで水を注ぎ続ける
次に、3ガロンの容器に入っている水の量をxA、5ガロンの容器に入っている水の量をxBとし、図1のように、xAを横軸、xBを縦軸としたグラフを描くと、ある時点での2つの容器にある水の量の状態を表す点は、図1の3×5の長方形の周上の格子点のいずれかになります。
▲図1.水の量の状態を表す点と基本操作による状態遷移
また、図1に描いた矢印は、基本操作(1)(2)(3)に対応します。
つまり、基本操作(1)は、上向きと右向きの矢印(赤色と青色)で、基本操作(2)は、下向きと左向きの矢印(赤色と青色)です。そして、基本操作(3)は、傾き-1の矢印(緑色)です。
また、矢印に従って状態が遷移する際には、矢印の終点まで移動し、途中で止まることはできません。
これで準備完了で、サイモンから与えられた問題は、図1の原点(3および5ガロンの容器が空の状態、xA=xB=0)から、矢印を通って、xB=4の点に移動するルートを探す問題になりました。
そして、xB=4の点に到達するルートは、図2、3のようになります。
▲図2.xB=4に到達するルート(1)
▲図3.xB=4に到達するルート(2)
例えば図2の場合、
<1> 5ガロン容器を水で一杯にする
<2> 5ガロン容器から3ガロン容器に3ガロンの水を移す
<3> 3ガロン容器の水を捨てる
<4> 5ガロン容器に残っていた2ガロンの水を3ガロン容器に移す
<5> 5ガロン容器を水で一杯にする
<6> 5ガロン容器から2ガロンの水が入っている3ガロン容器に1ガロンの水を移す⇒5ガロン容器に4ガロンの水が残り、これでお仕舞い
と6回の操作で4ガロンの水を量りとることができます。
図3については、興味があれば調べてみてください。
昨日に比べて気温は下がりますが湿度が上がるようで、蒸し暑い日になるようです。近くの中学校では、今週末に運動会が開催されるところが多いですが、熱中症に気をつけて練習してください。
先週末に叔父の葬儀で熱海に行ってきましたが、戻ってきてTVを点けると「ダイハード3」を放映していました。以前に観た映画だったのですが、ビールを飲みながら観ていると、マクレーンとゼウスが公園に急行し、サイモンに出題された問題を解くシーンがありました。
その問題は、「3ガロンと5ガロンの容器を使って、4ガロンの水を量りとれ」というものです。
この問題の解法については、「理系への数学」(現在は現代数学)に斉藤浩先生がとても判りやすく解説されているので、それを紹介します。
そこでは、実行できる操作を3つに整理して、これらを基本操作と呼びます。
(1)ある容器に水道から水を満杯になるまで注ぐ
(2)ある容器の水を全部捨てる
(3)ある容器から別の容器に水を移す。その際、移動元の容器が空になるか、移動先の容器が満杯になるまで水を注ぎ続ける
次に、3ガロンの容器に入っている水の量をxA、5ガロンの容器に入っている水の量をxBとし、図1のように、xAを横軸、xBを縦軸としたグラフを描くと、ある時点での2つの容器にある水の量の状態を表す点は、図1の3×5の長方形の周上の格子点のいずれかになります。
▲図1.水の量の状態を表す点と基本操作による状態遷移また、図1に描いた矢印は、基本操作(1)(2)(3)に対応します。
つまり、基本操作(1)は、上向きと右向きの矢印(赤色と青色)で、基本操作(2)は、下向きと左向きの矢印(赤色と青色)です。そして、基本操作(3)は、傾き-1の矢印(緑色)です。
また、矢印に従って状態が遷移する際には、矢印の終点まで移動し、途中で止まることはできません。
これで準備完了で、サイモンから与えられた問題は、図1の原点(3および5ガロンの容器が空の状態、xA=xB=0)から、矢印を通って、xB=4の点に移動するルートを探す問題になりました。
そして、xB=4の点に到達するルートは、図2、3のようになります。
▲図2.xB=4に到達するルート(1)
▲図3.xB=4に到達するルート(2)例えば図2の場合、
<1> 5ガロン容器を水で一杯にする
<2> 5ガロン容器から3ガロン容器に3ガロンの水を移す
<3> 3ガロン容器の水を捨てる
<4> 5ガロン容器に残っていた2ガロンの水を3ガロン容器に移す
<5> 5ガロン容器を水で一杯にする
<6> 5ガロン容器から2ガロンの水が入っている3ガロン容器に1ガロンの水を移す⇒5ガロン容器に4ガロンの水が残り、これでお仕舞い
と6回の操作で4ガロンの水を量りとることができます。
図3については、興味があれば調べてみてください。
0 件のコメント:
コメントを投稿