コンピュータチェス

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

コンピュータチェスは、コンピュータが指すチェスのことである。

コンピュータの黎明期からコンピュータにチェスをさせるという試みは行なわれ、コンピュータの歴史と、コンピュータチェスの歴史は並行して歩んできた。黎明期には、人間を相手にチェスのゲームを行うことを念頭に置いて開発されていたが、現在では複数の対局からなる番勝負において世界チャンピオンに無敗で勝利するなど人間はほぼコンピュータに勝てなくなり、事実上チャンピオンとなっている。一方で、コンピュータ同士の対局も盛んに行われるようになっている。

歴史

人間に勝つまで

ファイル:Ajedrez Torres Quevedo.jpg
チェス機械のエル・アヘドレシスタ

チャールズ・バベッジは、1840年代に機械にゲームを行わせることに興味を持ち、思考ルーチン(思考エンジン、解析エンジン等の名称もある)を考えた。ただし、チェスの場合は組合せが膨大になり現実的でないことに気づいている。

スペインの技術者レオナルド・トーレス・ケベードは、1912年に歴史上最初のコンピュータゲームと呼ばれるチェス機械、エル・アヘドレシスタを作成した[1]。この機械はチェスの終盤のみを扱い白のキングとルークで人間側の黒のキングを詰ませようとするもので、内部の電気機械的な装置により盤面の状況を判断し駒の動きを決めることができ、人間側のキングの最初の位置がどこであってもチェックメイトすることができた。

コンピュータでチェスプログラムを作ることの可能性に初めて言及したのは、ドイツのコンラート・ツーゼ1945年)であるといわれている。

ベル研究所クロード・シャノンは、1949年に「チェスをするコンピュータのプログラミング」という論文を発表し、評価関数の特徴・探索木の作り方の戦略について考察している。

アラン・チューリングは、1951年に解析のアルゴリズムを考案し(ただし計算は手作業)、実際にシミュレーションによる試合を試みている。

記録に残っている最初の動作するプログラムは、1956年ロスアラモス研究所のプログラムである。ただし、これは6×6のミニチュアボードによるものであった。

最初にコンピュータが人間のチェスの選手権に参加したのは1967年ボストンの競技会の Mac Hack VI(マックハック) である。この時のコンピュータのレーティングは1670といわれ、やや強いアマチュア(いわゆるクラブ・プレーヤー)のレベルに達している。

コンピュータ同士の最初のチェス選手権は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の間で交わされた契約の公式ルールのまとめ[1])、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に過ぎず、ソフトの進化を印象づけるものとなった。

人間側下手のハンデキャップマッチ

2007年3月には、グランドマスターのJaan Ehlvest(当時のレーティング2610)が「Rybka」と対戦。Rybka側は常にポーンを1つ落とす(8ゲーム行い、1ゲームごとに落とすポーンを変えていく)というハンデキャップマッチだったが、Rybkaが4勝1敗3分で勝利している。

2008年9月には、同じくグランドマスターで当時世界ランキング28位(レーティング2705)のVadim Milovと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分となったが、この対局は、このレベルのグランドマスターがコンピュータ側にハンデを課した状態でようやく互角に争えるという結果を示すものとなった。

コンピュータチェスがもたらした分枝

チェスとほぼ同じ駒を使ってできるアリマアという新しいボードゲームが考案された。これは、1手あたりの可能な着手数がチェスに比べて遙かに多いため、当面の間は人間がコンピュータに負けることはないと考えられている。

ソフトの発達により、ネット対戦時にコンピュータの指し手を参考にするプレイヤーもいるが、カスパロフは、人間同士が対局中にコンピュータで指し手を調べながら戦う「アドバンス・チェス」という競技を逆に提唱した。

コンピュータチェスのプログラミング技術・課題

コンピュータチェスのプログラミングは、以下の3つのフェーズに分割して考えることができる。

