LoginSignup
37
13

「お釣りのパラドックス問題」でChatGPTとGPT-4を比較してみました

Last updated at Posted at 2023-04-20

本記事では、GPT-4がChatGPTと比較してどれくらい賢くなったのか、「お釣りのパラドックス問題」を用いて試してみた(遊んでみた)内容を紹介します。

GPT-4を使用するには、

が必要ですが、ひとまず簡単に試すだけなので、ora.shを使用しました。

(参考) GPT-4が無料!?ChatGPTへ課金する前に検討してほしいサービス3選

はじめに今回お題とした、「お釣りのパラドックス問題(消えた100円)」 について紹介します。

その後、ChatGPT(GPT-3.5)、GPT-4、それぞれの回答を確認します

1. お釣りのパラドックス問題(消えた100円)とは

有名なパラドックスの一つです。

英語では「Where has the one dollar gone」もしくは「Missing dollar riddle」と呼ばれています。

問題文を入力するにあたり、ネット上に存在するWebページ(Wikipediaなど)と同じ文章では訓練データに使われている可能性があるので、以下のような文章に自分で少し変更しました。

例:Wikipediaの料金紛失のページ


【問題】

私は会社の同期と3人でお昼ご飯を食べに行きました。
食事代は合計で3,000円であり、3人で等分して支払いました。
すると料理長が「馴染みのお客さんだから、今日はサービスで2,500円で良いよ」とレジの店員にこっそり伝えました。
レジの店員は500円をお返ししても、3人で等分できないので、私たちに300円を返して、200円は自分がもらうことにしました。
結果、私は値引きしてもらった300円を3人で分け、「結局ひとり900円で済んだので、合計で2,700円でご飯を食べれたね」と話しました。
それを聞いたレジの店員は、あれ「自分がこっそりもらった200円と合わせて、2,900円の支払いであり、3,000円の支払いだったはずなのに、100円が消えた」と不思議に思いました。
さて、100円はどこに消えたのでしょうか?


この問題の回答を私が記述する場合は以下のようになります。

【私の回答例】

最後の部分、レジ店員の「自分がこっそりもらった200円と合わせて、2,900円の支払いであり、3,000円の支払いだったはずなのに、100円が消えた」という考え方自体が間違っています。
 そもそも、お客さんが支払った2,700円のなかからレジ店員は200円をネコババしているので、この2つを足し算するという考え方自体がおかしいです。
3,000円という元の支払金額がどのように変更されたのかを整理しましょう。
 [1] 900円×3人の支払い(2,700円)
 [2] 店員がネコババした200円
 [3] 料理長が値引きした500円
となり、[1] - [2] + [3] = 3,000円です。100円はどこにも消えていません。
レジ店員は[1]+[2]という誤った考え方(足し算)をしたため、「100円が消えた」という誤った結論にたどり着いています。


私が回答を記述すると上記のような感じとなります。

他のサイトでも回答例は似たような形です。

このパラドックス問題を解くには、お金の移動を頭の中に描いて、論理的に考え、さらにその回答内容を他人に伝わる文章に整形する必要があります。

2. ChatGPT(GPT-3.5)の場合

それでは早速ChatGPT(GPT-3.5)で試してみます。

そもそも有名なパラドックスであり、日本語と英語のWikipediaのページがそれぞれ用意されています(料金紛失Missing dollar riddle)。

そのため、「訓練データに本問題の解説ページが含まれているために解ける」という可能性もあります(私の上記のアレンジ文章では金額の数字などを変えていないですし)

以下、試してみた結果となります。


【結果:日本語】(ChatGPT、GPT-3.5)

qq2.png

上図左側の回答文章は、

「この問題は、経理的なトリッキーな問題であり、正しい答えには少し驚かされるかもしれません。

最初の支払い額が3,000円で、店員が2,500円に値引きして、その差額が500円です。この500円は、レジの店員が300円を顧客に返し、自分が200円をキープしたことにより分配されました。

