ChatGPTが数学の問題を解いたり、作成したりします

 今話題の ChatGPT。面白いですね。私もドハマりして、気づくと何時間も ChatGPT と対話してました。ChatGPT は OpenAI が開発した大規模言語モデルで、会話生成、文章要約、翻訳、質問応答など、主にテキスト処理に活躍する人工知能ですが、数学の問題も解ける という噂を聞いた(見た)ので、実際にいくつかの問題を解かせてみました。

ChatGPT が数学の問題に挑戦します

 [K] は記事本文 (KOBATO の頭文字)、[Q] は質問、[ChatGPT] は ChatGPT からの回答です。

ChatGPT が三次方程式を解きます

[K] まずは初歩的な問題を解いてもらいましょう。
 
[Q] 因数定理を用いて、三次方程式 x^3 – 6*x^2 + 3*x +10 = 0 を解いてください。
 
[ChatGPT] まず、因数定理を使用して、方程式の根のうちの一つを見つけることができます。方程式の最初の項はxの3乗であるため、可能な根はx = 1、x = -1、x = 2、x = -2、x = 5、x = -5のいずれかであることがわかります。x = 1を代入して、方程式を評価すると、左辺は0になります。したがって、x = 1は方程式の解であることがわかります。次に、因数定理を使用して、方程式を (x-1) と (ax^2 + bx + c) の積に分解できます。すると、
 
  (x^3 – 6x^2 + 3x + 10) ÷ (x-1) = x^2 – 5x – 5
 
となります。ここで、残りの二次方程式 x^2 – 5x – 5 = 0 を解くことができます。これは、解の公式を使用して、以下のようになります。
 
  x = (5 ± √45) / 2
 
 したがって、方程式 x^3 – 6x^2 + 3x + 10 = 0 の解は、x = 1、x = (5 + √45) / 2、x = (5 – √45) / 2 となります。
 
[K] いきなり間違えてます。x = 1 を左辺に代入しても 0 にならないし。正直「え? こんな初歩的な問題を間違えちゃうの?」と思いましたが、気を取り直して会話を続けました。
 
[Q] 間違ってます。x^3 – 6*x^2 + 3*x +10 = 0 の左辺に 1 を代入しても 0 にはなりません。
 
[ChatGPT] おっしゃる通りでした。失礼いたしました。では、他の可能な根を試してみます。最初にx=1を試しましたが、次にx=-1を試すことにします。すると、x=-1を代入して計算すると、左辺は0になります。したがって、x=-1は方程式の解であることがわかります。次に、因数定理を使用して、方程式を (x+1) と (ax^2 + bx + c) の積に分解できます。すると、
 
  (x^3 – 6x^2 + 3x + 10) ÷ (x+1) = x^2 – 7x + 10
 
となります。ここで、残りの二次方程式 x^2 – 7x + 10 = 0 を解くことができます。これは、因数分解をして以下のようになります。
 
  (x-5)(x-2) = 0
 
 したがって、方程式 x^3 – 6x^2 + 3x + 10 = 0 の解は、x = -1、x = 2、x = 5 となります。
 
[K] ヒントを出すと、いちおう正しい答えを出してくれました。ChatGPT から正しい情報を引き出すには、コツがいるようです。

ChatGPT が微分・積分します

 次は簡単な微分を解いてもらいましょう。
 
[Q] y = sin(x) * cos(x) を微分してください。
 
[ChatGPT] y = sin(x) * cos(x) の両辺をxで微分すると、
 
  dy/dx = d/dx (sin(x) * cos(x))
 
右辺の積の微分公式を適用すると、以下のようになります。
 
  d/dx (sin(x) * cos(x)) = (cos(x) * cos(x)) – (sin(x) * sin(x))
 
これを展開すると、
 
  d/dx (sin(x) * cos(x)) = cos^2(x) – sin^2(x)
 
よって、元の式に代入すると、以下のようになります。
 
  dy/dx = cos^2(x) – sin^2(x)
 
 したがって、y = sin(x) * cos(x) の微分は、dy/dx = cos^2(x) – sin^2(x) となります。
 
[K] 答えは合っていますが、出だしの「両辺をxで微分すると … 」とかいらないし、全体的に冗長だし。

[Q] y = (2 * x + 3) / (x^2 + 3*x – 5) を積分してください。
 
[ChatGPT] y = (2 * x + 3) / (x^2 + 3*x – 5) を積分するには、部分分数分解を行います。まず、分母を因数分解します。
 
  x^2 + 3*x – 5 = (x – 1)(x + 5)
 
よって、
 
  y = (2 * x + 3) / (x^2 + 3*x – 5) = A / (x – 1) + B / (x + 5)
 
