チェス
日本語

チェス › チェスを知る ›

コンピューターチェス:ディープ・ブルーから Stockfish、そして AI へ

コンピューターはどうやってチェスを指すのか、ディープ・ブルーはどうカスパロフに勝ったのか、そして今のエンジンはなぜ人間が勝てないほど強いのか。

別名:Computer chess、Chess engine、チェスエンジン、ディープ・ブルー、Deep Blue、Stockfish、AlphaZero

今ではスマートフォンで、世界チャンピオンより強いコンピューターとチェスが指せます。でも数十年前、それは科学者の夢でした。この記事では、最初の紙の上のプログラムからディープ・ブルー、Stockfish、AI までをたどり、このサイトのコンピューター相手がどこから来たのかも説明します。先にコンピューターと手合わせしたいなら、すぐに無料でチェスを指すこともできます。

紙の上のプログラムから

1950 年、アメリカの数学者シャノンが、「コンピューターにチェスを指させるにはどうすればいいか」を初めて本格的に論じた論文を発表しました。彼のアイデアは、考えられるすべての手を数手先まで読み、それぞれの局面に点数をつけて、いちばん点数のいい手を選ぶというものです。この考え方は、今でもコンピューターチェスの土台になっています。

ほぼ同じころ、イギリスの数学者チューリングもチェスのプログラムを書き上げました。ところが当時のコンピューターでは動かせなかったので、彼は紙と鉛筆でプログラムどおりに 1 手ずつ計算しました。1 手に 30 分ほどかかることもよくあったそうです。

ディープ・ブルー、世界チャンピオンに勝つ

IBM のディープ・ブルー(Deep Blue)は、チェスのためだけに作られたコンピューターです。1996 年に初めて世界チャンピオンのカスパロフに挑み、1 局は勝ったものの、マッチ全体では 2 対 4 で負けました。1997 年、改良されたディープ・ブルーは再戦で 3.5 対 2.5 で勝ちました。正式なマッチでコンピューターが現役の世界チャンピオンを破ったのは、これが初めてです。

勝負を決めた第 6 局で、黒のカスパロフはカロ・カン・ディフェンスを選び、7 手目で手順を間違えました。

黒は h6 でナイトを追い払おうとしましたが、ディープ・ブルーはナイトを e6 に捨ててきました。黒のキングは中央に閉じ込められ、もうキャスリングできません。

このナイトのサクリファイスは、オープニング理論ではすでに研究されていました。黒が手順を間違えると、白はナイト 1 つと引きかえに長く続く攻撃を手にできます。黒はナイトを 1 つ得しましたが、キングは攻められ続け、わずか 19 手で投了しました。

ここでカスパロフは投了しました。白のクイーン、ルーク、ビショップがすべて黒のキングをねらい、黒のナイトはいつ取られてもおかしくありません。

コンピューターはどう指すのか

先を読む:探索

コンピューターは「自分がこう指し、相手がこう返し、自分がまたこう指す……」をすべて書き出します。どんどん枝分かれしていく木のようなものです。よいエンジンは明らかに悪い枝を先に切り落とし、見込みのある手に時間を使うので、1 秒で数千万もの局面を調べられます。

点数をつける:評価

ある深さまで読んだら止まって、その局面に点数をつけます。どちらの駒が多いか、キングは安全か、ポーンの形はいいか、駒はよく働いているか。点数はふつう「ポーン」を単位にしていて、+1 なら白がだいたいポーン 1 つ分優勢という意味です。

答えを覚えている:テーブルベース

盤上の駒が 7 つ以下になると、コンピューターは読む必要がありません。すべての局面の結果がすでに計算され、データベースとして保存されているからです。これをテーブルベースといいます。このサイトのエンドゲームの記事の勝ち負けも、テーブルベースで確認しています。

AlphaZero とニューラルネットワーク

2017 年、DeepMind の AlphaZero は、ルールだけを教わって自分自身と何百万局も指し、わずか数時間で当時最強のエンジンを超えました。100 局の対戦で 28 勝 72 引き分け、1 局も負けませんでした。

AlphaZero の指し方はとても人間らしく、長い目で見た駒のサクリファイスをためらわず、駒をよく働く場所に置くのが好きです。その後、オープンソースの Leela Chess Zero が同じ方法で作り直され、誰でも使えるようになりました。

Stockfish:今いちばん強いエンジン

Stockfish は無料のオープンソースのエンジンで、世界中のボランティアが改良を続けています。2020 年からは、従来の探索に加えて小さなニューラルネットワークで局面を評価するようになり、さらに強くなりました。今ではコンピューターどうしの大会の常連優勝者で、その強さはどんな人間のプレイヤーもはるかに上回っています。

人間らしく指す AI:Maia

最強のエンジンは、初心者の相手としてはあまり役に立ちません。強すぎるうえ、わざと手加減すると人間なら指さないような変な手を指すからです。トロント大学の研究チームが作った Maia は、大量の人間の対局で学習していて、目標は勝つことではなく「このレーティングの人ならここでどう指すか」を当てることです。だから人間と同じようなミスをし、指していて自然に感じられます。

このサイトのコンピューター相手

このサイトの 4 つのレベルは、この 2 種類の AI を使っています。初級・中級・上級は Maia、マスターは Stockfish です。どれもあなたのブラウザの中で動くので、サーバーにつなぐ必要はありません。各レベルがだいたいレーティング何点にあたるかはレーティングとタイトルを、レベルの選び方はコンピューターの強さとレベルをどうぞ。

よくある質問

今でも最強のコンピューターに勝てる人はいますか?

ふつうの対局ではほぼ無理です。トップのエンジンは世界チャンピオンよりはるかに強く、グランドマスターでも引き分けにできれば大したものです。

プロのプレイヤーはコンピューターをどう使っていますか?

おもにオープニングの準備と、自分の対局の見直しに使います。公式戦の対局中にコンピューターを使うのは重大な不正で、失格になります。

ディープ・ブルーはその後どうなりましたか?

1997 年のマッチのあと、IBM はディープ・ブルーを引退させ、二度と対局させませんでした。その筐体のひとつは、のちに博物館に収蔵されています。

やってみよう

エンジンに押しつぶされる感覚を味わいたいなら、オンラインでチェスでマスターを選んでみましょう。気楽に指したいなら初級か中級を選んで、人間をまねる AI がどんなミスをするか見てみてください。

対局して練習する