その後、3人の同僚がそれぞれ1000円を支払い、レジの店員が200円をキープしたため、合計で2,200円が店に入ります。一方、実際の費用は2,500円であり、そこから値引きを差し引いた金額は2,000円です。したがって、2,200円から2,000円を引いた残りの200円が、問題の100円になります。

つまり、レジの店員が自分でキープした200円と、3人が支払った2,200円は合計で2,400円です。しかし、本来の支払い金額は2,500円でした。したがって、残りの100円は店の収益から引かれたことになります。

結局、3人が食事をしていたのは2,700円で、店が得た収益は300円でした。しかし、100円が失われてしまったため、実際には収益が200円になりました」

となりました。

なぜか2,200円と謎の数字が現れ、100円も失われたことになっています。パラドックスを解けていません。

何度も生成を試しましたが、きちんとした回答をChatGPTから得ることは無理でした。

「言語の問題かも?」(英語の方が性能は良い)と考え、続いて英語で質問してみます。


【質問:英語】

I went out for lunch with three of my colleagues from my company.
The total cost of the meal was 3,000 yen, which we divided equally among the three of us.
The head chef told the cashier, "Since you are our regular customer, you can pay 2,500 yen for today's service.
Since the cashier could not return the 500 yen and divide it equally among the three of us, he decided to return 300 yen to us and take the 200 yen for himself.
As a result, I split the discounted 300 yen among the three of us and told him, "In the end, each of us paid only 900 yen, so we got a total of 2,700 yen for the meal.
The clerk at the cash register, upon hearing this, wondered why 100 yen was missing from the bill, which, combined with the 200 yen I had secretly received, should have been 2,900 yen and 3,000 yen.
Now, where did the 100 yen go missing?


【結果:英語】(ChatGPT、GPT-3.5)

qq4.png

英語で質問してもダメでした。

回答例は上図左側、

「The mistake lies in the calculation made by the person who said "we got a total of 2,700 yen for the meal." This calculation is incorrect because it includes the 200 yen that the cashier took for himself. In fact, the correct amount paid by each person for the meal was 900 yen, but each person also received 100 yen back from the original payment, making their total payment 800 yen each.

Therefore, the total amount paid by the three colleagues for the meal was 2,400 yen (3 x 800 yen). When the head chef discounted the bill by 500 yen, the new total came to 2,500 yen. The cashier returned 300 yen to the colleagues and kept 200 yen for himself, leaving a total of 2,200 yen that the colleagues paid for the meal. Adding the 300 yen returned to the original payment of 2,400 yen, the total comes to 2,700 yen. There was no missing 100 yen, as the original payment was only 2,400 yen.」

回答では、「支払いは実質800円ずつで2,400円である」という謎の結果です。

英語でも何度生成してもダメでした。

また、次にGPT-4を使用する「ora.sh」でも試しましたが、同様にダメでした(上図右側)。

ChatGPT(GPT-3.5)は「お釣りのパラドックス問題」にきちんと答えられることはできなさそうである、 という結論になりました。

上述したように、このパラドックスについては解説のWikipediaページが日本語と英語それぞれに用意されているので(料金紛失Missing dollar riddle)、ChatGPT(GPT-3.5)でうまく回答できないことは驚きでした。

しかしChatGPT(GPT-3.5)でうまく行かなかったので、GPT-4を試す価値があります。

【※注意】 この結果をもって私は、ChatGPTやGPT-3.5がダメだと言いたいわけではありません。「ツールとして何ができて、何ができないのか。所望の性能を有しているのか、最大限に活かすにはどうすると良いのか?」と考える姿勢が良いのではと思っています。

3. GPT-4の場合

続いてGPT-4を試した結果を掲載します。


【結果:日本語】(GPT-4)

qq5.png

回答結果に驚きました。

まず、「消えた100円」というパラドックス問題 である点を理解しています。