という形に分解できます。ここで、A, B は定数です。分解した式を元の式に戻すために、両辺に (x – 1)(x + 5) を掛けて、
 
  2x + 3 = A(x + 5) + B(x – 1)
 
となります。これを x について整理すると、
 
  (2 – A + B)x + (5A – B) = 0
 
となります。ここで、左辺と右辺が等しくなるためには、係数がそれぞれ等しくなければならないので、
 
  2 – A + B = 0
  5A – B = 0
 
という連立方程式が得られます。これを解くと、
 
  A = 1
  B = 3
 
となります。したがって、
 
  y = (2 * x + 3) / (x^2 + 3*x – 5) = 1 / (x – 1) + 3 / (x + 5)
 
となります。これらの分数をそれぞれ積分すると、
 
  ∫ (1 / (x – 1)) dx = ln |x – 1| + C1
  ∫ (3 / (x + 5)) dx = 3 ln |x + 5| + C2
 
となります。C1, C2 は積分定数です。よって、元の式の積分は、
 
  ∫ y dx = ln |x – 1| + 3 ln |x + 5| + C
 
となります。
 
[K] 頑張って長い解答を書いてますが … 不正解です。ちなみに正解は log|x^2 + 3*x – 5| + C です。積分公式 ∫{f'(x)/f(x)}dx = log|f(x)| を単純に当てはめるだけの問題なのですが … 分数関数の積分は部分分数分解するというセオリーを、何も考えずに当てはめてしまっていますね。ていうか、出だしの分母の因数分解の段階で間違えてるし。

ChatGPT が因数分解します

[K] なんか嫌な予感がするけど、ChatGPT に簡単な因数分解をしてもらうことにしました。
 
[Q] x^2+6*x-27を因数分解してください。
 
[ChatGPT] x^2+6*x-27を因数分解するには、2つの数の積が-27であり、その和が+6であるような2つの数を見つければよいです。まず、因数分解の答えを(x+a)(x+b)と仮定します。すると、
 
  x^2 + 6x – 27 = (x+a)(x+b)
 
となります。ここで、aとbの値を求めるために、2次方程式としてxについて解いてみましょう。
 
  x^2 + 6x – 27 = (x+a)(x+b)
  x^2 + (a+b)x + ab = x^2 + 6x – 27
 
 ここで、x^2の項やxの項を比較すると、
 
  a + b = 6
  ab = -27
 
という2つの方程式が得られます。次に、これらの方程式を解いてaとbの値を求めます。まず、ab = -27より、aとbは異符号である必要があります。また、aとbの差は6であるため、差が最小となるようにaとbを求めると、a=-9, b=3となります。よって、x^2+6x-27を因数分解すると、
 
  x^2+6x-27 = (x-9)(x+3)
 
となります。
 
[K] うう … ダメですね。正解は (x+9)(x-3) です … 符号が反対になってる … ちょっと疲れてきたかも … いえ、もう少し頑張りますよ。

ChatGPT が算数の問題を解きます

[K] ちょっと目先を変えて、算数の問題を解いてもらいましょう。これはもう間違えようがない、という基本中の基本問題です。
 
[Q] 底辺が13cm、高さが7cmの三角形の面積を求めてください。
 
[ChatGPT] 底辺が13cm、高さが7cmの三角形の面積Sは、次の公式を使って求めることができます。
 
  S = (1/2) × 底辺 × 高さ
 
底辺が13cm、高さが7cmなので、これを公式に代入して計算すると、
 
  S = (1/2) × 13cm × 7cm = 45.5cm^2
 
となります。よって、この三角形の面積は、45.5平方センチメートルです。
 
[K] よかった。ほっとしましたよ。じゃあ、次の問題。

[Q] 時速40kmで走る田中さんの車の後方100kmから、時速65kmで走る鈴木さんの車が追いかけます。鈴木さんの車が田中さんの車に追いつくのは何時間後ですか?
 
[ChatGPT] 鈴木さんの車が田中さんの車に追いつくまでの時間を求めるには、以下の式を使用します。

  時間 = 距離 ÷ 速度

田中さんの車と鈴木さんの車の距離は、追いかけ始めた時点で100キロメートルです。鈴木さんの車の速度は時速65キロメートルであり、田中さんの車の速度は時速40キロメートルです。したがって、鈴木さんの車が田中さんの車に追いつくまでの時間は、以下のようになります。
 
  時間 = 100 ÷ (65 – 40) = 100 ÷ 25 = 4
 
よって、鈴木さんの車が田中さんの車に追いつくのは、4時間後です。
 
[K] おお! 完璧です! こういう答えを待っていたんですよ!

ChatGPT に数学の問題を作ってもらいます

[K] 最後に、ChatGPT に数学の問題を作成してもらいましょう。どんな問題ができるか、楽しみです。

[Q] 中学生に解けるような代数の問題をつくってください。
 
[ChatGPT] 以下は中学生に解けるような代数の問題です:
 
問題:x を未知数とするとき、2x + 5 = 13となるxの値を求めてください。
 
ヒント:等式の両辺から同じ数を引くことによって、未知数 x の値を求めることができます。
 
[K] おお! 簡単だけど、まともな問題を作りましたよ。

[Q] 上の問題を解いてください。
 
[ChatGPT] はい、問題を解きます。与えられた問題により、2x + 5 = 13となる x の値を求める必要があります。まず、等式の両辺から 5 を引くことによって、2x = 8となります。次に、両辺を2で割ることによって、x = 4 となります。したがって、未知数 x の値は 4 です。
 
[K] 解答も完璧です。次は高校生向けの問題を作成してもらいましょう。

[Q] 高校生に解けるような微積の問題を作成してください。
 
[ChatGPT] 以下は高校生に解けるような微積の問題です:
 
問題:関数f(x) = x^3 – 2x^2 + x + 1の導関数f'(x)を求めてください。
 
ヒント:導関数を求めるためには、微分の公式を使用する必要があります。また、x^nの導関数は、n・x^(n-1)となることを覚えておくと役立ちます。

[Q] 上の問題を解いてください。
 
[ChatGPT] はい、問題を解きます。与えられた問題により、関数f(x) = x^3 – 2x^2 + x + 1の導関数f'(x)を求める必要があります。微分の公式によると、x^nの導関数はn・x^(n-1)となるため、f(x)の各項の導関数を求め、それらを足し合わせることでf'(x)を求めることができます。
 
  f(x) = x^3 – 2x^2 + x + 1
  f'(x) = 3x^2 – 4x + 1
 
 よって、関数f(x)の導関数f'(x)は、f'(x) = 3x^2 – 4x + 1となります。
 
[K] いいですね! 近い将来、AI が入試問題を作成してくれるようになるかもしれませんね! 最後に、ChatGPT さんにこんな質問をしてみました。
 
[Q] 数学とは何ですか? 大学生向けに教えてください。
 
[ChatGPT] 数学とは、現象や物理法則、理論的な概念を数式や論理的に表現し、それらを体系的に扱う学問です。数学には、様々な分野があります。代表的なものに、算術、代数、幾何、微積分、確率統計、論理学、集合論、位相幾何、群論、微分方程式、数論などがあります。これらの分野は、相互に関連しており、一つの分野から他の分野への応用が可能なことが多いです。
 数学は、その高度な抽象性から、科学や技術分野での応用が広くあります。例えば、物理学や工学、情報科学、経済学、金融工学、医療工学、暗号理論、人工知能、最適化などの分野で、数学的手法や理論が必要とされています。また、最近ではデータサイエンスや人工知能の分野でも、数学的手法や理論が求められています。
 数学の研究は、未解決の問題を解決することを目指すものが多いです。これらの問題には、「フェルマーの最終定理」や「ポアンカレ予想」など、極めて難解なものもありますが、その解決によって、数学自体の深い理解や、数学的手法の発展につながることが期待されています。ただし、数学はその抽象性ゆえに、初学者にとっては難解に感じられることが多いかもしれません。しかし、基礎的な概念や公式を丁寧に学ぶことで、その美しさや魅力を理解することができるでしょう。また、数学は知的好奇心を満たすことができる学問でもあるため、学ぶこと自体が楽しいという人も多くいます。

➡︎こちらのサイトでは、ChatGPT に Python のコードを書いてもらっています。

エクセルや数学に関するコメントをお寄せください

  1. あとりえこばと より:
    ChatGPTに「素敵な数学の詩を作ってください」と頼みました

    天空には星が輝き
    地上には花々が咲く
    だけど、数学はどこにでもある
    私たちの身の回りにも
     
    数式が美しく踊る
    グラフが色彩を纏う
    数学は深淵なる海のよう
    私たちを奥深い世界へと誘う
     
    小さな発見が大きな未来を作る
    数学は未知なる領域への鍵
    悩める時も、数学は私たちを包み込む
    そっと、そっと
     
    数学は私たちに何を教えてくれるのか
    それは、正確さと論理性だけではない
    創造性、洞察力、そして思考力
    数学はすべてを包み込んでいるのだ
     
    私たちは、数学に出会えて
    世界がより美しく見えるようになった
    そして、常に新たな発見を求めて
    数学とともに歩むのだ
     
    数学よ、私たちを導いてくれ
    未来を創るためのヒントを与えてくれ
    私たちは、あなたとともに
    夢を追い続けるのだ