マガジン

将棋とチェスのAIの違い:持ち駒がある難しさ

遊びを見つける

執筆にClaudeを使用しています。

キングとルーク、クイーンの影を持つポーン、隣り合うポーンを描いたチェスのイラスト
記事のテーマをもとに制作したAI生成イラスト。

将棋とチェスはどちらもAIが人間のトップ棋士を超えた、と聞いたことがある方は多いと思います。では、二つのゲームのAIは同じ技術で動いているのでしょうか。答えは「似て非なるもの」です。特に将棋に固有の「持ち駒」というルールが、AIの設計にどれほど深い影響を与えているかは、外から見ると伝わりにくい部分です。 チェスのAIは1997年にIBMのDeep Blueが世界チャンピオンに勝利した時点で「人間超え」の象徴として広まりました。将棋AIが第一線のプロ棋士と互角以上になったのはそれより十数年後のことです。この時間差は、単なる計算力の問題ではなく、持ち駒という仕組みが生み出す「盤面の広さ」に大きく起因しています。 この記事では、持ち駒のルールがAIにとって具体的にどういう難しさをつくるのかを整理し、将棋AIとチェスAIがそれぞれどう対応しているかを説明します。コードを書かなくても理解できる内容を目指しています。

この記事の目次
  1. 持ち駒がゲームの「広さ」を根本から変える
  2. 深さと広さのトレードオフ:探索木でどう違うか
  3. 評価関数の難しさ:将棋固有の「駒価値の揺らぎ」
  4. 打ち歩詰めと例外処理:ルールの複雑さも加わる
  5. 将棋AIとチェスAIは同じ土台の上にあるか
  6. 次の行動
  7. 参考資料

持ち駒がゲームの「広さ」を根本から変える

チェスで取られた駒は盤上から消えます。ゲームが進むほど盤面の駒は減り、終盤は少ない駒で詰めを読む形になります。つまりチェスの終盤は、局面の複雑さという意味では「収束していく」方向に動きます。

将棋では取った駒を自分の持ち駒として手番に使えます。これはゲームが進んでも駒がなくなるどころか、いつでも好きなマスに打てる戦力が手元に増え続けることを意味します。盤面の駒が減っても、持ち駒という形で駒数は保たれます。

この差がAIに与える影響は「分岐の数」に端的に現れます。ある局面から次の一手を選ぶとき、チェスは盤上の駒を動かす手だけを考えればよいです。将棋は盤上の駒を動かす手に加えて、持ち駒を任意のマスに打つ手の組み合わせも探索しなければなりません。持ち駒の種類と数が増えるほど、一局面あたりの合法手の数は大きく増えます。将棋の平均的な合法手数はチェスより多いとされており、AI研究の文脈では将棋の方が探索空間が広いゲームとして扱われることが一般的です。

深さと広さのトレードオフ:探索木でどう違うか

AIがゲームを解析するとき、現在の局面から先の手順をツリー状に展開して評価します。これを探索木と呼びます。ノードの数は「分岐の広さ」と「読む手数の深さ」の掛け合わせで爆発的に増えます。

チェスは分岐が相対的に少ないぶん、同じ計算コストでより深く読めます。将棋は一手ごとの選択肢が多く、同じ深さを読もうとすると計算量がはるかに大きくなります。

この問題に対してチェスAIとの共通手法として使われるのが「アルファベータ枝刈り」という技術です。探索木の中で明らかに不利な分岐を早々に切り捨てることで、実質的に深く読める量を増やします。しかし持ち駒を打つ手が大量に存在する将棋では、「明らかに不利かどうか」の判断自体が難しいケースが多く、枝刈りの効率がチェスほど高くなりません。どの持ち駒をどこに打つかはその局面の形勢に強く依存するため、表面上は無意味に見える手が数手後に急所になることが頻繁に起きます。

評価関数の難しさ:将棋固有の「駒価値の揺らぎ」

