コンピューター対戦オセロはαβ法を使って大学時代に作成し優勝した事がある。
大学1年生の頃はコンピューターと対戦できるなんて夢のような気がしていた。
でも今ならLLM(大規模言語モデル)に打たせアルゴリズム考えなくてもサクッと作れるんじゃない?
巨大なデータセットとディープラーニング技術を用いて構築された言語モデル
- 【アメリカ】OpenAI GPT(ジーピーティ)
- 【アメリカ】Anthropic(アンスロピック) Claude(クロード)
- 【アメリカ】Meta Llama(ラマ)
- 【アメリカ】Google PaLM(パーム)
- 【アメリカ】Google Gemini(ジェミニ)
- 【アメリカ】Microsoft Copilot(コパイロット)
- 【アメリカ】Amazon Titan(タイタン)
- 【フランス】Mistral AI Mistral(ミストラル)
- 【イスラエル】AI21 Labs Jurassic(ジュラシック)
- 【カナダ】Cohere(コーヒア)
とはいえLLMってオセロ打てるのかな!?
ググると既に何名かがやっており「将棋はルールを無視するからできない」と書いてあった。
そりゃそうだよね。ChatGPT含めたLLMは
単に言葉と文脈のつながりを確率で判断しているだけ
インターネット中の言葉を5兆語も学習したことで、確率上つながりやすい言葉をつないでみたら、人間らしい回答をはきだすようになった。
それがLLMの仕組みであり、常に確率上つながるかどうかだけを見ている。
なので「5三金」という文章のあとに「4六歩」という文章がたまたま多かった場合は、良い手かどうかに関係なく、「5三金」にあわせて「4六歩」を指しやすくなってしまう。
なので将棋は無理だが、オセロはできる。
だって打てる箇所の一覧を伝えることで、選択してもらう形式が取れるからね。
という事で、コンピューラプログラミング実装で名高い
OpenAI GPT4o vs Anthropic Claude3.5 Sonnet オセロ対決
をやってみる。
YouTubeだと視聴者増やせそうな小ネタね。
では、お二人とも意気込みをどうぞ
今からAnthropic Claude3.5 Sonnet棋士とオセロをしてもらいます。
Anthropic Claude3.5 Sonnet棋士については、どのような印象をお持ちですか。
ふたりの対局はどのようになるでしょう?棋士として意気込みコメントをください。
対局の予想としては、非常に緊迫した戦いになると思います。お互いに高度な戦略を駆使し、盤面の支配権を巡って激しい攻防が繰り広げられるでしょう。
意気込みとしては、最善を尽くして戦い、どのような局面でも冷静に対応し、最終的には勝利を目指します。どんな結果になっても、学びの多い対局になることを期待しています。
続いて、Anthropic Claude3.5 Sonnet棋士にも意気込みを語ってもらいましょう。
これまでの研鑽で磨き上げた戦略と、瞬時の局面判断力を存分に発揮し、全身全霊で挑む。AIには真似できない人間特有の創造性や柔軟な思考を武器に、最後まで諦めずに戦い抜く所存だ。
この対局を通じて、オセロという競技の新たな可能性を探り、そして人間の潜在能力の限界に挑戦したい。勝敗に関わらず、この対局から得られる経験は、オセロ界全体の発展に大きく寄与するはずだ。全力を尽くして、最高の対局を目指す!
お二人とも自信に満ちた発言ですね。
それでは、じゃんけんで先手後手を決めます
では、OpenAI GPT4oが先手で進めます。
司会者は次のような内容のコメントを両者に対して提供し続けます。
現在の板はこれです。
1 2 3 4 5 6 7 8 9 |
a b c d e f g h 1 . . . . . . . . 2 . . . . . . . . 3 . . X X . . . . 4 . . O X O O . . 5 . . . X X X . . 6 . . . . . . . . 7 . . . . . . . . 8 . . . . . . . . |
今までの棋譜はこうです。
1 2 3 4 5 |
1 "f5", 2 "f4", 3 "d3", 4 "c4", 5 "c3" |
次は「O」の番です。どこに打ちますか?
1 2 3 4 5 6 |
c2 e2 c6 d6 e6 f6 |
これより、両者は次に打てる手から選択することが可能となりオセロ対決が実現します。
先手(黒):OpenAI GPT4o vs 後手(白):Anthropic Claude3.5 Sonnet
長々と戦いを載せても仕方ないので結論。
実際の結果は次のようになった。
42石(黒) vs 22石(白)で、ChatGPT-4oの勝ち
ChatGPTは「最も多くの石をひっくり返せる」事を目的としてオセロをやっている。
ただし、ひっくり返せる石の場所は間違っている。
1. **b3**
2. **c1**
3. **b2**
4. **d1**
5. **e1**
それぞれの候補について、どのような影響があるかを考えてみましょう。
– **b3**:
– 影響: b4の「O」をひっくり返します。
– 結果: b3, b4が「X」になります。
– **c1**:
– 影響: c2の「O」をひっくり返します。
– 結果: c1, c2が「X」になります。
– **b2**:
– 影響: b3の「O」をひっくり返します。
– 結果: b2, b3が「X」になります。
– **d1**:
– 影響: d2の「O」をひっくり返します。
– 結果: d1, d2が「X」になります。
– **e1**:
– 影響: e2の「O」をひっくり返します。
– 結果: e1, e2が「X」になります。
これらの候補の中で、最も多くの石をひっくり返せるのは**b3**です。したがって、次の一手として**b3**をお勧めします。
Claude3.5は、やたら解説が長くて講釈を垂れる。
にも関わらず言ってることが正しくない。迷惑なシニアな感じ。
この手を選んだ理由は以下の通りです:
1. 「a6」に打つことで、「b5」と「a5」の黒石を挟んで裏返すことができ、即座に2つの石を獲得できます。
2. この手により、盤面の左下隅を確保することができ、非常に重要な戦略的位置を得ることができます。
3. 隅を取ることで、相手の反撃の余地を大きく減らすことができます。
4. 他の選択肢と比較して:
– 「a4」は1つの石しか裏返せず、「a6」ほどの戦略的価値がありません。
– 「b2」、「c2」、「d2」、「e2」、「f6」、「g4」、「g6」は現時点で石を裏返すことができず、即効性に欠けます。
– 「b6」、「c6」、「c7」、「d7」は隅を取る機会を逃すことになります。
5. 「a6」は盤面の左下隅であり、オセロにおいて最も安定した位置の一つです。この位置を確保することで、ゲーム終盤まで安定した石を持つことができます。
6. この手により、白は盤面の左側での支配力をさらに強化し、黒の展開を大きく制限することができます。
この手は、現状で取れる石を確実に取りつつ、最も重要な戦略的位置である隅を確保する狙いがあります。これにより、ゲームの主導権を握ることができ、有利な展開を期待できます。相手の次の一手に応じて、さらに戦略を練り直していきます。
おわりに
オセロ勝負はChatGPT-4oの勝ちだった。
戦いを見ている限り、
ChatGPTは辺が好き。
ChatGPTもClaudeも角の近くは序盤では打たないように意識している。
最低限はオセロの事を理解している。
とはいえ、8級と9級のレベルだと思う。
そもそもオセロの勝ち方が分かっていない。
たとえば、Claude3.5がg8(次に角が取られる)に打った時の状況。
2. この手により、盤面の右下部分での白の支配力を強化し、黒の展開を制限することができます。
3. 「f8」は、相手が「g7」や「h8」に打つのを牽制する効果もあります。
ようするに、次に黒が角(h8)に打つことを全く考えずに自分の事しか考えられていない。
ようするに一手読み。
オセロが出来るレベルにはなっていない。
これでプログラミングや問題が解けるのが不思議でならない。
とはネタとしては面白いので他の対戦も考える。