ChatGPTで数学の問題を解けるのか?GPT-3.5とGPT-4で比較【④推論編】

ChatGPTで数学の問題を解けるのか?」「GPT-3.5とGPT-4でどのような違いがあるの?」そう思う方もいるのではないでしょうか。

今回PROMPTYでは、では、ChatGPTがどの程度の数学の問題を解くことができるのか、その限界と可能性について詳しくご紹介していきます。本記事は、推論編になります。

ChatGPTに解かせる問題

本記事では推論問題の例題として、次のような、3つの情報から順位を推定する問題を用意しました。

就職活動のWebテストなどで頻繁に使われる問題形式です。

問題文:

A,B,C,Dの4人でのアーチェリーの大会が行われた。

順位に関して次のことが分かっている。なお、同じ順位の人はいない。

Ⅰ Aは昨年より順位が3つ下だった。
Ⅱ Bは今年と昨年で順位が変わらなかった。
Ⅲ Cは今年2位であった。

今年の順位を左が上位として並べてください。

パターン①:ヒントを与えずにChatGPTに推論問題を解かせる

はじめに、出力形式のみを指定してChatGPTに推論問題を解かせました。

プロンプト:

#命令文
以下の#出力形式に従って#問題を回答してください。

#問題
A,B,C,Dの4人でのアーチェリーの大会が行われた。

順位に関して次のことが分かっている。なお、同じ順位の人はいない。

Ⅰ Aは昨年より順位が3つ下だった。
Ⅱ Bは今年と昨年で順位が変わらなかった。
Ⅲ Cは今年2位であった。

今年の順位を左が上位として並べてください。

#出力形式
*解き方
*答え

出力(GPT-3.5の場合):

*解き方:

Aの昨年の順位から今年の順位を求める。
Bの昨年と今年の順位が同じであることから、Bの順位を特定する。
Cの今年の順位が2位であることから、Cの順位を特定する。
Dの順位を特定する。順位はA、B、Cのいずれとも異なることがわかっている。
*答え:
今年の順位は、上位から順にC、A、B、Dとなります。

出力(GPT-4の場合):

#解き方
この問題は、与えられた情報を元に順位を推測する問題です。各人の順位に関する情報は次のとおりです:

Ⅰ Aは昨年より順位が3つ下だった。
Ⅱ Bは今年と昨年で順位が変わらなかった。
Ⅲ Cは今年2位であった。

まずは条件Ⅲから、Cの今年の順位が2位であることが分かります。4人の大会なので、順位は1位から4位まであります。

次に条件Ⅱを見ると、Bの順位は昨年と変わっていないとのことです。Bが1位または4位でないことは明らかです。なぜなら、それらの順位では昨年と順位が変わる余地がないからです。したがって、Bの順位は2位または3位でなければなりません。しかし、Cが2位であるため、Bは3位であることが確定します。

最後に条件Ⅰを見てみましょう。Aは昨年よりも順位が3つ下がったとあります。この情報から、Aが昨年1位だったことが分かります(なぜなら、順位が3つ下がるためには、最初の順位が1位でなければならないからです)。したがって、Aの今年の順位は4位であることが分かります。

Dの順位については明確な情報は与えられていませんが、他の3人の順位がすでに確定しているため、Dが今年の1位であると結論付けることができます。

#答え
1位: D
2位: C
3位: B
4位: A

GPT-3.5の答えは不正解です。GPT-3.5の出力結果は、問題文を引用してそれらしい文章が生成されていますが、全く推論ができていません。

GPT-4の答えは正解です。GPT-4の出力結果は、問題文の情報から順位の推論し答えはあっていますが、Bの順位の特定している段落の説明がいまひとつです。

パターン②:ヒントを与えずにChatGPTに推論問題を解かせる

正しい推論を出力するため、解答の順序に関してヒントを与えてChatGPTに推論問題を解かせました。次のようにプロンプトを修正しました。

プロンプト:

#命令文
以下の#制約条件に従って#問題を回答してください。

#問題
A,B,C,Dの4人でのアーチェリーの大会が行われた。

順位に関して次のことが分かっている。なお、同じ順位の人はいない。

Ⅰ Aは昨年より順位が3つ下だった。
Ⅱ Bは今年と昨年で順位が変わらなかった。
Ⅲ Cは今年2位であった。

#制約条件
*必ず#出力形式に従う。
*#ヒントに従って順番に回答する。

#ヒント
*はじめに、ⅢからCの順位を求めます。
*次に、ⅠからAの順位を求めます。
*次に、ⅡからBの順位を求めます。
*最後に、残りのDの順位を求めます。

#出力形式
*解き方
*答え[Aの順位 Bの順位 Cの順位 Dの順位]

出力(GPT-3.5の場合):

#解き方

まず、ヒントに従って順番に回答していきます。

ヒントによれば、ⅢからCの順位を求めます。問題文によれば、Cは今年2位であるため、Cの順位は2位です。

次に、ⅠからAの順位を求めます。問題文によれば、Aは昨年より順位が3つ下だったため、Cが2位であることからAの順位は5位です。

次に、ⅡからBの順位を求めます。問題文によれば、Bは今年と昨年で順位が変わらなかったため、Cが2位であることからBの順位も2位です。

最後に、残りのDの順位を求めます。問題文で明示的な情報は与えられていませんが、残りの順位は1位または3位となります。ただし、同じ順位の人はいないという制約条件があるため、Dの順位は1位となります。

#答え
[5位 2位 2位 1位]

出力(GPT-4の場合):

#解き方

ヒントに従って、まずはCの順位を求めます。ヒントⅢによれば、Cは今年2位なので、Cの順位は2位とわかります。
次に、Aの順位を求めます。ヒントⅠによれば、Aは昨年より順位が3つ下だったということは、昨年の順位が1位であった場合に今年のAの順位が4位になるのが最低順位です。つまり、Aの順位は4位です。
次に、Bの順位を求めます。ヒントⅡによれば、Bの順位は昨年と変わらなかったということです。しかし、すでに2位と4位がCとAで占められていますので、Bの順位は1位または3位です。ただし、Aが昨年1位だったと仮定した場合、Bは昨年と順位が変わらないという条件から、Bの順位は1位ではなく3位となります。
最後に、Dの順位を求めます。すでに1位、2位、3位、4位のうち2位、3位、4位がC、A、Bで占められているので、Dの順位は残りの1位となります。
#答え
[Aの順位 Bの順位 Cの順位 Dの順位] = [4 3 2 1]

GPT-3.5の答えは不正解です。5位という誤った順位が出力され、#ヒントを与えても結果は改善されませんでした。

GPT-4の答えは正解です。パターン①から#解き方の説明が改善され、#ヒントに従って正しく推論することができました。

まとめ

今回PROMPTYでは、GPT-3.5とGPT-4で順位を推論する問題を解かせました。 結果として、GPT-4はGPT-3.5よりも高い正答率を示しました。また、GPT-4とGPT-3.5では出力結果の質の差が大きいことが窺えます。

今後の記事でも、様々な種類の問題を扱ってChatGPTの数学の問題解決能力を検証していきます。