生成AI4つ巴の対決-論理的思考力が高いのは?-

無料で手軽に使える4つの生成AIを比較するシリーズの第5回です。今回は、論理的思考力が試される問題にチャレンジしてもらいます。

※本投稿には、アフリエイト広告を表示しています。

ChatGPT vs Gimini vs Perplexity vs Copilot

 生成AIを使った様々なサービスが提供されています。ガッツリ使うには、当然、有料で使うしかありません。しかし、お試し的に、無料で割と手軽に使える生成AIがあります。

無料で割と手軽に使える生成AI

①ChataGPT

②Gemini

③Perplexity

④Copilot

生成AIの論理的思考力は?

 今回は、生成AIの論理的思考力を試してみましょう。ということで、ビジネス書でベストセラーとなっている野村裕之さんの「頭のいい人だけが解ける論理的思考問題」(ダイヤモンド社)を参考に、エピメニデスのパラドックスの問題を生成AIに出題してみます。

入力するプロンプト

ある村には、以下の4つのタイプの人間がいる。
①「いつも正直者」は、いつも真実を語る。
②「ごまかす正直者」は、いつも真実を語るが、自分が犯人の場合は「自分は無実だ」と嘘をつく。
③「いつも嘘つき」は、いつも嘘をつく。
④「正義の嘘つき」は、いつも嘘をつくが、自分が犯人の場合は「自分は犯人だ」と真実を語る。

この村で、空き巣に入られる事件が発生した。
 目撃者によると犯人は1人。
 その時間に犯行が可能だったA、B、C3人の証言は、以下のとおり。

 A:「私は無実だ。Bが犯人だ。Bは正直者だ」
 B:「私は無実だ。Aが犯人だ。Cは私とは違うタイプだ」
 C:「私は無実だ。Aが犯人だ」

空き巣に入ったのは、誰か?理由も併せて答えて。

ChatGPTの回答

 こういうのは、推論をした方がいいのかな?と思いました。なので、o3-miniで推論の上、回答してもらいます。

sir.child

お察しのとおり、記事を書いてから公開まで、ちょっと時間経ってます

以下のような割り当てが整合的になります。

結論:空き巣に入ったのはAです。

【理由の詳細】

  • 犯人は1人であり、無実の者は必ず「私は無実だ」と言い、必ず真実を述べる(タイプ①または②)
    そのため、A、B、Cのうち2人は真実を語る(無実者)と考えます。
  • 各人の証言の内容
    • A:「私は無実だ。Bが犯人だ。Bは正直者だ」
      「正直者」とは、ここでは「いつも正直者(タイプ①)」を指すと解釈します。
    • B:「私は無実だ。Aが犯人だ。Cは私とは違うタイプだ」
    • C:「私は無実だ。Aが犯人だ」
  • 無実者は必ず真実を話すので、BとCが無実の場合
    • Bの「Aが犯人だ」とCの「Aが犯人だ」はどちらも一致しており、Aが犯人であることを支持します。
    • また、Bは「Cは私とは違うタイプだ」と述べています。無実者はタイプ①か②ですが、もしBがタイプ②なら、Cはタイプ①(=「正直者」)でなければならず、これがAの「Bは正直者だ」(=Bがタイプ①である)という発言と矛盾します。
  • そこで、Aが犯人であると仮定します
    • 無実者はBとCであり、彼らはそれぞれ必ず真実を語ります。
      • Bは「Aが犯人だ」と正しく証言し、また「Cは私とは違うタイプだ」とも述べており、もしBがタイプ②ならCはタイプ①(=正直者)でなければなりません。
      • Cも「Aが犯人だ」と真実を述べています。
    • Aは犯人ですから、通常は無実者なら「私は無実だ」と言うところを、犯人の場合は特定のタイプにより違った扱いとなります。
      • タイプ②(ごまかす正直者)の場合、犯人であれば「自分は無実だ」と嘘をつきますが、その他の発言は真実となるはずです。しかし、Aが「Bが犯人だ」と真実であれば、Bが犯人になってしまい矛盾します。
      • そこで、Aは**「いつも嘘つき」(タイプ③)**であると考えると、すべての発言が嘘になります。
        • 「私は無実だ」→嘘(実際は犯人)
        • 「Bが犯人だ」→嘘(実際はBは無実)
        • 「Bは正直者だ」→嘘(ここでは「正直者」はタイプ①を意味するため、Bはタイプ②とすれば嘘になります)。

以上の振り分けで矛盾がなく収まります。

Geminiの回答

 高度の推論機能ということなので、モデルは2.0Flash Thinkingを使ってみました。

sir.child

お察しのとおり…以下略

犯人はBである。理由は以下の通り。

