藤川大祐 授業づくりと教育研究のページ

藤川大祐のブログです。千葉大学教育学部教授(教育方法学、授業実践開発)。プロフィールは「このブログについて」をご覧ください。

数学授業とアルゴリズム-附属中選択授業「社会を読み解く数学」から

 少し遅くなってしまったが、10月26日(水)から始まった千葉大学附属中選択授業「社会を読み解く数学」に関して少し書いておきたい。

 初回から取り上げているのは、「ギャンブルと数学」で、かつて武蔵振一郎君が取り上げた「グリコゲーム」を扱い方を変えて取り上げている。(武蔵論文は http://ace-npo.org/fujikawa-lab/bulletin.html に掲載)

 「グリコゲーム」とは、2人以上でじゃんけんをし、勝った者は、グーで勝ったら「グリコ」と数えて3歩、チョキで買ったら「チヨコレート」と数えて6歩、パーで勝ったら「パイナツプル」と数えて6歩くというものである。今回は、プレイヤーは2名、歩幅は一定とみなすというルールで扱う。

 問題は、このゲームでどのような戦略をとればより有利になるかということである。素朴に考えると、自分が勝てば6歩進め、相手が勝っても相手は3歩しか進まないチョキを多く出せば、有利になるように思われる。しかし、相手がこれを読んでグーを多く出す戦略をとれば、不利になってしまうであろう。

 こうしたことをふまえて、相手の戦略にかかわらず自分が有利となるにはどのような戦略がありうるかを考えることになるわけだが、どう考えてもこうした抽象的な検討では中学生が納得することは難しい。当然、実験なりシミュレーションなりが必要である。

 実験やシミュレーションは、パソコンの表計算ソフトを使うことで、特別なしかけをしなくても十分に実行できる。たとえば、グー、チョキ、パーを不規則に、しかしそれぞれを一定の比率で出すということのためには、乱数を発生させ、乱数の値に従ってグー、チョキ、パーのいずれを出すかを決めるということが可能である。表計算を使えば、100手でも1000手でも手を決めることができる。このようにして片方もしくは双方の出す手を決めれば、実験が可能だ。さらには、少し工夫をすれば、双方が出す手の比率を決め、1000手を一気にシミュレートし、そこまでの勝敗の状況を計算することもできる。

 このように、確率を検討する際に、理論値を出すことと実験・シミュレーションとを並行して行うことは重要である。そして、実験・シミュレーションを行う際に、厳密にアルゴリズム(計算の手順)を実行することが不可欠である。

だが、人は間違うものであり、実験の際にアルゴリズムを厳密に実行することがそもそも容易ではない。実際、先日の授業でも、生徒が2名1組になって、「先に50歩進んだほうが勝ち」というルールでグリコゲームを(実際にアルクの出なく紙上で)行ってもらったが、互いが何の手で何回勝ったかを記録しつつゲームを進めるということでも、かなり困難であった。

 一定のアルゴリズムを繰り返し実行することは、人間が機械のようになるということである。しかし、機械のように動けることは、機械を動かす側になるためにも、必要なことであろう。アルゴリズムを甘く見ず、間違いが生じにくいよう準備して取り組むことは、重要である。今回で言えば、「じゃんけんをする→あいこなら勝負がつくまでじゃんけんを続ける→勝った側がコマを所定の歩数進める→両者が勝利者と手を記録する→互いの記録に間違いがないか確認する」といった手順を明示し、一つ一つ確認しながら進めることが必要であった。

 NHKピタゴラスイッチ」の「アルゴリズムたいそう」を監修した佐藤雅彦さんが、かつて「課外授業ようこそ先輩」で、子どもたちが人間計算機となって複雑な足し算を機械的に行う活動をさせていたことが思い出される。アルゴリズムが楽しく感じられることが、数学を学ぶことの一つの到達点なのだろう。そして、表計算ソフトをもっと使って、多くのシミュレーションを授業に取り入れていきたい。