2016年1月14日木曜日

つるかめ、つるかめ。

 最近、twitterで東京姉妹という方をフォローしはじめたのだが、先日、鶴亀算の話題がながれてきた。東京姉妹さんくらいの歳だと、小学校では鶴亀算を習っていないらしいが、ナカムラの小学生時代には旅人算だの鶴亀算だのをやらされたもんだ。説教おじさんは習ったかな? 「鶴亀算を知らない女の子なんかとデートしたいと思うかね。ぼくは思うよ。」とか言いそう(一部の東京姉妹+説教おじさんファンしかわからなくてすみません)。

 で、そこにリンクされている結城さんのページをみると、はじめから連立方程式をつかって解いているが、ナカムラが小学校で教わったのは江戸時代の塵劫記あたり(さらにオリジナルは中国?)から伝わる東洋独自の解法である。こんな感じ。(結城さんのページは無料で読めるところしか見てないので,あとからでてくるのかも。この記事と同じ内容が有料部分に書いてあったらどうしよう。)「同時に家を出ない兄弟」的に「なんではじめから亀の頭数をかぞえんのじゃ!」というツッコミはナシね。

 これらを読んで,塵劫記でも方程式でも,どちらもあまりかわらんやんけ、と思われるかもしれないが、塵劫記の解法に比べて連立方程式を使った解法はあきらかにすぐれている。どこがすぐれているかというと、抽象化されているという点である。方程式解法は、まず、現実の事象  鶴と亀の足の数と頭数  を x と y という変数に抽象化する。そして、亀が足が4本で鶴が2本という事実を数式であらわす。そうしておくと、あとは x, y が亀だったか鶴だったかはわすれて、機械的に数式操作をすれば問題がとける。そして答えが出たら x が亀、 y が鶴ということを思い出して現実にひきもどせばよい。

それに対して塵劫記解法ははじめからおわりまで、亀の足と鶴の足にこだわって、いま自分が計算している数がなにをあらわすかを常に意識して考る必要がある。これには問題ごとに違う考察をしなければいけないので、結構頭を使う。たとえば旅人算になると鶴亀算とちがう戦略を考えねばならない。それに対して方程式解法なら、はじめの現実問題 → 数式のところだけしっかりやっておけば、あとは機械的な作業で答えが得られる。
 え? 方程式の計算って中学のころやらされたけど、かなり頭つかったよ、という向きもいるかもしれないが、実はこのような方程式の操作は単純作業であり、慣れれば機械的にできる(ナカムラはしょっちゅう間違うけど,それは別問題)。つまり「煩雑であるが難しくはない」というやつだ。たとえば自転車に乗るようなもので、はじめは大変だけれど、コツをつかめば頭を使う必要はなく、携帯で会話しながらでも  いや携帯で会話しながらの自転車はあぶないのでやめてくださいね。それはともかく、こういう計算は人間の頭をつかわなくても、自動化してコンピューターで高速に解くことだってできる、自転車じゃなくて自動車でぶっとばすみたいなもんだ。

 逆に、それがなぜ利点なの? 鶴亀算だって簡単に解けるじゃん、という算数得意人もいるかもしれないが、方程式解法の優位性は問題が複雑になればあきらかである。たとえば鶴と亀だけじゃなくて、さらにトンボが加わって、頭の数と足の数と羽の数があたえられたとき、塵劫記的に解こうとおもったらかなり頭をしぼらなければならないだろう。しかし、方程式解法だと、もうひとつ変数 z をトンボのために用意して羽の数を 4z、足の数を 6z にするだけでよい。方程式をとくのはちょっと面倒になるが、単純作業の量が増えるだけで、頭はつかわなくてよい。自転車で走る距離が増えるみたいなもんだ。

 ここで、ネットで見つけた、ちょっとおもしろい例をひとつあげよう。抽象化による方程式解法のありがたさがよくわかると思う。ふつうの算術でなく、論理命題の抽象化の例である。実はわれわれのよく知ってる 5 とか 7 とか x とかをかけたりわったりするという操作だけでなく、数学的にきちっとした操作ならば、いろいろな場合に抽象化・簡単化できるのである。「数学的にきちっとした」というのは、だれがやっても常に同じ操作で同じ結果が(間違えさえしなければ)得られるという意味である。以下の問題を考えてみよう。

ある人物について、A、B、C の3人は、次のように証言した。
  A:「たしか、名前は、大場さんといい、年は、35歳」
  B:「たしか、名前は、小塚さんといい、年は、30歳」
  C:「たしか、名前は、大場さんではなく、年は、40歳」
3人とも、名前、年齢のどちらかは正しいことをいい、どちらかは間違ったことを言っているものとする。さて、ある人物の名前と年齢は、なんであろうか?

これを普通に考えるのは、めちゃ難しい。「ここでA氏が名前をまちがえているとすると、年齢は35歳なのでB氏の言明の真偽は...」などと推論して正解にたどりつくことのできるのは、よほど頭脳明晰な選ばれた者だけだろう。もちろんナカムラには無理である。
 ところが、ブール代数という「数学的にきちっとした」手順をふむと、これは単純操作で答えが得られる。くわしくはこちらを見てほしい。ちゃんと理解しようと思うとなかなか大変だが,単純操作で正解がえられる原理は,ざっと読むだけで納得できると思う。

 ということで、数式というのは実は思考の大幅な節約につながるのである。一旦数式にしてしまうと,あとは中身を考えずに単純作業で答えが得られるのだ。「数式をみるだけで頭がいたくなる、数学大嫌い」と言っているひとは、実は数式になれていないだけで、同じ複雑さの問題にでくわしたときには、数式を使うほうがはるかに楽だということである。
 上にあげた大場+小塚さんの例に、さらに中村さんが名前の候補に加わったとしても、ブール代数の数式をつかえば大丈夫そうでしょ? 自転車に乗る練習は大変だが、乗れるようになったら、自転車のほうが歩くよりはるかに楽で、遠くまで行けるってことだ。

 いや、実は来年度から高校時代に数学が不得意だった学生さんを対象に「数学基礎」という授業をやるので、そのマクラになる話をさがしていたところに、東京姉妹+結城さんの鶴亀算がちょうどいいと気づいたわけなのである。説教おじさんはあまり関係ないけどカメオ出演(?)ありがとうございます。

最後に,授業をうける学生さん+その他みなさんのために,過去に書いたこの手の話題のリンク貼っときます。いつも「次回はいつになりますやら」で終わってるのがご愛嬌。




  • われわれは21世紀を生きているのか?
  • かけざん(2)
  • かけざん(1)
  • 国境の町の6人のガンマン