実戦詰将棋研究会
ホーム記事 › 詰将棋データセットの作り方|floo…

詰将棋データセットの作り方|floodgate棋譜から抽出してエンジンで検証する

実戦詰将棋研究会 更新: 2026-09-15

将棋アプリや教材に詰将棋を組み込みたいとき、問題を手作りするのは現実的ではありません。ここでは、公開されている対局棋譜から詰将棋を自動抽出する方法を紹介します。当サイトの1,631問はこの方法で作られています。

1. 棋譜を集める

コンピュータ将棋の対局サーバー floodgate(wdoor.c.u-tokyo.ac.jp)は、過去の対局をCSA形式で公開しています。強いプログラム同士の対局が大量にあるため、終盤の局面も質が高く、詰将棋の素材として最適です。

2. 各局面で「ちょうどN手詰め」かを判定する

棋譜を1手ずつ再生し、各局面で詰み探索を行います。詰み探索には cshogipython-shogi といったライブラリから USI エンジン(やねうら王など)を呼び出して go mate を使う方法が簡単です。N手詰めが見つかり、かつ N-2 手では詰まないことを確認すれば「ちょうどN手詰め」です。

3. 正規化と重複除去

4. 再検証とフィルタ

抽出した局面を別のエンジン設定で再検証し、詰み手順(PV)を USI 形式と日本語棋譜の両方で保存します。盤上の駒が極端に多い局面や、詰め上がりが平凡すぎる局面(例:残り持駒が大量にある1手詰め)は、教材としての質を保つために除外するとよいでしょう。

5. 盤面画像を生成する

Pillow などで SFEN から盤面図を描画すれば、本・プリント・SNS 投稿にそのまま使えます。当サイトの盤面図メーカーはブラウザ上で同じことをする無料ツールです。

できあがったデータセット

この手順で作った 1,631 問(1手〜7手、SFEN・USI手順・日本語棋譜・盤面PNG・CSV/JSON)を、商用利用可のデータ集として販売しています。将棋アプリの詰将棋モード、教室教材、機械学習の教師データにご利用ください。データ集の詳細

関連記事