そしてお金がどう動いたのかを整理し、「レジ店員の計算の考え方が誤っている」 と、正しく指摘しています。

ただ惜しいことに、3,000円がどのように分解されたのかが説明されていないので、

100円が消えたように見えるだけで、実際には消えていないことが分かります。

と説明されても、初見の方には「なるほど、納得!!」とはならない気がします。

あと一歩な感じです。

続いて、英語で試してみます。


【結果:英語】(GPT-4)

qq6.png

完璧な回答が返ってきました(ただし、生成3回目です。1、2回目は日本語と同じような内容でした)。

こちらでは、

The confusion arises when trying to add the 200yen the cashier took to the 2,700 yen you paid, (200円を2,700円にaddする考え方が混乱を招いた原因です)

とパラドックス問題の原因を、レジの店員の考え方、それも、足し算するという考え方 が間違いの原因である点を指摘しています。

さらに、きちんと分解して考えましょう、として

The actual breakingdown is:
・2500 yen for the meal (after the discount)
・300 yen returned to you
・200 yen taken by the cahier

と、3,000円がどう分解されるのかを箇条書きで説明してくれました。

冒頭の私の回答例とほぼ同じ文章内容になっています。


結論として、GPT-4は「お釣りのパラドックス問題」にきちんと答えられる(ように思える)。とくに英語だと解説が丁寧・分かりやすい 、となりました。

このあと、数字を10倍にしてみたりと少し変更してみましたが、やはりきちんと答えが返ってきました。

おわりに

GPT-4の回答結果には、素直に驚きました。

GPT-4の能力の詳細については、続々と報告が挙がっていますが、以下のMicrosoftが試した内容をまとめた論文が有名です(ただし、150ページ以上あります)

「Sparks of Artificial General Intelligence: Early experiments with GPT-4」
https://arxiv.org/abs/2303.12712

上記論文読むのは大変過ぎるので、「Two Minute Papers」の解説動画もおすすめです。
以下

以上、
GPT-4は賢いのか?「お釣りのパラドックス問題」でChatGPTとGPT-4を比較して遊んでみた結果でした。

本記事の内容をもって言えることは

「お釣りのパラドックス問題では、ChatGPT(GPT-3.5)よりもGPT-4の方が期待した答えが返ってきて、賢そうに見える」

という点だけです。

個人的には「シンギュラリティだとか、GPT万歳だとか、大規模言語モデル is all you need」と言いたいわけではありません。

とはいえ、GPT-3.5とGPT-4の能力の境界がどこにあるのかの理解はビジネス活用に重要だと考えています(GPT-3.5で解決できるなら問題なら、3.5を使う方がGPT-4を使うよりもコストを抑えられます)。

また大規模言語モデルを、「社会のどこで、どのように活かせば、効果的に人々の役に立つことができるのか?」を探すことも大切と考えています。

GPT-4によるBing検索の変化をはじめ、「大規模言語モデルは人々のデジタル情報(サイバー空間)へのアクセスの仕方、利用方法を変える可能性を秘めており、インターフェースの変化、そしてユーザー体験・UXの変化に繋がる可能性を秘めています」

入出力インターフェースの変化が人々の生活やビジネス・社会に与える影響の大きさは、過去の有名な事例が示す通りです(iPhoneのようなスマホ登場しかり)。

また、新たなインターフェースとしてAIモデルを人々が既存のアプリケーションで利用した際にも(例えば、PowerPointやExcel、スプレッドシート等々)、これまでにない種類のデータが集まるかもしれません。

そのデータにどれだけの価値があるのか、私はまだ具体的に見定められていません。

過小評価も過大評価もせず、淡々と、ときに情報を収集し、ときに自分で試したりしながら、ツールとして楽しんでいきたいと思います。

以上、ご一読いただき、ありがとうございました。

小川 雄太郎

【免責】
本記事の内容は執筆者の意見/発信であり、執筆者が属する企業等の公式見解ではございません

37
13
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
37
13