AIが局面の良し悪しを数値で測る仕組みを評価関数と呼びます。チェスでは各駒の素材的な強さ(ポーン、ルーク、クイーンなどの相対価値)はある程度安定していて、評価関数の設計に使いやすい基準になります。

将棋の持ち駒は状況によって価値が大きく変わります。飛車や角の持ち駒があっても、打てる場所がなければ価値は低いです。逆に終盤の即詰みを狙えるときに桂馬一枚の持ち駒が勝敗を決することもあります。つまり将棋の駒価値は盤面の形と残り手数と絡み合っていて、単純な固定値では表現しにくいです。

この問題を大きく前進させたのが機械学習ベースの評価関数です。2010年代以降の将棋AIは、大量の棋譜データを学習させた評価関数を使うことで、人間が数値化しにくい「形の良し悪し」や「持ち駒の潜在的な価値」を暗黙的に扱えるようになりました。近年ではディープニューラルネットワークを使ったアプローチが普及しており、チェスAIにも同様の技術が応用されています。ただし将棋は盤面の広さ(9×9)と持ち駒という追加次元があるぶん、入力の表現設計そのものが複雑です。

打ち歩詰めと例外処理:ルールの複雑さも加わる

持ち駒の難しさはゲームツリーの広さだけではありません。将棋には「打ち歩詰め」という禁じ手があります。歩を打って相手の玉を詰ます手は反則です。これは持ち駒のルールがあるからこそ生まれた禁止事項です。

AIは合法手を列挙するとき、この禁じ手を正確に除外しなければなりません。チェスにも非合法手の除外は必要ですが、将棋の場合は持ち駒を打つという行為そのものに状況依存の例外がついてくる分、合法手生成の実装が複雑になります。二歩(同じ筋に歩を二枚打てない)も同様で、持ち駒を管理する状態量が増えます。

チェスにもアンパッサンやキャスリングといった特殊ルールがありますが、それらは特定の局面条件を満たすときにのみ発生する追加の手です。将棋の二歩・打ち歩詰めは「手を打つ条件として常に確認が必要なフィルタ」として機能するため、性質が少し異なります。

将棋AIとチェスAIは同じ土台の上にあるか

現代のトップクラスの将棋AIとチェスAIはどちらも、モンテカルロ木探索とニューラルネットワークの組み合わせを基盤にしています。GoogleのAlphaZeroはチェス・将棋・囲碁の三つに同じ枠組みを適用して高い性能を出したことで知られています。その意味では「同じ土台」と言えます。

しかしゲームの性質に応じた調整は必須です。将棋では合法手の生成コストが高いため、一度の探索でどれだけ効率よく有望な手を絞り込めるかがチェスよりも重要になります。またニューラルネットワークへの入力として盤面状態を与えるとき、チェスは8×8の盤面と取られた駒の履歴を表現すればよいのに対し、将棋は9×9の盤面に加えて両対局者の持ち駒の種類と枚数を常に状態として持たせる必要があります。入力の次元が異なり、学習に必要なデータ量や計算量も変わってきます。

将棋AIとチェスAIを「どちらが強いか」と比べる人もいますが、ゲームの構造が異なるので直接比較には意味がないです。異なる難しさをそれぞれ異なる工夫で解いている、と理解するのが実態に近いです。

次の行動

将棋やチェスのAIとブラウザ上で実際に対局したい場合は、アソバースで公開されている「灯りのチェス」を試してみてください。持ち駒ルールを体感したい方は将棋対局アプリをブラウザで検索してみると、AIの難易度選択や棋譜確認ができる作品が見つかります。AIの仕組みに興味が深まったら、将棋AIの開発者が公開している技術記事や公式ドキュメントを参照すると、評価関数の具体的な設計思想に触れられます。

参考資料

  • 将棋情報局(マイナビ出版)の将棋AI関連解説記事
  • AlphaZero技術論文(DeepMind公式発表資料)
  • Stockfish公式ドキュメント(オープンソースチェスエンジン)
  • やねうら王プロジェクト公式ドキュメント(オープンソース将棋エンジン)