コンピュータチェス

コンピュータチェスは、コンピュータが指すチェスのことである。
歴史.
人間に勝つまで.
トルコ人やなど、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）とのマッチは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つのフェーズに分割して考えることができる。
世界コンピュータチェス選手権.
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回の対局で争われる決勝戦の勝者を優勝ソフトとしている。主要な強豪ソフトが全て参加し、強力なハイエンドハードウェア上で長時間の持ち時間で多数の対局を行うことで、最強のコンピュータチェスソフトを競う大会として注目されている。
レイティング・リスト.
Swedish Chess Computer Associationのレイティング・リスト(2007年11月)のトップ3は、1位がRybka 2.3.1(2935)、2位がHIARCS 11.1(2869)で、3位がJunior 10.1(2861)である。また、Chess Engines Grand Tournamentのレイティング・リスト(2007年11月)のトップ3は、1位がRybka 2.3.2a x64 4CPU
(3100)、2位がZappa Mexico x64 4CPU(3009)、3位がDeep Shredder 11 x64 4CPU(2984)である。その他の6つのレイティング・リスト(CCRL, CSS, Per Elbaek Jorgensen, Frank Quisinsky, Sedat Canbaz, Kurt Utzinger)のどれにおいてもRybkaはトップとなっている。なお、2006年に世界チャンピオンのクラムニクをマッチで破ったDeep Fritzは、8つのリストのどれにおいても3位以内に入っていない。
代表的なソフトウェア.
日本語に対応したものは少ない。古いソフトで日本語環境で表示に不具合（引き分けを表す「½ -½」が「ｽ-ｽ」に文字化けする事が多い）が発生することがある。
家庭用ゲーム機に移植されたソフトもあるが、日本向けの本体では動作しないソフトもあり、またダウンロード販売されていないものは入手が難しい。
駒の外見はアルファベットをチェス駒で置き換えたフォントを使用することが多く、自作のチェスフォントを公開しているデザイナーも多い。
これらのソフトが利用するオープニングやエンドゲームのデータベースも多数公開されている。
対局ソフト.
現在ではUCI(Universal Chess Interface)と呼ばれるプロトコルを利用することで、GUIと思考エンジンを別々に開発する事が可能になり、開発者の参入が容易となった。また対局だけでなく、指し手の解析や棋譜の管理など複数の機能を持つ「統合型ソフト」が主流である。
思考エンジン.
チェスソフトの内、実際に指し手を解析、探索する部分。無償でダウンロードできるエンジンも多数ある。思考エンジンとGUIの通信プロトコルは「WinBoard仕様」と「UCI」が主流だが、メーカーの独自仕様もあり、ソフトによって使えるエンジンが異なる。
思考エンジンは単体でも使えるが、オープニングやエンドゲームの解データベースを利用して、無駄な計算を省略させることが普通である。
強さの調整はイロレーティングの数値で指定することが多い。
関連ソフト.
棋譜の管理や分析ができるデータベースソフトや、オープニングやエンドゲームに絞って練習できるもの、チェス・プロブレムに特化したソフトなど多数の関連ソフトがある。
オンラインチェス.
現在ではオンラインでの対局が盛んになっており、そのためのサービスも多数提供されている。