この サイトで つかって いる、せかいで いちばん つよい チェスの AI「Stockfish(ストックフィッシュ)」に ついて まとめました。Stockfish は、コンピューターどうしの たいかいでも なんども ゆうしょう して いる チェスエンジンです。ひとと どちらが つよいのか、どうやって てを かんがえて いるのか、ひょうかちの よみかたも しょうかい します。
もくじ
Stockfish(ストックフィッシュ)って なに?
Stockfish は、チェスの てを かんがえる プログラム(チェスエンジン)です。きょくめんを わたすと、どちらが どれくらい ゆうりか(ひょうかち)と、いちばん よい て(いちばん いい て)を けいさん して かえします。
コンピューターどうしで たたかう たいかい(TCEC)で、これまでに 19かい ゆうしょう して います(2026ねん 10がつの とき)。つよさを レーティング(つよさを あらわす かず)で あらわすと、コンピューターどうしの たいきょくから つくる レーティングの ひょう(CCRL)で 3500を こえます。ひとの レーティングとは べつの ひょうなので、そのまま くらべる ことは できませんが、ひとの せかいチャンピオン(2800くらい)より ずっと うえです。
ひとと AIは どっちが つよいの?
いまは、AIの ほうが ずっと つよいです。
1997ねんに、IBMの コンピューター「ディープブルー」が、そのときの せかいチャンピオンの ガルリ・カスパロフに かちました(1997ねん 5がつ。6きょくの しあいで 2かち 1まけ 3ひきわけ)。ひとの せかいチャンピオンが、コンピューターとの しあいに まけたのは、これが はじめて でした。それから 30ねん ちかく たった いまの チェスの AIは、ひとの せかいチャンピオンでも かつのが ほとんど むりな ほど つよく なって います。
なお、ChatGPT のような、ぶんしょうを つくる AIとは べつの ものです。Stockfish は チェスの てを よむ ことだけを する プログラムで、ぶんしょうを かいたり、おしゃべり したりは しません。
どういう ふうに てを かんがえて いるの?
Stockfish は、「きの えだ」のように かんがえを ひろげて、なんても さきまで よんで います。
- いまの きょくめんから、させる てを ぜんぶ ならべます。
- その 1てずつに ついて、あいてが かえせる てを ぜんぶ ならべます。
- さらに その さきの じぶんの て、あいての て…と、なんても さきまで えだを ひろげます。
- えだの さきの きょくめんごとに、どちらが どれくらい ゆうりかの てんすう(ひょうかち)を つけます。
- 「おたがいに いちばん いい てを さしたら、さいごは どう なるか」を えだの さきから ぎゃくに たどって、いま さすのに いちばん よい てを えらびます。
あいては、じぶん(しろ)の てんすうが いちばん ひくく なる てを かえして きます。て A(1. e4)なら +0.30、て B(1. d4)なら +0.20、て C(1. g4)なら −1.27に なるので、いちばん よい ては て A です(てんすうは Stockfish 17.1、depth 18)。
ただし、ぜんぶの てを さいごまで よむ ことは できません。チェスの たいきょくの すすみかたは 10の 120じょう とおり くらい あり(シャノンすう)、どんなに はやい コンピューターでも よみきれない からです。だから、チェスで かならず かつ ほうほうは まだ みつかって いません。Stockfish の いちばん いい ても「ぜったいの せいかい」では なく、「いま よめる ところまでで いちばん いい て」です。
そこで、みこみの ない えだは はやめに よむのを やめて、よさそうな えだを ふかく よみます。きめた じかんか ふかさに なるまで よみつづけるので、ながく かんがえさせる ほど ふかく よめて、てが より せいかくに なります。
きょくめんに てんすうを つける ところでは、たくさんの きょくめんから まなんだ ニューラルネットワーク(NNUE)を つかって います(2020ねん 9がつの Stockfish 12から)。
どんな ことが できるの?
Stockfish に わたす もの(にゅうりょく)と、かえって くる もの(しゅつりょく)は、つぎの とおりです。
| わたす もの | きょくめん(ばんの どこに なんの こまが あるか、どちらの ばんか) |
|---|---|
| どこまで かんがえるか(なんて さきまで よむか、または かんがえて いい じかん) | |
| こうほの てを いくつ だすか |
| かえって くる もの | きょくめんの ひょうかち(+1.5や M3など) |
|---|---|
| よい じゅんに ならんだ こうほの て | |
| それぞれの ての あとの、おたがいに いちばん いい つづき(よみすじ) |
きょくめんは、FEN と いう 1ぎょうの もじで わたします。たとえば、さいしょの きょくめんは つぎのように かきます。
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
うえの だん(くろの がわ、8だんめ)から じゅんに、1だんずつ「/」で くぎって かきます。マスに ある こまを かしらもじ(くろの こまは こもじ、しろの こまは おおもじ)で、つづいて いる からの マスを かずで あらわします。ナイトは K では なく N です。
ほかにも、どちらの ばんか、キャスリング できるか どうか なども、もじだけで あらわします。
「なんて さきまで よむか」は depth(ふかさ)と いいます。しろの 1て、くろの 1てを、それぞれ 1と かぞえます。depth とは べつに、「1つの きょくめんに なんびょうまで かんがえて いいか」と いう じかんで きめる ことも できます。
たとえば、みんなの パズルに ある つぎの きょくめん(しろの ばん)を わたして みます。
5rk1/1p2p2p/rN2p1p1/p1qp4/4n3/2P1P3/PP3PPP/R2QK2R w KQ - 0 1
depth 18、こうほを 3つ だすように たのむと、つぎのように かえって きました(Stockfish 17.1)。
| こうほの て | ひょうかち | よみすじ |
|---|---|---|
| 1. Nd7 | +1.78 | Nd7 Qb5 Nxf8 Qxb2 O-O Kxf8 |
| 2. Na4 | −2.01 | Na4 Qc7 f3 Nd6 b3 b5 |
| 3. Nxd5 | −5.30 | Nxd5 exd5 O-O Raf6 f3 Qxe3+ |
いちばん よい ての Nd7 は、ナイトで くろの クイーン(c5)と ルーク(f8)を いっしょに ねらう「りょうどり」です。2ばんめの てとは ひょうかちが 3いじょう ちがうので、この きょくめんでは Nd7 しか よい てが ない ことが わかります。
ひょうかち(+1.5)は どう よむの?
ひょうかちは、どちらが どれくらい ゆうりかを あらわす かずです。
- +(プラス)は しろが ゆうり、−(マイナス)は くろが ゆうりです。0に ちかい ほど ごかく(おなじ くらい)です。
- +1.0は、ポーン 1つぶん くらい しろが ゆうりと いう めやすです。+3.0なら、ナイトか ビショップ 1つぶん くらいの さです。
- M3のように M が ついて いる ときは、つみが みえて います。「M3」なら しろが、「−M3」なら くろが、3てで つませられる と いう いみです。M は メイト(チェックメイト)の かしらもじです。
ひょうかちの たんいは、センチポーン(ポーン 1つ = 100)です。+1.5は、150 センチポーンの ことです。
こまの てんすうとは どう ちがうの?
チェスの こまには、ポーン 1てん、ナイトと ビショップ 3てん、ルーク 5てん、クイーン 9てん と いう てんすうの めやすが あります。
| こま | てんすう |
|---|---|
| ポーン | 1 |
| ナイト | 3 |
| ビショップ | 3 |
| ルーク | 5 |
| クイーン | 9 |
チェスの AIが だす ひょうかちは、この こまの てんすうだけで きまる わけでは ありません。こまが よく はたらいて いるか、キングが あんぜんか、ポーンの かたちが よいか なども いれた てんすうです。だから、こまの かずが おなじでも、ひょうかちが +2.0に なる ことが あります。
この サイトでの つかいかた
この サイトでは、ロボットとの たいきょく、たいきょくの かいせき、パズル、れっすんで Stockfish を つかって います。
Stockfish が だした こうほの てで たいきょく したり、ひょうかちを つかって しらべたり して います。
ロボットとの たいきょく
Stockfish が だす こうほの てを、かんがえさせる ふかさで かえて います。
さらに、つよさに あわせて てを えらびます。
よわい レベルほど あさく しか よませず、こうほの てを たくさん ださせて、わざと ひょうかちの ひくい てを えらびやすく して います。
たいきょくの かいせき
さしおわった たいきょくは、かいせきの ページで ふりかえれます。それぞれの てに ついて、いちばん いい てと、かちやすさが どう かわったかが わかります(かいせきの ページの みほん)。
かいせきの ページの みほんの、かちやすさと せいかくさの グラフ
かいせきの ページでは、ひょうかちを そのまま みせるのでは なく、かちやすさ(0〜100%)に なおして グラフに して います。ひょうかちの かずより、かちやすさの ほうが どれくらい ゆうりかが わかりやすい からです。たとえば ひょうかちの +1.5は、かちやすさに すると やく 63%です。かちやすさを 5いじょう おとした ては、「よくない て」として 3てまで しょうかい します。
パズル、れっすん
れっすんでは、ロボットどうしを たたかわせて、かちやすさが おおきく うごいた きょくめんが あるか、あいての よくない てを うまく せめられたか などから、べんきょうに なる たいきょくを えらんで います。
パズルでは、じぶんの たいきょくや ロボットどうしの たいきょくから、さくせんの べんきょうに なる きょくめんを ぬきだして います。
Stockfish を つかう ことに したのは なぜ?
りゆうは ふたつ あります。
- チェスを はじめた ばかりの わたしは、「こたえ」が わからないと つよく なれないと おもったから
- かいせきの けっかを みると、たいきょくの あとに みんなで たのしく はなせるから
「こたえ」が ほしい
さいしょは ロボットと たいきょく できるように したくて、Stockfish の ことを しりました。
しらべて いくうちに、Stockfish が「いちばん いい て」を だして くれる ことを しり、これは つかわなきゃ!と おもいました。
チェスを はじめた ころ、たいきょく して いても、いつも「この てで あって いるのかな?」「もっと いい てが あるはず なのに、ぜんぜん わからない」と ふあん でした。
もんだいしゅうを とくときも、こたえが なければ よく わからないし、ひとりで 100かい すぶり するより、じょうずな ひとの すぶりを みた ほうが うまく なる ものです。
まえに かいた とおり、Stockfish の いちばん いい ても ぜったいの「こたえ」では ない かもしれませんが、チェスを はじめた ばかりの ひとには みちしるべに なると おもって、たいきょくの あとの かいせきの ページに いちばん いい てを のせる ことに しました。
たいきょくの あとの たのしい じかん
チェスボードで おっとと たいきょく した あと、おっとは よく ひとりで こまを うごかして「ここは この てじゃ なかった きが する」「こう するべき だったかな」と かんがえこみます。
その すがたを みて いて、たいきょくの あとに かいせきの ページを つくって、ひょうかちの グラフを だしたら おもしろいんじゃ ないかと おもいつきました。
じぶんが きに して いた てより、もっと ひょうかちが さがって いる きょくめんが あったり、ぎゃくに おもっても みない ところで かちやすさが あがって いたり。
たいきょくの あと、グラフを みながら あれこれ はなして、いちばん いい てを みて「あー なるほどね」と うなずきあう。ほんものの チェスボードでは むずかしい ですが、チェスの アプリだから できる たのしみかたが できるのでは ないかと おもいます。
さんこう
- コンピュータチェス(Wikipedia)
- ディープ・ブルー たい ガルリ・カスパロフ(Wikipedia)
- CCRL(Computer Chess Rating Lists)
- Stockfish chess engine(Chess.com)
- Shannon number(Wikipedia)
- Stockfish 12(Stockfish の おしらせ)