ChatGPTは、拙いこと自体が遊びになる。
ここでは「ChatGPT数学オリンピック」と称して「ChatGPTに、数学の入試問題を解かせ、正答へ導くためのコーチング技術を競う大会」を提唱したい。
2023年3月現在、ChatGPTは、論証を演繹的に組み合わせるのが得意ではないらしく、特に、数学などは苦手科目だ。だからこそ競技として成立する。このプレイ感覚は、ドッグスポーツなどの動物競技に近い。思い通りにならない、もどかしさと愛らしさを楽しもう。
まずは、大学入試の数学から、例題を持ってきた:
これは東京大学の学部入試で、20年前、実際に出題されたものだ。教育関係者のなかでは、今なお伝説になっている一問である。(なにせ、問題文がたった1行しかない)
これをウチのChatGPT4に解かせて遊んでみたい。さあ行け!ChatGPT 改め、愛犬チャッピー。
うちの愛犬が挑む前に、まずは、人間の手で模範解答を示しておこう。
<模範解答>
・直径の長さが1の円を考える。この円周の長さは、円周率の値と同じになる。長さを実際に測れるとしたら、3.14になっているはずだ。(下図の、青線)
→この青線の長さが、少なくとも3.05以上であることを、計算上で示せばよい。
・それを計算するために、その円に内接する「正N角形」を考え、その外周の長さを計算する。(下図の、赤線)
・青線は遠回りをしている分、赤線より長いはずだ。なので、赤線の長さが3.05より大きいことを示せば、青線の長さも3.05より大きいことが分かる。それで証明完了。
あとはNをいくつにして計算を試すかだけがキモだ。
N=6の「正6角形」で計算すると、3.05に足りない。
N=12の「正12角形」で計算すれば、3.05に足りる。
以上、たったこれだけだ。タネさえ解ってしまえば、別に難しくはない。紀元前の古代ギリシャですら、既に解かれていた問題だ。手順を知ったうえだと、易問とすらいえる。
当時、この問題は、東大受験生に不意打ちで食らわせたことに価値があったのだろう。テクニック詰め込み型の受験勉強では身につかない、アドリブの判断力や知恵を問う良問だと思う。(「問題が何を問おうとしているか」を読み解く力や、それをどう効率よく論証できるか戦略設計する力が要る)
<一走目>
ここからが本題だ。一走目は、まず手始めに、AI犬チャッピーへ、そのままの問いをぶつけてみる。
AI犬からの答えはこちら:
数学の解答としては、まったく間違っている。もちろん0点だ。だが、この時点で、早くも、このAIの可能性を感じる答えでもある。
素晴らしいのは、以下の2点。
・証明問題として「何が問われているのか」を理解していること
ちなみに以前、ChatGPT3に同問題を問いかけたら、「古来から円周率は3.14なので、3.05より大きいです」の一点張りだった。まさしく「何が問われているのか、分かっていない」という状態だった。それに比べ、ChatGPT4は成長している。
・幾何学的アプローチの採用
図形内で長短を比較することで、円周率の値を推定できる…という点に着目しているのが素晴らしい。どこで覚えてきたのか、このアプローチ自体は合っている。
良点はそれぐらい。それ以外は、計算も論理も間違いだらけだ。そこをコーチングして、正していこう。
…あと「どこで覚えてきたのか」と書いて気づいたが、問題文が、東大入試問題の原文そのままだと、Webに載っている解法例をカンニングされてしまう可能性がありそうだ。それだとあまり意味がない。問題文は、文意を変えない範囲で変形しよう。
また出題側のプロンプト内でも、「東京大学」や「アルキメデス」というワードは禁じ手にしておきたい。(それが入っていると、カンニングを促してしまう)
<二走目>
深津貴之さんが考案していたプロンプトのフォーマット術をベースにしてみた。役割や制約条件を明確にすることで、答えの範囲を絞って精度を上げる。
その他に「論理的」や「ステップを段階に分ける」などの語を入れるのも、論証の精度向上に向いていると聞く。さてこれだとどうか。
AIの解答はこれだ:
※以降、プロンプトやAI回答の文面は、すべて読み飛ばしてもらっても、話の展開自体はじゅうぶん分かるかと思います。読むのも大変でしょうし…
早くも正12角形にたどり着いたのは見事だが、肝心の論証の精度は上がっていない。点数としてはあいかわらず0点だろう。どうやら、論証のステップ自体を明示してあげたほうがよさそうだ。
<三走目>
経るべきステップの段階を明確にした。これでどうだ。
それを受けて、チャッピーの答えはこちら:
AI犬チャッピーは、ステップ2をヒントに、早くも「段階的にテストする」というプロセスにたどり着いた。 (正6角形で試し、それだと足りないので、正12角形で試す…というプロセス) 素晴らしい。これが入試なら、10点満点中1点ぐらいの部分点はもらえるかもしれない。ただ、それ以外の部分は、まだ論理が壊れたままだ。どうするか。
<四走目>
ステップ3に、自ら検算させる過程を入れてみた。ChatGPTは、出力を自ら検証し、自ら改善案を出し、自ら修正し、また自ら検証…というのを再帰的に繰り返すと、解答の精度が大きく上がることが分かっている。それを利用してみたい。
あと、辺の長さは、具体的な解き方のヒント(三角関数の定理)を加えてみた。これではどうか?
何も改善せず…。「三角関数の定理」という指示が、むしろ迷走させてしまった。ごめんよ、チャッピー。
あと再帰的指示も機能しなかった。あいかわらず、10点満点中1点、というところか。やり直そう。
<五走目>
三角関数については、はっきりと「第二余弦定理」と明示してみた。ヒントを出しすぎの感もあるが、このぐらい言わないと、正答には導けないだろう。あと、不等式の論証の誤りが改善しないので「十分条件」という単語を入れてコーチングしてみた。
さあ、どうだろう。チャッピーの答えはこちら:
チャッピーが、急に正24角形を咥えて、持ち帰ってきた。ドヤ顔をしているが、肝心のステップ3の論証は、よりひどくなっている。これは10点満点中0点だろう。悪化した。…こういうこともある。我慢強く。別の作戦だ。
<六走目>
ステップを手取り足取り、詳細化してみた。ヒントを出しすぎ…というか、ほとんど答えを教えている節もあるが、これなら、さすがにいけるか…?
良かった。なんとか、正解へたどり着いた。あと、急に答えが端的になった。
あえていうと、ステップ2とステップ3がじゃっかん説明不足で減点対象だが、計算結果自体は合っているし、良しとしたい。この答えは、10点満点中9点はあるだろう。
さらに満点を目指してもいいが、これでもうフィニッシュにしてあげたい。もう十分じゃないか、ここはAI犬を抱きしめてあげよう。よくやった、チャッピー。
* * *
というわけで、今日はここまで。やってみて思ったこと。
・暇つぶしの娯楽としては十分に成立する。楽しかった。次は実際に、他の方と競技形式でやってみたいところだ。手数最小で解答にたどりつくと勝ち、というルールで。
・本当は証明問題よりも、答えの値が一意に出る問題の方が、競技には向いている気がする。(∵正否が明確)
→ぜひ、興味を持った稀有な方がいたら、他の入試問題でお試しください。
・もちろん、数学以外のジャンルでも成立する。(世間では、既存のゲームをプログラミングさせる遊びが流行っているようだが、こうして苦手なことをやらせてみるのも、AIの特徴が垣間見えて一興だ。なんといっても愛らしさが増す)
<補足>
・問題の解法について
解き方の詳しい解説は、QuizKnockのサイトに載っているので、興味がある方は、そちらを見てほしい。
また、この問題の解き方は、一通りではない。それがこの問題の素晴らしい点のひとつだ。文中では、高校生が試験時間内に解く際に、最も一般的な方法を示したが、東大の受験生ともなると、マーダヴァ・グレゴリー・ライプニッツ級数をまず証明し、そこから計算するような猛者も一人ぐらいはいたかもしれない。(私にはできない)
・入試でもらえる部分点の目安
私は教育者ではないため、点数は憶測で書いています。お詳しい方がいたら、コメントください。
・sin(15°)の近似値
sin(15°)の近似値が、加法定理なしにいきなり出てくるのは、高校数学の範囲としては若干ずるく、咎めたくはなる。一般的な高校数学だと、加法定理を用いて、
sin(15°)=sin(45°)cos(30°)-cos(45°)sin(30°)
とし、そこから計算するはずだ。だが、「なぜ sin(15°)はずるくて、sin(30°)がずるくないのか」については妥当な理屈がないので、正すのが難しい。実際、この入試の正答でも、√2や√3の近似値は、暗記した値を使っても許されていたのだろう。(その場で、漸化式から計算で導くことを要求はしていまい)それと本質的に違いはない。ここはもはや、人間社会のさじ加減の部分だ。AI犬には不問にしたい。
・正12角形の辺の長さ
これも公式かのように使っているが、高校数学ではおそらく習わない。高校数学で一般的なのは、円の中心から放射状に12等分し、そこでできた三角形に、第二余弦定理を適用して算出する方法だ。
・最後に
私の数学知識の範囲で、ていねいに精査したつもりですが、もし誤りを見つけたら、遠慮なく指摘いただきたいです。
<参考文献>
円周率関連
https://web.quizknock.com/pi-305
https://examist.jp/mathematics/trigonometric-ratio/sei12kakukei-menseki/
http://www.math.s.chiba-u.ac.jp/~yasuda/Chiba/Lec/yogen.pdf
https://keisan.casio.jp/exec/system/1166416582
https://mathsuke.jp/trigonometric-ratio-15/
https://manabitimes.jp/math/1229
https://manabitimes.jp/math/775
ChatGPTプロンプト技術関連
https://twitter.com/bukuta_3/status/1636834862505275393?s=20
https://twitter.com/ceoimed/status/1639236367866642433?s=46&t=BDUSmzpllZ7ML86BRoPMDw