コンピュータ将棋
WinBoard/XBoardおよびBCM Shogiも将棋をサポートするGUIである。WinBoardでは2007年にH.G. Mullerによって将棋がサポートされた。WinBoardはエンジンと通信するために独自のプロトコル(チェスエンジンコミュニケーションプロトコル)を使用するが、UCI2WBアダプターを介してUSIエンジンと接続できる。WinBoardプロトコルをネイティブサポートするエンジンは、Shokidoki、TJ将棋、GNU Shogi、Bonanzaである。将棋所とは異なり、WinBoardはオープンソースであり、LinuxではXBoardとして利用可能である。BCM Shogiは、USIプロトコルとWinBoard将棋プロトコルのためのグラフィカルユーザインタフェースである。
中将棋や大将棋といった多くの将棋類は、Winboardのフォークされたバージョンを用いることでAiと対戦することができる。Shogidokiでは持ち駒ルールのある5五将棋(ミニ将棋)を指すことができる。Hachuでは5五将棋、禽将棋、小将棋、中将棋、大将棋を指すことができる。
コンピュータ将棋の黎明期には、コンピュータがプロ棋士の棋力に達するのは、当分先と思われていた。チェスソフトのノウハウを応用して最初に将棋ソフトが作られた頃は、初級者にも負ける棋力であった。しかし1990年代に入ると、ソフトウェア開発技術やハードウェア性能の向上が進み、「金沢将棋」などのトップレベルのプログラムは、1994年から1996年の間に、アマチュア初段に達したとされる。
1996年に発行された『平成8年度将棋年鑑』には、「コンピュータがプロを負かす日は? 来るとしたらいつ」というプロ棋士へのアンケートが掲載された。羽生善治は、「2015年」という予想についてのちに「別に深く考えずに適当に書いただけなんで......(苦笑)」と真意を答えている。また「トップレベルに到達するかどうかは分からない」とも述べていた。
YSS開発者の山下宏は、1994年、第4回コンピュータ将棋選手権の自戦記で「8年後。これを読んでいるあなた、もしあなたがプロでない限り、あなたはコンピュータに破れます。そして2010年、たとえ羽生であろうと誰であってもコンピュータに勝てないつまらない時代がやって来る」と予測している。
1997年にはコンピュータチェス『Deep Blue』が人間のチャンピオンであるガルリ・カスパロフを破り、オセロでも『ロジステロ』が村上健を破った。しかし、その頃のコンピュータ将棋はアマチュア二段程度であり、棋士にも余裕が伺えた。
詰将棋に関しては2000年時点で既にプロ棋士を大きく上回る水準と評されるなど、不正利用の危惧は当時からあり、真部一男は「200X年」の将棋ソフト不正利用事件を描いたSF短編を書いている。
Bonanza以降主流になった機械学習において、プロ棋士の対戦データをもとにした教師あり学習では、プロ棋士の対局では少ない入玉模様の将棋を学習しにくい。入玉模様では、相入玉において目標が詰ますことから点数計算に変わるため、適切に判断できないことが多かった。2013年の第2回将棋電王戦第4局においては、相入玉に持ち込まれたPuella αは点数計算を正しく認識できず、結果として持将棋(引き分け)成立となった。
しかし、コンピュータが生成した膨大な数の局面を教師として学習したり、学習におけるパラメータを増加させて実戦が少ない局面の評価能力を向上させた結果、コンピュータ将棋の入玉模様は大幅に向上した。2015年の第25回世界コンピュータ将棋選手権では、コンピュータ将棋の大会で初めて、Seleneが入コンピュータ自身の読みと判断により宣言法による勝利を上げ、同大会の独創賞を受賞した。強豪ソフトにおける入玉将棋の強さと宣言法の実装は標準化されており、2016年の第4回電王トーナメントにおいても、ponanzaとやねうら王が1度ずつ入玉将棋において宣言法で勝利している。
2018年、CPUで高速に計算できるニューラルネットワークを使用するNNUEと呼ばれる局面評価法が開発された。これは将棋ソフトで大きな成果を上げ、αβ探索系の将棋ソフトにおいて主流の評価関数手法となった。2021年には、NNUEはコンピュータチェスソフトのStockfishにも導入された。
また、2017年、AlphaZeroは囲碁AIで成功を収めたモンテカルロ木探索と畳み込みニューラルネットワークにより、将棋でも好成績を残したと発表された。AlphaGoやAlphaZeroの登場以後、AlphaZeroの追試を目的としたAobaZeroや、AlphaGoに触発されて開発が始まったdlshogiなど、モンテカルロ木探索と畳み込みニューラルネットワークを用いた「ディープラーニング系」と総称される将棋ソフトが開発されるようになった。 2020年に開催された第一回電竜戦においては、探索部にdlshogiを採用したGCTが優勝を果たした。これらディープラーニング系の将棋ソフトの登場によって、NNUEを含めBonanzaの手法をベースにすることが主流だったコンピュータ将棋の世界に根本的な革新がもたらされたとの見方もある。
やねうら王の開発者・磯崎元洋は、ディープラーニング系の将棋ソフトは「序盤がメチャ強いです。大局観が優れているので」とした上で、「GCTの大局観は人間と同じレベルに達している」と分析している。
ミニマックス法は、チェス・将棋・リバーシ・チェッカー等の完全情報ゲームで次の手を決めるための基本アルゴリズム。数手先まで読み、その時点で評価関数により局面に点数(手番の方がプラス)をつけ、手番の方は評価値が最大の手を、手番ではない方は評価値が最小の手を選ぶとして、次の着手を選択する。局面の分岐数をN、先読みする深さをLとすると、評価が必要な局面数はN^Lとなる。