コンピュータチェス
コンピュータチェスは、コンピュータが指すチェスのことである。
トルコ人やアジーブなど、18世紀から19世紀にかけて様々な「チェスを指す機械」が公開されてきたが、それらはどれも中に人が隠れて操作するイリュージョンであった。
チャールズ・バベッジは、1840年代に機械にゲームを行わせることに興味を持ち、思考ルーチン(思考エンジン、解析エンジン等の名称もある)を考えた。ただし、チェスの場合は組合せが膨大になり現実的でないことに気づいている。
スペインの技術者レオナルド・トーレス・ケベードは、1912年に歴史上最初のコンピュータゲームと呼ばれるチェス機械、エル・アヘドレシスタを作成した。この機械はチェスの終盤のみを扱い白のキングとルークで人間側の黒のキングを詰ませようとするもので、内部の電気機械的な装置により盤面の状況を判断し駒の動きを決めることができ、人間側のキングの最初の位置がどこであってもチェックメイトすることができた。
コンピュータでチェスプログラムを作ることの可能性に初めて言及したのは、ドイツのコンラート・ツーゼ(1945年)であるといわれている。
ベル研究所のクロード・シャノンは、1949年に「チェスをするコンピュータのプログラミング」という論文を発表し、評価関数の特徴・探索木の作り方の戦略について考察している。
アラン・チューリングは、1951年に解析のアルゴリズムを考案し(ただし計算は手作業)、実際にシミュレーションによる試合を試みている。
記録に残っている最初の動作するプログラムは、1956年のロスアラモス研究所のプログラムである。ただし、これは6×6のミニチュアボードによるものであった。
コンピュータ同士の最初のチェス対戦は、人工知能の父ジョン・マッカーシーらと、ソビエト連邦のモスクワ理論実験物理研究所(ITEP)の間で1966年から9ヵ月に渡って行われ、結果はソ連側の2勝2分だった。
最初にコンピュータが人間のチェスの選手権に参加したのは1967年のボストンの競技会の Mac Hack VI(マックハック) である。この時のコンピュータのレーティングは1670といわれ、やや強いアマチュア(いわゆるクラブ・プレーヤー)のレベルに達している。
1978年、'78東京オープン大会にコロンビア大学ニューボーン博士が開発したコンピューターチェス「オーストリッチ」が持ち込まれる。日本チェス協会の男性が対戦して男性側が三戦三勝。
コンピュータ同士の最初のチェス選手権は1970年にニューヨークで開催され、その時は当時の コントロール・データ・コーポレーション(CDC) のスーパーコンピュータ上で動作する CHESS 3.0 というプログラムが優勝している。その後、北アメリカでのコンピュータチェス選手権は毎年開催され、1984年には当時最速のコンピュータであった Cray で動作する CRAY BLITZ が優勝、1988年にはディープ・ブルーの前身であるディープ・ソートが優勝するなどの記録が残っている。
1988年、ディープ・ソートはLong Beachでのトーナメントでグランドマスターのベント・ラーセンに勝利。グランドマスターに勝った史上初のプログラムとなった。
1989年にディープ・ソートは世界チャンピオンガルリ・カスパロフと対戦し、接戦の末に敗れた。1990年には、アナトリー・カルポフにも敗北。しかし、これらの試合は、人間がやがてコンピュータに敗れることを予感させるものであった。
1996年にIBMのコンピュータであるディープ・ブルーがガルリ・カスパロフと対戦し、1つのゲームとしては、初めて世界チャンピオンに勝利を収めた。ただし、これは6戦中の1勝に過ぎず、全体ではカスパロフの3勝1敗2引き分けであった。しかし、翌1997年に、ディープ・ブルーは、2勝1敗3引き分けとカスパロフ相手に雪辱を果たした。現実的にはこれだけの試合数で実力は評価できないが、世界チャンピオンと互角に戦えるだけの能力になったとIBMは宣伝した。しかし、これらの対戦では、試合中にプログラマーが自由にプログラムや次の一手に介入できるルールになっており、IBMチームにはグランドマスターも加わっていた一方で、カスパロフ側もトレーニングや解析にデータベースソフトを利用していたなど、純粋な「人間対機械」というわけではなかった。
その後も人間対コンピュータの対戦は行なわれ、2002年の10月に行われたウラジーミル・クラムニク(世界ランキング2位、レーティング2809。いずれも対局当時。以下同じ)とコンピュータソフトディープ・フリッツとのマッチでは、両者引き分け。2003年1月26日から2月7日までニューヨークで行なわれた、カスパロフ(世界ランク1位、レーティング2847)と「ディープ・ジュニア」とのマッチも、1勝1敗4引き分けで両者引き分けに終わっている。2003年11月11日から11月18日に行なわれたカスパロフ(世界ランク1位、レーティング2830)とX3D Fritz (英語)のマッチは1勝1敗2引き分けで両者引き分けに終わった。
カスパロフの棋力に大きな変化がない(1996年から引退までの対戦成績はほぼ横ばいだった)ので、2003年には汎用PCと一般人が購入できるソフトが、ディープ・ブルーの様な専用機に匹敵する性能を持った事が窺える。
ディープ・ブルーの後は、PCで動くコンピュータソフトが主力であるが、ハードウェアを含めて最強のチェス・コンピュータを作る試みがヒドラプロジェクトで行われている。これは、64ノードの Xeon プロセッサからなる。
2005年11月には、人間とコンピュータのチームによる対戦がスペインのビルバオで行われた。人間のチームはいずれも公式世界チャンピオンの経験者であるルスラン・ポノマリョフ(世界ランク19位、レーティング2704、2002年世界王者)、ルスタム・カシムジャノフ(世界ランク35位、レーティング2670、2004年世界王者)、アレクサンドル・カリフマン(世界ランク50位、レーティング2653、1999年世界王者)の3人、コンピュータのチームは、ヒドラ、フリッツ(Fritz)、Junior の3種。結果は8-4でコンピュータの勝利となり、この頃から人間がコンピュータに勝つことが次第に難しくなってきた。
2006年11月25日から12月5日にかけてディープ・フリッツはクラムニク(世界ランク3位、レーティング2750)と再戦し、2勝4引き分けの勝利を収めている。
2009年8月には、スマートフォンのHTC Touch HDに搭載された「Pocket Fritz 4」がアルゼンチンで開催されたカテゴリー6(参加者のレーティング平均が2376以上2400以下。FIDEマスターの上位からIMの下位相当の水準)の大会に出場し10戦中9勝1分の戦績を収め、グランドマスター級の評価が与えられた。Pocket Fritz 4は1秒間に2万局面を読むが、ディープ・ブルーが1秒間に2億局面を読むのに比べると演算能力は1万分の1に過ぎず、ソフトの進化を印象づけるものとなった。
コンピュータチェスの実力が人間のトップクラスに追いつき、さらにそれを追い越したと評価されるようになっても、コンピュータチェスに独特の弱点、落し穴はいくつか知られており、こうした穴を突く「アンチコンピュータ戦略」も人間対コンピュータの勝負では試みられてきた。
1997年のカスパロフ対ディープブルーでは、序盤の定跡を外して未知の局面に持ち込めば、定跡通りに指させるよりもディープブルーの力を落とすことができると考えたカスパロフが、第3局でイレギュラーなゲームの入り方をしたが、有利な先手を持ったにもかかわらず引き分けに終わった。
2008年3月15日に行われたヒカル・ナカムラ(世界ランク46位、レーティング2670)とRybkaの対局では、ナカムラが一切の攻撃の意思を見せずひたすら手待ちを続けることで、Rybkaに「自らが優勢である」と錯覚させて無理な動きを誘発させ、途中で一気の反撃に転じて勝利した。この弱点をついたために、この対局は271ムーブ(チェスでは先手後手の2手をセットで1ムーブとしてカウントするため、将棋式では542手)の長期戦となった。
2007年3月には、グランドマスターのJaan Ehlvest(当時のレーティング2610)が「Rybka」と対戦。Rybka側は常にポーンを1つ落とす(8ゲーム行い、1ゲームごとに落とすポーンを変えていく)というハンデキャップマッチだったが、Rybkaが4勝1敗3分で勝利している。
2008年9月には、同じくグランドマスターのVadim Milov(世界ランキング28位、レーティング2705)とRybkaが8局のハンデキャップマッチを含む対局を行った。最初の2局はMilovが有利な先手白番を持った通常の対局で、Rybkaの1勝1分。次の2局はMilovが先手白番、Rybkaが後手黒番でポーンを1つ落とす「pawn-and-move」でMilovの1勝1分。最後の4局はRybkaが先手白番でルークを落とし、Milovが後手黒番でナイトを落とすハンデで行われ、Milovの1勝3分となった。トータルスコアはMilovの2勝1敗5分となったが、この対局は、このレベルのグランドマスターがコンピュータ側にハンデを課した状態でようやく互角に争えるという結果を示すものとなった。
2014年8月23日には、ヒカル・ナカムラ(世界ランキング5位、レーティング2787)とStockfishのハンデキャップマッチ4局が行われた。Stockfishのハードウェアは、3.0GHz、8コアのIntel Xeon E5を搭載したMac Proであった。4局を通じて、Stockfishには序盤定跡とエンドゲーム(ゲーム最終盤。チェスは取った駒の再利用はできないため、ゲーム最終盤に盤上に残る駒が少なく、パターンの類型化が可能)のデータベースにアクセスできない、というハンデが課された。最初の2局は、ナカムラが2008年版のMacBook Pro上で動くコンピュータチェスソフト「Rybka 3」(2008年リリース、上記Milovとの対局に使われたもの。上記ナカムラとの対局時にはまだリリースされていない)を使用できるアドバンテージを得た上で、先後を変えて行われ、ナカムラは先手番でドローとしたが後手番では敗れた。なお、StockfishとRybka 3の実力差はStockfish(推定レーティング3200超)がRybka 3(同じく推定レーティング3200超)に対して勝率75%(レート差200)である。次の2局はナカムラが先手でコンピュータのアシストなし、Stockfishが後手でポーンを一つ落とすハンデで行われ、こちらもナカムラの1分1敗となり、4局通算ではナカムラの2分け2敗であった。
2018年6月17日には、ヒカル・ナカムラ(世界ランキング10位、レーティング2769)とKomodoのハンデキャップマッチ3局が行われた。1局目はナカムラが先手番でポーンを1手先に動かしたところから始め後手のKomodoはポーンを1つ落とすハンデでドロー、2局目はKomodoが先手番で後手のナカムラがポーン1つをナイトに交換するハンデでドロー、3局目はKomodoが先手番でキングとポーン以外の駒をすべてナイトと交換し後手のナカムラがナイト2つを落とすハンデでドローに終わった。対局の持ち時間は双方10分で1手につき5秒加算、KomodoはCPUにIntel Core i9-7960X(16コア)を用いてオーバークロックさせ、5駒までのエンドゲームデータベースにアクセス可能とした。
チェスとほぼ同じ駒を使ってできるアリマアという新しいボードゲームが考案された。これは、1手あたりの可能な着手数がチェスに比べて遙かに多いため、当面の間は人間がコンピュータに負けることはないと考えられていたが、2015年にコンピュータプログラム「Sharp」が7勝2敗で人間を破っている。
ソフトの棋力向上を受けて、ネット対戦時にコンピュータの指し手を参照するプレイヤーが現れる。対して、カスパロフは人間同士が対局中にコンピュータで指し手を調べながら戦う「アドバンスト・チェス」という競技を提唱した。後者は両者了解の上で対局者双方がソフトを使用する点において前者とは大きく異なる。
コンピュータチェスのプログラミングは、以下の3つのフェーズに分割して考えることができる。
チェスの定跡は、昔から研究されているが、様々なバリエーションがある。通常のチェスソフトでは、序盤ではデータベースを参照しながら、現在の手順がデータベースにあるものかを検索する。データベースにあるもので、次の手が複数の候補を持てば、その最良の(最初の)手を選択するか、ランダムに1つを選んで指すようにする。
データベースとしては、様々なものが作成されており、コンパクトなものから巨大なものまである。かならずしも巨大であれば良いというものでもない。
定跡のデータベースをはずれた時点から、評価関数をもとに探索を行いながら、最良の手順を探っていく。この時の、評価関数の与え方、探索時における無駄の排除がプログラミングの中心となる。探索の重複を避けるために、ハッシュテーブルを用いるのが普通である。
取った駒の再利用ができないチェスにおいては、双方のキングを除いた残りの駒がある程度少なくなった場合については、チェックメイト局面から逆行して局面を生成することにより、特定の局面において先後双方が最善を尽くした際に相手をチェックメイト可能かまたは引き分け(理論的にはチェックメイト可能であるが50手ルール適用により強制引き分けになる場合を含む)に終わるかの完全解析を行うことが比較的容易である。このチェスの終盤戦=エンドゲームのデータベース化の研究はかなり進んでいる。
1980年代初めには両キングを含めて残りが5駒以下の場合について完全解析が完了、2006年には残り6駒以下の場合のほとんどが完了し、2018年には残り7駒以下の場合が完了してデータベース化されている。これをテーブルベース(tablebase)と呼ぶ。後述のソフトウェアの中には、デフォルトでこれを含んでいるものや、オプションとして利用可能なものがある。
テーブルベースのデータ量の大きさは膨大であり、特に工夫をしない場合、残り6駒以下では1.2テラバイト、7駒以下では140テラバイトとなって、実用には不向きである。この問題を解決するために、データの持ち方を最適化したSyzygyテーブルベースが開発され、6駒以下では150ギガバイト、7駒以下では17テラバイトに圧縮することができ、多くのチェスエンジンに対応済みとなっている。8駒以下のテーブルベースについては現在研究が進んでいるが、そのデータ量は、最適化を行わなければ1ペタバイトに及ぶ。
1974年頃の参加プログラムは、専用の大規模なハードウェアを用いるものがほとんどであった。ディープ・ブルーは、1995年の香港での大会に出場し3位になっている(参加24プログラムに対して5ゲームしか行われておらず、あまり客観的な順位ではない)。
1999年は、「世界コンピュータチェス選手権」と「世界マイクロコンピュータチェス選手権」は一体となって開催されている。近年は、ほとんどのプログラムがマイクロコンピュータ上で動作するプログラムになってしまったため、両者を区別する意味は失われた。
2010年には日本でコンピュータオリンピアードと同時開催され、Shredder、Rybka、Jonny、Fridolin、Pandix、Hector for Chess、Rondo、Junior、Darmenios、Thinkerの10種類が参加した。
2005年に開催された第13回大会では、Shredder と Deep Junior の争いなるかと思われたが、優勝したのはアンソニー・コジィーによる Zappa、 2位には前評判の高かった Fruits、Shredder は Deep Sjeng と3位タイであった。
2007年から2010年まで Vasik Rajlich による Rybka が4年連続で優勝していたが、ソフトに問題(他者の派生コードを申告せずに利用した)があるとして優勝が取り消されている。
トップチェスエンジン選手権(Top Chess Engine Championship, 旧名:Thoresen Chess Engines Competition, いずれも略称TCEC)はスウェーデン人のプログラマーであるマルティン・ソーレンセンが創設し、現在はチェスニュースサイトのchessdomが主催しているコンピュータチェスの大会である。シーズンごとの昇降級を伴う複数階層のリーグピラミッドを構成し、各階層で複数回戦総当り形式の対局を行い、その最上位であるプレミアディビジョンで上位2位に入ったソフトの100回の対局で争われる決勝戦の勝者を優勝ソフトとしている。主要な強豪ソフトが全て参加し、強力なハイエンドハードウェア上で長時間の持ち時間で多数の対局を行うことで、最強のコンピュータチェスソフトを競う大会として注目されている。
※第3回は2011年4月から開催されたが、2次予選途中で大会中止。
日本語に対応したものは少ない。古いソフトで日本語環境で表示に不具合(引き分けを表す「½ -½」が「ｽ-ｽ」に文字化けする事が多い)が発生することがある。
家庭用ゲーム機に移植されたソフトもあるが、日本向けの本体では動作しないソフトもあり、またダウンロード販売されていないものは入手が難しい。
駒の外見はアルファベットをチェス駒で置き換えたフォントを使用することが多く、自作のチェスフォントを公開しているデザイナーも多い。
これらのソフトが利用するオープニングやエンドゲームのデータベースも多数公開されている。
現在ではUCI(Universal Chess Interface)と呼ばれるプロトコルを利用することで、GUIと思考エンジンを別々に開発する事が可能になり、開発者の参入が容易となった。また対局だけでなく、指し手の解析や棋譜の管理など複数の機能を持つ「統合型ソフト」が主流である。
Arena Chess GUI
無償で使える統合型GUI。複数の思考エンジンが最初から付属している。局面解析と簡易的なデータベースも有するほか、インターフェイスが多言語に翻訳されている。
日本語環境ではフォントを利用して駒の外観を変更する機能が動作しないが、その他の機能は問題なく動作する。
Jon Dart によって開発されたプログラム。1994年から Windows用に開発され、現在ではLinux版もある。
GUIとエンジンは分離しているが、他のエンジンを読み込むことはできない。
Mac OS Xに付属している対局ソフト。エンジンはGNU Chessを利用している。
Vista以降のWindowsに付属している対局ソフト。エンジンは独自のものを利用している。また、3D表示に対応している。
元はThe Software Toolworks社の製品だったが、現在はユービーアイソフト社が発売している統合型ソフト。ジョシュ・ウェイツキン監修のトレーニングメニューなど練習用の機能が充実している。
Windows用以外にもWiiやPSPなどに移植されており、日本法人での取り扱いはないが、日本向けのハードでも動作する。
PC向けの最新版「Chessmaster 11 Grandmaster Edition」は2008年以降アップデートされていないが公式フォーラムによるサポートが継続されている。
洗練されたインターフェイスが特徴の統合型ソフト。1995年に開発中のディープ・ブルーに勝利したことで一躍有名になった。
前述した通り、現在では世界王者ですら勝てないレベルとなっている。
Shane's Chess Information Database (通称「Scid」)
Windows、Mac OS X、Linuxに対応するフリーの統合GUI。
「Arena」以上の多機能ソフトだが、日本語のWindowsで起動させるには、ファイルの一部を改変する必要がある。
現在ではバグを修正した派生型の「Scid vs. PC」がリリースされている。
Shredder Chess
ステファン・メイヤー=カーレン (Stefan Meyer-Kahlen) により、1992年から開発されている統合型ソフト。1996年、1999年、2000年、2003年の世界マイクロコンピュータチェス選手権で優勝した。下位版の「Classic」には30日間の無償体験版がある。
Windows、Mac OS X、Linuxの他にも、iPhone/iPod touchやAndroidなどモバイル向けもある。
WinBoard/XBoard
GNUプロジェクトで開発されたフリーの対局ソフト。XBoardがUNIX系OSのために作られ、WinBoardは Windows系用に移植された。
簡易の棋譜編集機能を持つが、データベースとしての機能はない。
変則チェスの他、将棋とシャンチーに対応している。
最強銀星チェス(シルバースタージャパン)
Windows用のパッケージ版とダウンロード版があり、無償の体験版もある。
チェス チャンピオンシップトーナメント(アンバランス)
ネットワーク通信対局の他、数種類のフェアリーチェスを指すことができる。
チェス・プログラム(COMPAC)
MZ-80Bで動作する、日本で市販された初のパーソナルコンピュータ用チェスソフト。1982年2月発売。媒体はカセットテープ。ダンプリストが『MZ-80B活用研究』(工学社、1982年10月)に収められている。
通信対局 ワールドチェス(任天堂)
Wiiウェア。思考エンジンはFritz Reulが開発した「Loop」
チェスソフトの内、実際に指し手を解析、探索する部分。無償でダウンロードできるエンジンも多数ある。思考エンジンとGUIの通信プロトコルは「WinBoard仕様」と「UCI」が主流だが、メーカーの独自仕様もあり、ソフトによって使えるエンジンが異なる。
思考エンジンは単体でも使えるが、オープニングやエンドゲームの解データベースを利用して、無駄な計算を省略させることが普通である。
強さの調整はイロレーティングの数値で指定することが多い。
1986年の大会で優勝した Cray Blitz の開発者Robert Hyattによるエンジン。ソースコードも公開されている。後述の「ICC Dasher」にも採用されている。
GNU Chess
GNUプロジェクトのエンジン。Mac OS XのChessにも利用されている。
イスラエルのプログラマー Amir Ban, Shay Bushinskyらによるエンジン。1997年には世界マイクロコンピュータ選手権で優勝。この時は16ビット版 (Ver.4.6) であった。2002年と2004年の世界コンピュータチェス選手権でも優勝し、2005年以降も常に上位にランクインしている。
世界コンピュータチェス選手権で連続優勝(2007年から2010年)し、2010年までは最強とされたエンジン。マルチプロセッサ対応版は有料だが、シングルプロセッサ用の評価版はフリーで配布されていた。
2011年に「Fruit」と「Crafty」からソースコードを盗用していることが発覚し(いずれもFLOSSだが、コードの流用そのものではなく、流用したコードをもとにしたRybkaをオリジナルのプログラムとして申告したことが問題となった)、優勝取り消しと選手権からの追放処分となった。
2008年からと歴史は浅いが、ランキングは上位を保っている。また開発チームによりスマートフォン用のチェスアプリも提供されている。
オープンソースであるため、コンピュータ将棋エンジンのベースに利用されることもある(Apery、やねうら王など)。
将棋、チェス、囲碁の対戦が可能なプログラム。各分野において2017年時点の最強プログラム(チェスではStockfish)を破っている。
棋譜の管理や分析ができるデータベースソフトや、オープニングやエンドゲームに絞って練習できるもの、チェス・プロブレムに特化したソフトなど多数の関連ソフトがある。
フリッツと同じチェスベース社から販売されているデータベースソフト。フリッツと共通のGUIで、フリッツのエンジンを利用した分析機能などを備える。
通常版とデータベースを増強した上位モデルがある他、簡易版の「ChessBase Light」は一部機能が無償で利用できる。
日本通信チェス協会が無償で配布しているWindows用の図面作成のソフト。貼り付けたPGNや画面上で配置した盤面の駒状態を、GIF画像やテキストだけで構成されたアスキーアートに変換することが出来る。
ただしPGNファイルを直接読み書きできないため、クリップボードを経由する必要がある。
Pigeon Log
doveと同じく日本通信チェス協会が配布しているWindows用のPGNタグエディタ。直接読み書きができるのは.pldという拡張子の専用ファイルのみで、PGNファイルはdoveと同じくクリップボードを経由する。
棋譜の分岐には対応しておらず解析機能などもないが、関連ファイルを合わせても1MB弱と軽量でメニューは日本語化されている。
変則的な使い方だが、Arenaなど他のソフトは、評価値や消費時間(5. Nf3 {-1.5/2 1:14m} e3 {2s} の強調部分)を指し手の後に書き込むことがあるが、Pigeon Logはこれを自動で除去するため、コメントの除去ソフトとしても利用できる。
チェス・プロブレムの作成、評価に特化したWindows用ソフト。無償で利用できる。専用ファイルとFENに対応している。多言語対応のため日本語環境でも問題なく動作する。
現在ではオンラインでの対局が盛んになっており、そのためのサービスも多数提供されている。
ブラウザ、Android、iOSで利用でき、全機能が完全無料、自発的な寄付が可能。インターフェースの大部分とコンテンツの一部が日本語化されている。
Flashを利用したフリーのオンラインチェス。簡易のレーティング判定あり。コンピュータや人間相手の対局の他、チェスの基本を勉強するためのコーナーがある。
FICS (Free Internet Chess Server)
国際的なオンライン・チェスサーバーであるFree Internet Chess Severで対局するのに必要なソフト。通信対局以外にも、簡易の棋譜管理もできる。
ソフトも無料。会員会費もすべて無料。
Flash チェスコンピュータ ゲーム
Flashを利用したフリーのオンラインチェス。
フリッツの販売元であるチェスベース社が開設しているサーバ。無料で配布されている専用アプリケーションか、同社の対局ソフトでアクセスする。無料でもゲストとして対局することができ、年会費を払えば様々なサービスが利用できる。
ICC Dasher (Internet Chess Club)
国際的なオンライン・チェスクラブであるInternet Chess Clubで対局するのに必要なソフト。通信対局以外にも、簡易の棋譜管理や「Crafty」などの思考エンジンと対局もできる。
すべてのコンテンツが有料。2021年現在年会費$69.95。
ICCで利用されるプロトコルは「Arena」など一部のソフトも対応している。
The ChessBrain Network
不特定多数のコンピューターに処理させる分散コンピューティングによる対戦プログラム。一般人は対戦できないが、結果はホームページにて閲覧可能。
ブラウザ、Android、iOSで利用できるチェスサイト。2021年現在ダイヤモンド会員の年会費は100ドル。インターフェースとコンテンツの一部が日本語化されている。