ChatGPTに京大数学の証明問題を解かせてみたらすごいことになった。
前回、ChatGPTに京都大学の整数問題を解いてもらいましたが、残念ながら正解することはできませんでした。とは言っても、まだ一回目ですし簡単な因数分解はできるようなので、まだワンチャンあると思います。
問題選定も重要になってきますが、数値計算はいいとして、ChatGPTは数学の証明はできるのでしょうか。以下の問題で試してみました。
√2が無理数であることを証明してください
これは背理法の例題としてほぼ確実に取り上げられます。ChatGPTの証明は次の通り。
√2が有理数であるとすると、以下のように表すことができます。
√2 = a/b
ただし、aとbは整数で、bは0ではありません。a/bは既約分数とすることができます(aとbが共通の約数を持たない場合)。
このとき、両辺を2乗すると、
2 = (a/b)^2 = a^2 / b^2
となります。これを変形すると、
a^2 = 2b^2
となります。
ここで、a^2が偶数であるということは、a自体が偶数であることになります。なぜなら、奇数の2乗は奇数になり、偶数の2乗は偶数になるからです。
aが偶数であるということは、aを2で割ったときに余りが0であるということです。aを2で割ったときに余りが0であるということは、a/2という式が整数であることを意味します。
そこで、aを2で割った値をcとして、
a = 2c
と書くことができます。これを元の式に代入すると、
(2c)^2 = 2b^2
4c^2 = 2b^2
2c^2 = b^2
これは、b^2が偶数であることを意味します。したがって、bも偶数であることになります。
しかし、aとbが共通の約数2を持つことになり、a/bは既約分数と仮定していたため、矛盾が生じました。従って、√2は有理数ではなく、無理数であることが証明されました。
表現が回りくどい感じはしますが、証明は概ね合っているので許容範囲内ですね。それではさっそく京都大学の入試に挑戦してもらいましょう。今回解いてもらうのはこちらの問題。2001年文系第3問です。
任意の整数に対し、
基礎的な問題なので教科書をしっかり読んでいる高校生なら完答できると思います。果たしてChatGPTは証明できるのでしょうか。解答を見てみましょう。
n^9 - n^3を因数分解すると、
n^9 - n^3 = n^3(n^6 - 1)
となります。この式の右辺を因数分解すると、
n^9 - n^3 = n^3(n^3 + 1)(n^3 - 1)
となります。
これをmod 9の意味で考えてみましょう。すなわち、nを9で割った余りが異なる場合について、n^9 - n^3が9で割り切れるかどうかを確認します。
nが9で割り切れる場合、n^9 - n^3は明らかに9で割り切れます。
nが9で割り切れない場合、nを9で割った余りは1から8のいずれかで、n^3を9で割った余りは0か1か8のいずれかになります。
ここで、n^3を9で割った余りが0の場合、n^3も9で割り切れるため、n^9 - n^3は9で割り切れます。
n^3を9で割った余りが1の場合、n^3 + 1を9で割った余りは2になります。同様に、n^3 - 1を9で割った余りは0になります。したがって、n^3(n^3 + 1)(n^3 - 1)を9で割った余りは0になります。
n^3を9で割った余りが8の場合、n^3 - 1を9で割った余りは7になります。同様に、n^3 + 1を9で割った余りは2になります。したがって、n^3(n^3 + 1)(n^3 - 1)を9で割った余りは0になります。
以上より、どのような整数nに対してもn^9 - n^3は9で割り切れることが証明されました。
……すげぇ。何これヤバい。僕も因数分解はしましたがやり方が少し違います。
n^9-n^3=n^3(n^3+1)(n^3-1)までは同じです。僕はn^3-1とn^3+1をさらに因数分解しました。
n^3-1=(n-1)(n^2+n+1)
n^3+1=(n+1)(n^2-n+1)
つまり、n^9 - n^3=(n-1)n(n+1)(n^2+n+1)n^2(n^2-n+1)
(n-1)n(n+1)は連続する3つの整数の積なので3の倍数です。
(n^2+n+1)n^2(n^2-n+1)はnが3の倍数のとき、当然3の倍数、nが3で割って1余る数ならn^2+n+1が3の倍数です。合同式で書くと
n^2+n+1≡1^2+1+1≡0(mod 3)
nが3で割って2余る数ならn^2-n+1が3の倍数になります。これも合同式で書くと
n^2-n+1≡2^2-2+1≡3≡0(mod 3)
結局、nがどんな数であっても(n^2+n+1)n^2(n^2-n+1)は3の倍数です。
(n-1)n(n-1)と(n^2+n+1)n^2(n^2-n+1)がともに3の倍数なので、その積であるn^9-n^3は3・3=9。よって、9で割り切れます。
備忘録のために数学的帰納法でも証明してみましょう。
n^9-n^3において、n=1のとき
1^1-1^3=0
よって、n=1のときn^9-n^3は9で割り切れる。
n=kのときn^9-n^3が9で割り切れると仮定する。
k^9-k^3=k^3(k^6-1)
=(k^3-1)k^3(k^3+1)
n=k+1のとき
(k+1)^3=Kとして、
(k+1)^9-(k+1)^3=K^3-K
=(K-1)K(K+1)
={(k+1)^3-1}(k+1)^3{(k+1)^3+1}
k+1が3で割り切れるなら(k+1)^3、1余る場合は{(k+1)^3-1}、2余る場合は{(k+1)^3+1}が9の倍数になる。
よって、n=k+1のときもn^9-n^3は9で割り切れる。
したがって、任意の整数nに対して、n^9-n^3は9で割り切れる。
この証明で主張している内容はChatGPTとほとんど同じです。ただ、証明に慣れるという意味でもさまざまな書き方を知っておいて損はないと思います。
それにしても本当に証明してしまうとは驚きです。n^3を9で割った余りが0、1、8のいずれかであることに着目したのは見事。n^3 + 1とn^3 - 1を9で割った余りは書く必要がないのでそこを削れば満点かな、というのが個人的な感想です。
ChatGPTは計算より証明の方が得意なのか? 最後にいくつか質問してみましょう。
京都大学の数学入試は難しいですか?
京都大学の数学入試は、一般的に難易度が高いと言われています。特に、文系の数学問題は高度な数学知識が必要とされることが多く、理系の数学問題も難解な問題が出題されることがあります。
ただし、入試に出題される問題は、それぞれ異なる難易度や出題範囲を持ちます。また、過去問を解いてみると、過去数年間においても難易度が大きく変動することがあるため、一概に「難しい」と言い切ることはできません。
入試に合格するためには、幅広い数学的知識を身につけ、応用能力を養うことが必要です。また、過去問などを解くことで、出題傾向や問題の形式を把握し、対策を立てることが重要です。
正論すぎて言葉が出ません。ついでにもうひとつ。
大学入試の問題は解けますか?
大学入試の問題は様々な種類があり、難易度や分野によって異なります。私は自然言語処理のAIモデルであり、多くの問題に対して回答を提供することができますが、数学や物理などの専門的な問題に対しても一部の問題を解くことが可能です。
ただし、大学入試の問題は、一般的に高度な知識や理解力が必要であり、解答には時間がかかることがあります。また、入試においては解答だけでなく解法や証明が求められる場合もあります。私は機械学習による自然言語処理のAIであるため、正確な解法や証明を提供することはできませんが、必要に応じて参考になる情報を提供することは可能です。
本当に解いちゃったよ。しかも結構正確だったよ。
まだ一問だけなのでChatGPTを過信するのは危険ですが、勉強にも活用できる可能性が出てきました。余裕があれば東京大学の入試問題でも試してみようと思います。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます