コンピュータチェス

提供: Yourpedia
2020年1月8日 (水) 05:08時点におけるケンケン (トーク | 投稿記録)による版 (rxy=森谷辰也=LTA:ASPELTA:DCHANCELTA:SASHOという動かせない事実。)

移動: 案内検索

rxy=森谷辰也=LTA:ASPELTA:DCHANCELTA:SASHOという動かせない事実。'''コンピュータチェス'''とは、[[コンピュータ]]が指す[[チェス]]のことである。 コンピュータの黎明期からコンピュータにチェスをさせるという試みは行なわれ、コンピュータの歴史と、コンピュータチェスの歴史は並行して歩んできた。 黎明期には、人間を相手にチェスのゲームを行うことを念頭に置いて開発されていたが、近年は最高レベルのものは世界チャンピオンと互角になるまで強くなり、コンピュータ同士の対戦も盛んに行われるようになっている。 == 歴史 == [[チャールズ・バベッジ]]は、1840年代に機械にゲームを行わせることに興味を持ち、解析エンジン(コンピュータ)を考えた。ただし、チェスの場合は組合せが膨大になり現実的でないことに気づいている。 コンピュータでチェスプログラムを作ることの可能性に初めて言及したのは、ドイツの[[コンラート・ツーゼ]](1945年)であるといわれている。 [[ベル研究所]]の[[クロード・シャノン]]は、1949年に「チェスをするコンピュータのプログラミング」という論文を発表し、[[評価関数]]の特徴・[[探索木]]の作り方の戦略について考察している。 [[アラン・チューリング]]は、1951年に解析の[[アルゴリズム]]を考案し(ただし計算は手作業)、実際に[[シミュレーション]]による試合を試みている。 記録に残っている最初の動作するプログラムは、1956年の[[ロスアラモス研究所]]のプログラムである。ただし、これは6×6のミニチュアボードによるものであった。 最初にコンピュータが人間のチェスの選手権に参加したのは1967年の[[ボストン]]の競技会の Mac Hack VI([[マックハック]]) である。この時のコンピュータの[[イロレーティング|レーティング]]は1670といわれ、ちょっと強いアマチュアのレベルに達している。 コンピュータ同士の最初のチェス選手権は1970年に[[ニューヨーク]]で開催され、その時は当時の [[コントロール・データ・コーポレーション]](CDC) のスーパーコンピュータ上で動作する CHESS 3.0 というプログラムが優勝している。その後、北アメリカでのコンピュータチェス選手権は毎年開催され、1984年には当時最速のコンピュータであった [[Cray-1|Cray]] で動作する CRAY BLITZ が優勝、1988年には[[ディープ・ブルー]]の前身であるディープ・ソートが優勝するなどの記録が残っている。 1988年、ディープ・ソートはLong BeachでのトーナメントでGMのLarsenに勝利。GMに勝った史上初のプログラムとなる。 1989年にディープ・ソートは世界チャンピオン[[ガルリ・カスパロフ]]と対戦し、接戦の末に破れる。1990年には、[[アナトリー・カルポフ]]にも敗北。しかし、これらの試合は、人間のチャンピオンがやがてコンピュータに敗れることを十分に予感させるものであった。 [[1996年]]に[[IBM]]のコンピュータであるディープ・ブルーがガルリ・カスパロフと対戦し、1つのゲームとしては、初めて世界チャンピオンに勝利を収めた。ただし、これは6戦中の1勝に過ぎず、全体ではカスパロフの3勝1敗2引き分けであった。しかし、翌[[1997年]]に、ディープ・ブルーは、2勝1敗3引き分けとカスパロフ相手に雪辱を果たした。現実的には、これだけの試合数で実力は評価できないが、世界チャンピオンと互角に戦えるだけの能力になったことは確かである。 その後も人間の名人対コンピュータの対戦は行なわれ、[[2002年]]の10月に行われた[[ウラジーミル・クラムニク]]とコンピュータソフト[[ディープ・フリッツ]]とのマッチでは、両者引き分け。[[2003年]]1月26日から2月7日まで[[ニューヨーク]]で行なわれた、カスパロフとディープ・ジュニアとのマッチも1勝1敗4引き分けで両者引き分けに終わっている。2003年[[11月11日]]から[[11月18日]]に行なわれたカスパロフと[[:en:X3D Fritz|X3D Fritz (英語)]]のマッチは1勝1敗2引き分けで両者引き分けに終わった。 ディープ・ブルーの後は、技術革新に伴いPC上で動くコンピュータソフトが主力となるが、ハードウェアを含めて最強のチェス・コンピュータを作る試みが[[ヒドラ (チェス)|ヒドラ]]プロジェクトで行われている。これは、64ノードの [[Xeon]] プロセッサからなる。 2005年11月には、人間とコンピュータのチームによる対戦が[[スペイン]]のピルバオで行われた。人間のチームは元世界チャンピオンの、カシムジャノフ、カリフマン、ポノマリョフの3人、コンピュータのチームは、ヒドラ、フリッツ(Fritz)、Junior の3種。結果は8-4でコンピュータの勝利となり、人間が次第に劣勢に持ち込まれコンピュータに勝つことは難しくなってきた。 [[2006年]][[11月25日]]から[[12月5日]]にかけてディープ・フリッツはクラムニクと再戦し、1戦も失うことなく2勝4引き分けの勝利を収めている。 2007年3月には、GMのJaan EhlvestがRybkaと対戦。Rybka側は常にポーンを1つ落とす(8ゲーム行い、1ゲームごとに落とすポーンを変えていく)というハンデキャップマッチだったが、Rybkaが4勝1敗3分で勝利している。 人間が機械に負けたことを受け、チェスとほぼ同じ駒を使ってできる[[アリマア]]という新しいボードゲームが考案された。これは、1手あたりの可能な着手数がチェスに比べて遙かに多いため、当面の間は人間がコンピュータに負けることはないと考えられている。 == コンピュータチェスのプログラミング技術・課題 == コンピュータチェスのプログラミングは、以下の3つのフェーズに分割して考えることができる。 ; 序盤 : チェスの[[定跡]]は、昔から研究されているが、様々なバリエーションがある。通常のチェスソフトでは、序盤ではデータベースを参照しながら、現在の手順がデータベースにあるものかを検索する。データベースにあるもので、次の手が複数の候補を持てば、その最良の(最初の)手を選択するか、ランダムに1つを選んで指すようにする。 :データベースとしては、様々なものが作成されており、コンパクトなものから巨大なものまである。かならずしも巨大であれば良いというものでもない。 ; 中盤 : 定跡のデータベースをはずれた時点から、[[評価関数]]をもとに[[探索]]を行いながら、最良の手順を探っていく。この時の、評価関数の与え方、探索時における無駄の排除がプログラミングの中心となる。探索の重複を避けるために、[[ハッシュテーブル]]を用いるのが普通である。 ; 終盤 : 双方の残りの駒がある程度少なくなった場合を[[エンドゲーム]]と呼び、研究はかなり進んでいる。 : 1980年代初めには、残りが5駒以下の場合について、終盤がどうなるかの解析が終了している。 : 残り駒数が3・4・5の場合についてのデータベースが、ロシアのナリモフによりまとめられ、無償で公開されている。後述のチェスソフトウェアには、これを含んでいるものや利用可能なものがある。[http://www.chesslib.no/Nalimov.htm] == 世界コンピュータチェス選手権 == 1974年頃の参加プログラムは、専用の大規模なハードウェアを用いるものがほとんどであった。[[ディープ・ブルー]]は、1995年の香港での大会に出場し3位になっている。(参加24プログラムに対して5ゲームしか行われておらず、余り客観的な順位ではない。) 1999年は、「世界コンピュータチェス選手権」と「世界マイクロコンピュータチェス選手権」は一体となって開催されている。近年は、ほとんどのプログラムがマイクロコンピュータ上で動作するプログラムになってしまったため、両者を区別する意味は失われた。 === 世界コンピュータチェス選手権の優勝プログラム(ハードウェア) === <table border="0"> <tr> <th>開催年</th><th>開催地</th><th>優勝プログラム</th><th>プログラマー</th> </tr> <tr> <td>2007</td><td>[[アムステルダム]]</td><td>Rybka</td><td>Rajlich</td> </tr> <tr> <td>2006</td><td>[[トリノ]]</td><td>Deep Junior</td><td>Ban/Bushinsky</td> </tr> <tr> <td>2005</td><td>[[レイキャヴィーク]]</td><td>Zappa</td><td>Cozzie</td> </tr> <tr> <td>2004</td><td>[[イスラエル|ラマトガン]]</td><td>Deep Junior</td><td>Ban/Bushinsky</td> </tr> <tr> <td>2003</td><td>[[グラーツ]]</td><td>Shredder</td><td>Meyer-Kahlen</td> </tr> <tr> <td>2002</td><td>[[マーストリヒト]]</td><td>Deep Junior</td><td>Ban/Bushinsky</td> </tr> <tr> <td>1999</td><td>[[ノルトライン=ヴェストファーレン州|パダーボーン]]</td><td>Shredder</td><td>Meyer-Kahlen</td> </tr> <tr> <td>1995</td><td>[[香港]]</td><td>Fritz</td><td>Morsch/de Gorter/Feist</td> </tr> <tr> <td>1992</td><td>[[マドリード]]</td><td>Chessmachine</td><td>Schroeder</td> </tr> <tr> <td>1989</td><td>[[エドモントン]]</td><td>Deep Thought</td><td>Hsu</td> </tr> <tr> <td>1986</td><td>[[ケルン]]</td><td>Cray Blitz (tiebreak)</td><td>Hyatt</td> </tr> <tr> <td>1983</td><td>[[ニューヨーク]]</td><td>Cray Blitz</td><td>Hyatt</td> </tr> <tr> <td>1980</td><td>[[リンツ]]</td><td>Belle</td><td>Thompson</td> </tr> <tr> <td>1977</td><td>[[トロント]]</td><td>Chess 4.6</td><td>Slate/Atkins</td> </tr> <tr> <td>1974</td><td>[[ストックホルム]]</td><td>Kaissa</td><td>Donskoy</td> </tr> </table> 2005年に開催された第13回大会では、Shredder と Deep Junior の争いなるかと思われたが、優勝したのはアンソニー・コジィーによる Zappa、 2位には前評判の高かった Fruits、Shredder は Deep Sjeng と3位タイであった。 <!-- World Computer Chess Champions (WCCC) # Year Place Winner Developer(s) Country 12 2004 Ramat-Gan Deep Junior Ban/Bushinsky Israel 11 2003 Graz Shredder Meyer-Kahlen Germany 10 2002 Maastricht Deep Junior Ban/Bushinsky Israel 9 1999 Paderborn Shredder Meyer-Kahlen Germany 8 1995 Hong Kong Fritz Morsch/de Gorter/Feist Germany/Netherlands 7 1992 Madrid Chessmachine Schroeder Netherlands 6 1989 Edmonton Deep Thought Hsu USA 5 1986 Cologne Cray Blitz (tiebreak) Hyatt USA 4 1983 New York Cray Blitz Hyatt USA 3 1980 Linz Belle Thompson USA 2 1977 Toronto Chess 4.6 Slate/Atkins USA 1 1974 Stockholm Kaissa Donskoy USSR --> === 世界マイクロコンピュータチェス選手権の優勝プログラム === <table border="0"> <tr> <th>開催年</th><th>開催地</th><th>優勝プログラム</th><th>プログラマー</th> </tr> <tr> <td>2001</td><td>[[マーストリヒト]]</td><td>Deep Junior</td><td>Ban/Bushinsky</td> </tr> <tr> <td>2000</td><td>[[ロンドン]]</td><td>Shredder</td><td>Meyer-Kahlen</td> </tr> <tr> <td>1999</td><td>[[ノルトライン=ヴェストファーレン州|パダーボーン]]</td><td>Shredder</td><td>Meyer-Kahlen</td> </tr> <tr> <td>1995</td><td>[[香港]]</td><td>Fritz</td><td>Morsch/de Gorter/Feist</td> </tr> <tr> <td>1993</td><td>[[ミュンヘン]]</td><td>Hiarcs</td><td>Uniacke</td> </tr> <tr> <td>1991</td><td>[[バンクーバー (ブリティッシュコロンビア州)|バンクーバー]]</td><td>Gideon</td><td>Schroeder</td> </tr> <tr> <td>1990</td><td>[[リヨン]]</td><td>Mephisto</td><td>Lang</td> </tr> <tr> <td>1989</td><td>[[スロベニア|ポルトロス]]</td><td>Mephisto</td><td>Lang</td> </tr> <tr> <td>1988</td><td>[[スペイン|アルメリア]]</td><td>Mephisto</td><td>Lang</td> </tr> <tr> <td>1987</td><td>[[ローマ]]</td><td>Mephisto</td><td>Lang</td> </tr> <tr> <td>1986</td><td>[[ダラス]]</td><td>Mephisto</td><td>Lang</td> </tr> <tr> <td>1985</td><td>[[アムステルダム]]</td><td>Mephisto</td><td>Lang</td> </tr> <tr> <td>1984</td><td>[[グラスゴー]]</td><td>Elite X</td><td>Spracklen</td> </tr> <tr> <td>1983</td><td>[[ブダペスト]]</td><td>Elite A/S</td><td>Spracklen</td> </tr> <tr> <td>1981</td><td>[[リューベック|トラベミュンデ]]</td><td>Fidelity X</td><td>Spracklen</td> </tr> <tr> <td>1980</td><td>[[ロンドン]]</td><td>Chess Challenger</td><td>Spracklen</td> </tr> </table> <!-- # World Micro Computer Chess Champions (WMCCC) 18 2001 Maastricht Deep Junior Ban/Bushinsky Israel 17 2000 London Shredder Meyer-Kahlen Germany 16 1999 (Same as 9th WCCC, Paderborn.) 15 1997 Paris Junior Ban/Bushinsky Israel 14 1996 Jakarta Shredder Meyer-Kahlen Germany 13 1995 Paderborn MChess-Pro 5.0 Hirsch USA 12 1993 Munich Hiarcs Uniacke UK 11 1991 Vancouver Gideon Schroeder Netherlands 10 1990 Lyon Mephisto Lang UK 9 1989 Portoroz Mephisto Lang UK 8 1988 Almeria Mephisto Lang UK 7 1987 Rome Mephisto Lang UK 6 1986 Dallas Mephisto Lang UK 5 1985 Amsterdam Mephisto Lang UK 4 1984 Glasgow Elite X Spracklen USA 3 1983 Budapest Elite A/S Spracklen USA 2 1981 Travemunde Fidelity X Spracklen USA 1 1980 London Chess Challenger Spracklen USA --> == レイティング・リスト == 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位以内に入っていない。 == 代表的なソフトウェア == === 日本語で動作するソフトウェア === ; 騎士道 1.1 : フリーソフト、Windows用。[http://www.vector.co.jp/games/soft/win95/game/se233932.html] ; バリューチェス(マグノリア) : ダウンロード可能。[http://www.magnolia.co.jp/products.html#value] ; Standard 1500 The チェス(サクセス) : ダウンロード可能。[http://www.success-corp.co.jp/software/pc/st_chess/index.html] ; チェス チャンピオンシップトーナメント(アンバランス) : 市販品。ネットワーク通信対局が可能。フェアリーチェスを何種類か指すことができるのが特徴。 [http://www.unbalance.co.jp/honkaku/chess/index.html] ; 最強銀星チェス(シルバースタージャパン) : Windows用パッケージ版、ダウンロード版があり。体験版もある。 [http://www.silverstar.co.jp/02products/GChess/GCHess.htm] === 海外ソフトウェア === ; ChessMaster : もと The Software Toolworks社、現在は UBI Soft社が発売している老舗チェスソフト。他のチェスプログラムと違って、単に強いだけではなく、学習機能・子供向け機能・定跡編集・データベース機能などの付加機能が充実している。また、いち早く三次元的なチェス盤の表示を取り入れる、英語によるアドバイス機能など、常に他のソフトより先行している。思考エンジンは The King という名称を持ち、トップレベルにある。 :; Chessmaster 2000 (1986年) :: 最初の PC-DOS 用ソフトウェア。 :; Chessmaster 2100 (1988年) :: 上記の改良版。 :; Chessmaster 3000 (1991年) :: Windows 3.1用。表示が格段に美しくなり、英語によるアドバイス機能を搭載。 :; Chessmaster 4000 Turbo (1993年) :: 32ビット思考エンジンの搭載。 :; Chessmaster 5000 (1996年) :: Mindscape社より発売。Windows 95に対応。 :; Chessmaster 6000 (1998年) :: Macintosh用あり。 :; Chessmaster 7000 (1999年) :: 子供用の Kids room 機能。 :; Chessmaster 8000 (2001年) :: UBI soft社より発売。Windows XP用。 :; Chessmaster 9000 (2002年) :: Windows用、Macintosh用あり。 :; Chessmaster 10th Edition (2004年) :: 最新版。 [http://chessmaster10.ubi.com/us/] : ; Fritz : 最近ではチェスソフトの代名詞のように使われることもある。最初の16ビット版(Ver.1.2)は1991年にオランダのフランス・モルシュ(Frans Morsch)によって書かれた。1995年には、開発中の[[ディープ・ブルー]]に勝利したことで一躍有名になった。 :; Deep Fritz :: 現在でも世界のトップを争っているソフト。毎秒600万手を読むことができる。(ディープ・ブルーの毎秒2億手に比べると少ないが、アルゴリズムが違うため強さに遜色ない。)マルチプロセッサの Windows で動作する。市販されている。2006年に世界チャンピオンのクラムニクに4-2のスコアで勝利した。[http://www.chessbase.com/] :; Fritz :: こちらは通常のシングルプロセッサの PC で動作する。Deep Fritz に比べれば弱いが、一般には十分な強さ。市販されている。現在のバージョンは11。[http://www.chessbase.com/] :; X3D Fritz :: Fritz にバーチャル・リアリティのプログラムを組み合わせ、現実のチェス盤や駒を用いずに対戦する仕組みを作り、2003年11月にカスパロフと対戦し、引き分けた。これは非商用。 : ; Junior : [[イスラエル]]のプログラマー Amir Ban, Shay Bushinsky によるプログラム。1997年には世界マイクロコンピュータ選手権で優勝。この時は16ビット版(Ver.4.6)であった。2002年と2004年の世界コンピュータチェス選手権を制した。 :; Deep Junior :: Fritz 同様に、マルチプロセッサー対応のものを Deep を付して販売している。現在のバージョンは7。[http://www.chessbase.com/] :; Junior :: シングルプロセッサ版。こちらも市販されている。[http://www.chessbase.com/] : ; Shredder : [[ドイツ]]のプログラマー、ステファン・メイヤー=カーレン(Stefan Meyer-Kahlen)により、1992年より開発されている。1996年の世界マイクロコンピュータチェス選手権 で優勝。1999年、2000年、2003年にも世界選手権で優勝し、その実力はトップレベル。 :; Deep Shredder 9 UCI :: マルチプロセッサー対応の最新版。その強さに対する評価は高い。 :; Shredder 9 UCI :: 上記の通常版。どちらもオンラインで購入できる。[http://www.shredderchess.com/] :; Shredder 8 :: 2003年の世界コンピュータチェス選手権での優勝プログラム。 :; Shredder Classic :: 1996年の選手権での優勝プログラム(Ver.6)。こちらは、評価版がダウンロードでき、購入もできる。[http://www.shredderchess.com/] : ; Crafty : 1986年の大会で優勝した Cray Blitz のプログラマー Robert Hyatt 教授によるチェスプログラムで今でもかなり強い。フリーでソースコードも公開されている。思考エンジンのみなので、実行には後述の Arena などの GUI プログラムが必要。 ; Arasan : Jon Dart によって開発されたプログラム。1994年から Windows用に開発されており、強さはトップレベルではないがフリーで使い勝手が良いため普及している。GUI とエンジンは分離しているが、他のエンジンを読み込むことはできない。Linux版もある。現在のバージョンは8.3。[http://www.arasanchess.org/] ; GNU Chess : フリーのチェス。これもかなり強い。もともとはテキスト入出力の見栄えの悪いプログラムだったが、Winboard の開発によって使いかってが良くなった。最新版は、5.07。[http://www.gnu.org/software/chess/chess.html] ; The ChessBrain Network : 分散コンピューティングによる対戦プログラム。世界順のネットワークにつながったコンピュータにさまざまな手を先読みさせ、その中で最もいいものを選び、使うというシステムである。理論上は究極のスーパーコンピュータチェスとなる。といっても一般の人は対戦できず、ギネス記録更新のためにプロが対戦したりする。結果はホームページにて閲覧可能。 === 関連ソフトウェア(海外)=== ; ChessBase : [[棋譜]]の保存・管理・分析用として世界的に用いられているソフトウェア。ドイツ、ChessBase社製。 [http://www.chessbase.com/] ; WinBoard/XBoard : 思考エンジンと呼ばれるチェスプログラムを用いて、コンピュータと人間の対戦、あるいはコンピュータ同士の対戦を行うためのソフトウェア。グラフィカルインターフェースを持つ。もともと XBoard が UNIX系OSのために作られ、WinBoardは Windows系用に移植された。無料である。 [http://www.tim-mann.org/xboard.html] ; Arena : WinBoard と同様の機能を有するが、後発である分使い勝手がよい。思考エンジンはWinBoard用のものに加えて、UCI仕様のものを用いることができる。無料である。 [http://www.playwitharena.com/] ; 思考エンジン : Winboard, Arenaで使うことのできる200種類以上の思考エンジンが作られている。そのうち多くのものは無料でダウンロードできる。前述の Cheassmaster, Fritz, Shredder等のプログラムも、思考エンジン部分は独立しており、WinBoard上で対戦させたり、ChessMaster上で Crafty などのエンジンと対戦することが可能になっている。 : 思考エンジンには、WinBoard/XBoard 仕様のインターフェースと、UCIインターフェース、及び Fritz などの独自仕様のものがある。GUI によっては、いずれかのインターフェースしか扱えない。Winboard と UCI のインターフェースは、どちらもテキストベースの入出力であり、変換するプログラムも存在する。 : 思考エンジンのダウンロードは、[http://www.chessopolis.com/cchess.htm#top]や[http://www.playwitharena.com/],[http://wbec-ridderkerk.nl/]などを参照。 ==関連文献== *D. リービ, M. ニューボーン (著), [[飯田弘之]], [[吉村信弘]], [[乾伸雄]], [[小谷善行]](翻訳)『コンピュータチェス ― 世界チャンピオンへの挑戦』([[サイエンス社]]、[[1994年]]) ISBN 4781907237 ※ [[ディープ・ブルー]]の項目も参照のこと。 == 関連項目 == * [[人工知能]] * [[コンピューターゲーム]] * [[コンピュータ将棋]] * [[コンピュータ囲碁]] * [[将棋]] - [[囲碁]] * [[チェッカー]] * [[もしコンピューターがチェスのチャンピオンに認定されたら]] {{Wikipedia/Ja}} [[Category:コンピュータチェス|*]] [[da:Computerskak]] [[de:Computerschach]] [[en:Computer chess]] [[es:Ajedrez por computadora]] [[fi:Tietokoneshakki]] [[fr:Programme d'échecs]] [[he:תוכנת שחמט]] [[it:Videogioco di scacchi]] [[nl:Schaaksoftware]] [[pl:Szachy komputerowe]] [[pt:Xadrez por computador]] [[sl:Šahovski računalniški programi]] [[uk:Комп'ютерні шахи]]