Stockfish: 世界最強のオープンソースチェスエンジン
Stockfishは、Tord Romstad、Marco Costalba、Joona Kiiskiをはじめとするオープンソース開発者コミュニティによって開発された、世界最強クラスの
チェスエンジンです。様々なデスクトップおよびモバイルプラットフォームで利用可能で、常に
チェスエンジンのレーティングリストのトップ、あるいはその近くに位置しています。2013年の非公式世界
コンピュータチェス選手権で優勝、2014年の同大会で準優勝を果たしています。
起源と進化
Stockfishは、Romstadが開発したオープンソースエンジン「Glaurung」をルーツとしています。「Stockfish」という名前は、英語で「干し魚」を意味します。
2008年、CostalbaがGlaurungをフォークし、新たにStockfishと名付けました。最初のバージョンであるStockfish 1.0は2008年11月にリリースされました。当初はGlaurungとの間でアイデアやコードの変更が共有されていましたが、後にRomstadはStockfishの開発を支持し、Glaurungの開発は終了しました。
2011年頃、RomstadはStockfishの開発から手を引き、iOS向け
チェスアプリの開発に注力しました。2014年、Costalbaも保守管理者を辞任し、コミュニティに開発の継続を呼びかけました。これにより、中心的な開発者のボランティアグループによって公式レポジトリが設立され、現在も開発が続いています。
2018年には、Stockfishの開発に参加していたGary Linscottによって、
AlphaZeroをベースとしたLeela Chess Zeroが開発されました。さらに2020年には、ニューラルネットワークを組み込んだ「Stockfish NNUE」が登場し、
コンピュータチェスの新たな境地を切り開きました。
Stockfishの特徴
- - マルチプロセッシング: 最大512CPUを使用可能
- - 大規模局面表: 最大32TBの局面表に対応
- - 高度な探索: 改良アルファ・ベータ探索とビットボードを使用
- - 深い探索深度: 積極的な枝刈りとLate Move Reductionsによる
- - チェス960対応: Glaurungから継承
- - Syzygyテーブルベース対応: 2014年に統合
Fishtest: 分散テストフレームワーク
Stockfishの開発には、「Fishtest」と呼ばれる分散テストフレームワークが活用されています。ボランティアが
CPU時間を提供することで、プログラムの改良をテストできます。変更は、旧バージョンとの数万局の対局結果に基づき、統計的に有意な場合にのみ受け入れられます。このフレームワークにより、Stockfishはわずか12ヶ月で
イロレーティングが120ポイントも上昇するという驚異的な成長を遂げました。
大会結果
Stockfishは、主要な
コンピュータチェス大会で数々の好成績を収めています。
- - TCEC: シーズン4および5で準優勝、シーズン6では優勝
Stockfish対ナカムラ
2014年、
グランドマスターのヒカル・ナカムラとのハンディキャップ対局では、コンピュータの助けとハンデにもかかわらず、ナカムラは2勝2敗に終わりました。この対局は、Stockfishの驚異的な強さを証明するものでした。
プラットフォーム
Stockfishは、
C++ソースコードとして、また
Microsoft Windows、macOS、
Linux、Android向けのコンパイル済みバージョンとして提供されています。デスクトップではBlitzInやDasher、モバイルではStockfish app、SmallFish、Droidfishなどに同梱されています。
チェス対局サイトである
Lichessや
Chess.comでも
棋譜解析やAI対局に採用されています。
まとめ
Stockfishは、オープンソースの
チェスエンジンとして、世界最高峰の強さを誇ります。その開発は、コミュニティの貢献と高度な技術によって支えられています。Stockfishは、
チェス愛好家にとって欠かせない存在であり、その進化は今後も注目されるでしょう。