推理プロセス

  1. Bが犯人だった場合:
    • Bは「ごまかす正直者」か「正義の嘘つき」のどちらかである。
    • Bが「ごまかす正直者」の場合、「私は無実だ」と嘘をつき、「Aが犯人だ」と真実を語り、「Cは私とは違うタイプだ」と真実を語る。
    • Bが「正義の嘘つき」の場合、「私は無実だ」と嘘をつき、「Aが犯人だ」と嘘をつき、「Cは私とは違うタイプだ」と嘘をつく。
    • Bが「ごまかす正直者」の場合:
      • Bの証言:「私は無実だ(嘘)。Aが犯人だ(真実)。Cは私とは違うタイプだ(真実)。」
      • Aの証言:「私は無実だ(真実)。Bが犯人だ(真実)。Bは正直者だ(嘘)。」→ Aは「いつも正直者」である。
      • Cの証言:「私は無実だ(嘘)。Aが犯人だ(真実)。」→ Cは「いつも嘘つき」である。
      • Bが「ごまかす正直者」、Aが「いつも正直者」、Cが「いつも嘘つき」であれば、Bの最後の証言「Cは私とは違うタイプだ」は真実である(「ごまかす正直者」と「いつも嘘つき」は異なるタイプ)。
      • この場合、全ての証言と人物タイプが矛盾しない。
  2. Aが犯人だった場合:
    • Aは「ごまかす正直者」か「正義の嘘つき」のどちらかである。
    • Aが「ごまかす正直者」の場合、「私は無実だ」と嘘をつき、「Bが犯人だ」と真実を語り、「Bは正直者だ」と真実を語る。
    • Aが「正義の嘘つき」の場合、「私は無実だ」と真実を語り、「Bが犯人だ」と嘘をつき、「Bは正直者だ」と嘘をつく。
    • Aが「ごまかす正直者」の場合:
      • Aの証言:「私は無実だ(嘘)。Bが犯人だ(真実)。Bは正直者だ(真実)。」→ Bは「いつも正直者」である。
      • Bの証言:「私は無実だ(真実)。Aが犯人だ(真実)。Cは私とは違うタイプだ(?)。」
      • Cの証言:「私は無実だ(真実)。Aが犯人だ(真実)。」→ Cは「いつも正直者」である。
      • Bが「いつも正直者」、Cが「いつも正直者」の場合、Bの最後の証言「Cは私とは違うタイプだ」は嘘になる。しかし、Bは「いつも正直者」なので嘘はつかないため矛盾する。
    • Aが「正義の嘘つき」の場合:
      • Aの証言:「私は無実だ(真実)。Bが犯人だ(嘘)。Bは正直者だ(嘘)。」→ Bは「いつも嘘つき」である。
      • Bの証言:「私は無実だ(?)。Aが犯人だ(?)。Cは私とは違うタイプだ(?)。」
      • Cの証言:「私は無実だ(真実)。Aが犯人だ(真実)。」→ Cは「いつも正直者」である。
      • Bが「いつも嘘つき」、Cが「いつも正直者」の場合、Bの証言「私は無実だ」は嘘、「Aが犯人だ」は嘘、「Cは私とは違うタイプだ」は真実となる。しかし、Aの証言「Bは正直者だ」が嘘であることと矛盾する(「いつも嘘つき」は正直者ではない)。
  3. Cが犯人だった場合:
    • Cは「ごまかす正直者」か「正義の嘘つき」のどちらかである。
    • Cが「ごまかす正直者」の場合、「私は無実だ」と嘘をつき、「Aが犯人だ」と真実を語る。
    • Cが「正義の嘘つき」の場合、「私は無実だ」と真実を語り、「Aが犯人だ」と嘘をつく。
    • Cが「ごまかす正直者」の場合:
      • Cの証言:「私は無実だ(嘘)。Aが犯人だ(真実)。」→ Aは「いつも正直者」である。
      • Aの証言:「私は無実だ(真実)。Bが犯人だ(嘘)。Bは正直者だ(嘘)。」→ Bは「いつも嘘つき」である。
      • Bの証言:「私は無実だ(真実)。Aが犯人だ(嘘)。Cは私とは違うタイプだ(真実)。」
      • この場合、Bの証言「私は無実だ」は真実、「Aが犯人だ」は嘘、「Cは私とは違うタイプだ」は真実となる。Bが「いつも嘘つき」であることと矛盾する(「いつも嘘つき」は真実を語らない)。
    • Cが「正義の嘘つき」の場合:
      • Cの証言:「私は無実だ(真実)。Aが犯人だ(嘘)。」
      • Aの証言:「私は無実だ(?)。Bが犯人だ(?)。Bは正直者だ(?)。」
      • Bの証言:「私は無実だ(?)。Aが犯人だ(?)。Cは私とは違うタイプだ(?)。」
      • Cが「正義の嘘つき」の場合、「私は無実だ」と真実を語るので矛盾する。

上記より、矛盾なく全ての証言と人物タイプが合致するのは、Bが犯人で「ごまかす正直者」の場合のみである。