序盤
チェスの定跡は、昔から研究されているが、様々なバリエーションがある。通常のチェスソフトでは、序盤ではデータベースを参照しながら、現在の手順がデータベースにあるものかを検索する。データベースにあるもので、次の手が複数の候補を持てば、その最良の(最初の)手を選択するか、ランダムに1つを選んで指すようにする。
データベースとしては、様々なものが作成されており、コンパクトなものから巨大なものまである。かならずしも巨大であれば良いというものでもない。
中盤
定跡のデータベースをはずれた時点から、評価関数をもとに探索を行いながら、最良の手順を探っていく。この時の、評価関数の与え方、探索時における無駄の排除がプログラミングの中心となる。探索の重複を避けるために、ハッシュテーブルを用いるのが普通である。
終盤
双方の残りの駒がある程度少なくなった場合をエンドゲームと呼び、研究はかなり進んでいる。
1980年代初めには、残りが5駒以下の場合について、終盤がどうなるかの解析が終了している。
残り駒数が3・4・5の場合についてのデータベースが、ロシアのナリモフによりまとめられ、無償で公開されている[2]。後述のソフトウェアには、これを含んでいるものや利用可能なものがある。

世界コンピュータチェス選手権

1974年頃の参加プログラムは、専用の大規模なハードウェアを用いるものがほとんどであった。ディープ・ブルーは、1995年の香港での大会に出場し3位になっている(参加24プログラムに対して5ゲームしか行われておらず、あまり客観的な順位ではない)。

1999年は、「世界コンピュータチェス選手権」と「世界マイクロコンピュータチェス選手権」は一体となって開催されている。近年は、ほとんどのプログラムがマイクロコンピュータ上で動作するプログラムになってしまったため、両者を区別する意味は失われた。

2010年には日本でコンピュータオリンピアードと同時開催され、Shredder、Rybka、Jonny、Fridolin、Pandix、Hector for Chess、Rondo、Junior、Darmenios、Thinkerの10種類が参加した。

世界コンピュータチェス選手権の優勝ハードウェア(プログラマーチーム)

開催年 開催地 優勝プログラム プログラマー
2010 金沢 Rondo, Thinker
2009 パンプローナ Junier, Shredder, Sjeng
2008 北京 HIARCS
2007 アムステルダム Zappa アンソニー・コジィー
2006 トリノ Deep Junior Ban/Bushinsky
2005 レイキャヴィーク Zappa Cozzie
2004 ラマトガン Deep Junior Ban/Bushinsky
2003 グラーツ Shredder Meyer-Kahlen
2002 マーストリヒト Deep Junior Ban/Bushinsky
1999 パダーボーン Shredder Meyer-Kahlen
1995 香港 Fritz Morsch/de Gorter/Feist
1992 マドリード Chessmachine Schroeder
1989 エドモントン Deep Thought Hsu
1986 ケルン Cray Blitz (tiebreak) Hyatt
1983 ニューヨーク Cray Blitz Hyatt
1980 リンツ Belle Thompson
1977 トロント Chess 4.6 Slate/Atkins
1974 ストックホルム Kaissa Donskoy

2005年に開催された第13回大会では、Shredder と Deep Junior の争いなるかと思われたが、優勝したのはアンソニー・コジィーによる Zappa、 2位には前評判の高かった Fruits、Shredder は Deep Sjeng と3位タイであった。

2007年から2010年まで Vasik Rajlich による Rybka が4年連続で優勝していたが、ソフトに問題(他者の派生コードを申告せずに利用した)があるとして優勝が取り消されている。


世界マイクロコンピュータチェス選手権の優勝プログラム

開催年 開催地 優勝プログラム プログラマー
2001 マーストリヒト Deep Junior Ban/Bushinsky
2000 ロンドン Shredder Meyer-Kahlen
1999 パダーボーン Shredder Meyer-Kahlen
1995 香港 Fritz Morsch/de Gorter/Feist
1993 ミュンヘン Hiarcs Uniacke
1991 バンクーバー Gideon Schroeder
1990 リヨン Mephisto Lang
1989 ポルトロス Mephisto Lang
1988 アルメリア Mephisto Lang
1987 ローマ Mephisto Lang
1986 ダラス Mephisto Lang
1985 アムステルダム Mephisto Lang
1984 グラスゴー Elite X Spracklen
1983 ブダペスト Elite A/S Spracklen
1981 トラベミュンデ Fidelity X Spracklen
1980 ロンドン Chess Challenger Spracklen


