KomoringHeights は、df-pn+アルゴリズムを用いたやねうら王ベースの詰将棋エンジンです。 局面の優劣関係、厳密な千日手検出、局面の合流検出と二重カウント回避など、詰将棋特有の探索技法が実装されており、 詰み/不詰の判定を高速に行うことができます。
KomoringHeights 本体は source/engine/user-engine
以下に格納されています。
それ以外はほぼすべてやねうら王由来のファイルとなっています。
Releases からお使いのOSに合ったバイナリをダウンロードしてください。 KomoringHeightsを動かすには、将棋所、ShogiGUI、 Electron将棋、 ShogiDroidなどのUSIプロトコルに対応したGUIを利用してください。
USIプロトコルの検討機能(go ...
)および詰将棋解答機能(go mate ...
)の両方に対応しています。
使用するGUIソフトの仕様に応じて使い分けてください。
詳細なエンジンオプションについては EngineOptions を参照してください。
ソースからビルドするには以下のコマンドを使用します。
git clone https://github.com/komori-n/KomoringHeights.git
cd KomoringHeights/source
make normal TARGET_CPU=AVX2 COMPILER=clang++
お使いのCPUに合わせて TARGET_CPU=
の部分を書き換えてください。
TARGET_CPU
に指定可能な文字列の一覧は source/Makefile
を参照してください。
また、ビルドには C++17 対応のコンパイラが必要になります。 GCC 11、Clang 14 より新しいコンパイラのみ動作確認をしています。 これらより古い環境ではサポート対象外となるのでご注意ください。
詰将棋エンジンを作る上で参考にした文献等についてはReferencesを参照してください。
Doxygenから自動生成したドキュメントは以下を参照してください。
バグの報告や機能要望などはIssueへお願いします。
Pull Requestも大歓迎です。Pull Requestを作成する場合、事前に .pre-commit-config.yaml
の pre-commit チェックが通ることを確認してください。
Licensed under GPLv3.
KomoringHeights実装本体は source/engine/user-engine
に格納されています。
それ以外のファイルについては やねうら王 のライセンスを併せてご確認ください。
KomoringHeightsを使用してコンピュータ将棋大会等へ参加する場合、改変の有無にかかわらず事前に許可を取る必要はありません。 もし使用していただける場合、アピール文書等で言及していただけると嬉しいです。