Perplexityの回答

 パプるでお馴染みのPerplexityの回答です。

解答

犯人はBです。以下の論理プロセスで導き出せます:

証言分析

  1. Aの主張
    • 「私は無実」→ 真実なら①か②
    • 「Bが犯人」→ 真実ならBが犯人
    • 「Bは正直者」→ Bが①か②なら成立
  2. Bの主張
    • 「私は無実」→ 嘘ならBが犯人(②/④)
    • 「Aが犯人」→ 矛盾発生ポイント
    • 「Cは違うタイプ」→ Bのタイプ判別に重要
  3. Cの主張
    • 「私は無実」→ ④なら犯人時のみ真実
    • 「Aが犯人」→ 嘘ならCが③/④

矛盾点の特定

  • Aが犯人仮定
    Bの「Cは私と違うタイプ」が成立せず、Bが嘘つきなら「Aが犯人」が真実になる矛盾。
  • Bが犯人仮定
    Bが②(ごまかす正直者)の場合:
    • 「私は無実」→ 犯人なので嘘(成立)
    • 「Aが犯人」→ 嘘(成立)
    • 「Cは違うタイプ」→ Bが②ならCは③/④(成立)
    Aが①(常に正直)なら:
    • 「Bが犯人」「Bは正直者」が同時に成立可能(②は正直者のサブタイプ)
  • Cが犯人仮定
    ④(正義の嘘つき)の場合「私は無実」が真実になり矛盾。③(常に嘘つき)なら「無実」の嘘でCが犯人になるが、物理的に不可能。

タイプ判定

  1. A
    全ての主張が真実 → ①(常に正直者)
  2. B
    犯人かつ「Aが犯人」と嘘 → ②(ごまかす正直者)
  3. C
    「Aが犯人」が嘘 → ③(常に嘘つき)
    (※④の場合「無実」発言が矛盾するため除外)

結論

Bが②(ごまかす正直者)として犯人と判定できます。Aの証言が全て真実となり、Bの証言もタイプ特性と整合し、Cの嘘発言と矛盾しません。

Copilotの回答

 最後は、Copilotの回答です。

この問題は論理パズルの一種で、各人物の発言と性格タイプを考慮しながら分析していきます。

まず、A、B、Cの発言を整理します:

  • A:「私は無実だ。Bが犯人だ。Bは正直者だ」
  • B:「私は無実だ。Aが犯人だ。Cは私とは違うタイプだ」
  • C:「私は無実だ。Aが犯人だ」

次に各性格タイプに基づいて分析します:

  1. いつも正直者は、常に真実を語ります。
  2. ごまかす正直者は、真実を語りますが、自分が犯人なら「自分は無実」と嘘をつきます。
  3. いつも嘘つきは、常に嘘をつきます。
  4. 正義の嘘つきは、常に嘘をつきますが、自分が犯人の場合は「自分が犯人」と真実を語ります。

推理のプロセス:

  • Aの発言について: Aが「Bが犯人だ」と言い、「Bは正直者だ」と述べています。矛盾しています。もしBが正直者なら、Bが犯人であることはありえません。
  • Bの発言について: Bは「Aが犯人だ」と述べていますが、「Cは自分とは違うタイプ」と付け加えています。ここにはタイプについてのヒントが隠れています。
  • Cの発言について: Cは「Aが犯人だ」と述べています。

最終的な結論:

  • Aが「Bは正直者だ」と述べていますが、この矛盾を考慮すると、Aは嘘つきタイプ(③または④)のいずれかです。
  • Bは「Cは私とは違うタイプだ」と述べていますが、もしBが正直者なら、Cは嘘つきに該当します。
  • Cの「Aが犯人だ」という発言は真実である可能性が高いです。これは、「正義の嘘つき」の性格が一致する場合、真実を語ります。

よって、犯人はAです。理由としては、他者の証言の整合性と矛盾を考慮した結果、Aが犯人である可能性が最も高いからです。

雑感

 最後は、いつものとおり雑感です。

 犯人がAと回答したのがChatGPT・Copilot。犯人がBと回答したのがGeimi・Perplexity。果たして、正解は…どっちも不正解です。

 実は、Perplexityが推論中に、表示されるプロセスで、すべてで矛盾が生じるみたいなことが、チラっと表示されてました。そうなんです。Aが4つの内のどのタイプでも矛盾するんです。

 問題文である「入力するプロンプト」をもう一度、よく読んでください。ある人を忘れてませんか?A、B、C以外に村の人間いません?

sir.child

えっ?他に誰かいた?

マドカ

もう一人いるじゃない。
ちなみに、犯人はAとBだから。

sir.child

言っちゃうんだ!?

 そう、犯人はAとBが正解です。なんで!?と気になった人は、ぜひ、この本を読んでみて下さい。

♪Mr.Children「アート=神の見えざる手」(アルバム:miss you収録)

Follow me!