レイティング・リスト

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と思考エンジンを別々に開発する事が可能になり、開発者の参入が容易となった。また対局だけでなく、指し手の解析や棋譜の管理など複数の機能を持つ「統合型ソフト」が主流である。

Arena Chess GUI[3]
無償で使える統合型GUI。複数の思考エンジンが最初から付属している。局面解析と簡易的なデータベースも有するほか、インターフェイスが多言語に翻訳されている。
日本語環境ではフォントを利用して駒の外観を変更する機能が動作しないが、その他の機能は問題なく動作する。
Arasan[4]
Jon Dart によって開発されたプログラム。1994年から Windows用に開発され、現在ではLinux版もある。
GUIとエンジンは分離しているが、他のエンジンを読み込むことはできない。
Chess
Mac OS Xに付属している対局ソフト。エンジンはGNU Chessを利用している。
Chess Titans
Vista以降のWindowsに付属している対局ソフト。エンジンは独自のものを利用している。また、3D表示に対応している。
ChessMaster[5]
元はThe Software Toolworks社の製品だったが、現在はユービーアイソフト社が発売している統合型ソフト。練習用の機能が充実している。
Windows用以外にもWiiPSPなどに移植されており、日本法人での取り扱いはないが、日本向けのハードでも動作する。
PC向けの最新版「Chessmaster 11 Grandmaster Edition」は2007年以降アップデートされていないため、Windows7では時折クラッシュすると公式フォーラムで報告されている[6]
フリッツ
洗練されたインターフェイスが特徴の統合型ソフト。1995年に開発中のディープ・ブルーに勝利したことで一躍有名になった。
前述した通り、現在では世界王者ですら勝てないレベルとなっている。
Shane's Chess Information Database (通称「Scid」)[7]
Windows、MacOSX、Linuxに対応するフリーの統合GUI。
「Arena」以上の多機能ソフトだが、日本語のWindowsで起動させるには、ファイルの一部を改変する必要がある。
Shredder Chess[8]
ステファン・メイヤー=カーレン(Stefan Meyer-Kahlen)により、1992年から開発されている統合型ソフト。1996年、1999年、2000年、2003年の世界マイクロコンピュータチェス選手権で優勝した。下位版の「Classic」には30日間の無償体験版がある。
Windows、MacOSX、Linuxの他にも、iPhone/iPod touchAndroidなどモバイル向けもある。
WinBoard/XBoard [9]
GNUプロジェクトで開発されたフリーの対局ソフト。XBoard が UNIX系OSのために作られ、WinBoardは Windows系用に移植された。
簡易の棋譜編集機能を持つが、データベースとしての機能はない。
変則チェスの他、将棋シャンチーに対応している。
騎士道
Windows用のフリーソフト。CPU対戦の他、PGNファイルの読み込みと保存が可能。
最強銀星チェス(シルバースタージャパン[10]
Windows用のパッケージ版とダウンロード版があり、無償の体験版もある。
チェス チャンピオンシップトーナメント(アンバランス[11]
ネットワーク通信対局の他、数種類のフェアリーチェスを指すことができる。
チェス・プログラム(COMPAC)
MZ-80Bで動作する、日本で市販された初のパーソナルコンピュータ用チェスソフト。1982年2月発売。媒体はカセットテープ。ダンプリストが『MZ-80B活用研究』(工学社、1982年10月)に収められている。
通信対局 ワールドチェス(任天堂)
Wiiウェア。思考エンジンはFritz Reulが開発した「Loop」

思考エンジン

チェスソフトの内、実際に指し手を解析、探索する部分。無償でダウンロードできるエンジンも多数ある。思考エンジンとGUIの通信プロトコルは「WinBoard仕様」と「UCI」が主流だが、メーカーの独自仕様もあり、ソフトによって使えるエンジンが異なる。

思考エンジンは単体でも使えるが、オープニングやエンドゲームの解データベースを利用して、無駄な計算を省略させることが普通である。

強さの調整はイロレーティングの数値で指定することが多い。

Crafty[12]
1986年の大会で優勝した Cray Blitz の開発者Robert Hyattによるエンジン。ソースコードも公開されている。後述の「ICC Dasher」にも採用されている。
GNU Chess[13]
GNUプロジェクトのエンジン。Mac OS XのChessにも利用されている。
Junior
イスラエルのプログラマー Amir Ban, Shay Bushinskyらによるエンジン。1997年には世界マイクロコンピュータ選手権で優勝。この時は16ビット版(Ver.4.6)であった。2002年と2004年の世界コンピュータチェス選手権でも優勝し、2005年以降も常に上位にランクインしている。
Rybka[14]
世界コンピュータチェス選手権で連続優勝(2007年から2010年)し、2010年までは最強とされたエンジン。マルチプロセッサ対応版は有料だが、シングルプロセッサ用の評価版はフリーで配布されていた。
2011年に「Fruit」と「Crafty」からソースコードを盗用していることが発覚し(いずれもFLOSSだが、コードの流用そのものではなく、流用したコードをもとにしたRybkaをオリジナルのプログラムとして申告したことが問題となった)、優勝取り消しと選手権からの追放処分となった[2]
Stockfish[15]
2008年からと歴史は浅いが、ランキングは上位を保っている。また開発チームによりスマートフォン用のチェスアプリも提供されている。
オープンソースであるため、コンピュータ将棋エンジンのベースに利用されることもある(Apery、やねうら王など)。

関連ソフト

棋譜の管理や分析ができるデータベースソフトや、オープニングやエンドゲームに絞って練習できるもの、チェス・プロブレムに特化したソフトなど多数の関連ソフトがある。

ChessBase [16]
フリッツと同じチェスベース社から販売されているデータベースソフト。フリッツと共通のGUIで、フリッツのエンジンを利用した分析機能などを備える。
通常版とデータベースを増強した上位モデルがある他、簡易版の「ChessBase Light」は一部機能が無償で利用できる。
dove [17]
日本通信チェス協会が無償で配布している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はこれを自動で除去するため、コメントの除去ソフトとしても利用できる。
ChessExplorer [18]
チェス・プロブレムの作成、評価に特化したWindows用ソフト。無償で利用できる。専用ファイルとFENに対応している。多言語対応のため日本語環境でも問題なく動作する。

オンラインチェス

現在ではオンラインでの対局が盛んになっており、そのためのサービスも多数提供されている。

チェス入門β[19]
Flashを利用したフリーのオンラインチェス。簡易のレーティング判定あり。コンピュータや人間相手の対局の他、チェスの基本を勉強するためのコーナーがある。
Flash チェスコンピュータ ゲーム[20]
Flashを利用したフリーのオンラインチェス。
ICC Dasher[21]
国際的なオンライン・チェスクラブであるInternet Chess Clubで対局するのに必要なソフト。通信対局以外にも、簡易の棋譜管理や「Crafty」などの思考エンジンと対局もできる。
ソフトは無料だが、有料会員は対局以外にも、大会のオンライン中継やグランドマスターによるレッスンなど、多数のイベントに参加することが出来る。
ICCで利用されるプロトコルは「Arena」など一部のソフトも対応している。
PlayChess.com[22]
フリッツの販売元であるチェスベース社が開設しているサーバ。無料で配布されている専用アプリケーションか、同社の対局ソフトでアクセスする。無料でもゲストとして対局することができ、年会費を払えば様々なサービスが利用できる。
The ChessBrain Network[23]
不特定多数のコンピューターに処理させる分散コンピューティングによる対戦プログラム。一般人は対戦できないが、結果はホームページにて閲覧可能。

脚注

  1. Montfort, Nick (2005). Twisty Little Passages: An Approach to Interactive Fiction. MIT Press, p.76. ISBN 0262633183
  2. 世界最強のチェスプログラム「Rybka」盗用発覚で優勝剥奪

関連文献

関連項目

テンプレート:チェステンプレート:Link GA