Skip to content

tttak/Gikou

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

将棋ソフト「技巧」

「技巧」は、2016年の世界コンピュータ将棋選手権で準優勝した将棋ソフトです。 人間的な評価項目(1駒の損得、2駒の効率、3玉の堅さ、4手番)を考慮した隙のない形勢判断などを特徴としています。

オープンソース・ソフトですので、どなたでも無料でお使いいただけます。 「将棋所」や「ShogiGUI」などのソフトに登録してご利用ください。

技巧に関する最新情報は、Twitter(@gikou_shogi)でお知らせしていく予定です。

技巧のダウンロード

技巧(Windows版)は、以下のリンクから入手できます。 皆様の将棋のご検討などにお役立ていただけますと幸いです。

技巧の動作環境は、以下のとおりです。 (新しい技術を使っている関係で、古いパソコンでは動作しない場合もございます。)

  • OS: 64ビット対応OS(Windows 7/8/10、Max OS X、Ubuntu Linux 14.04など)
  • CPU: SSE 4.2 対応のCPU(インテルの Core-i シリーズのCPUを推奨)
  • メモリ: 1GB以上の空きメモリ
  • ディスク: 512MB以上の空きがあるHDD・SSD(SSDのほうが快適です)

使い方

  1. 将棋所 または ShogiGUI をあらかじめインストールしておきます
  2. 技巧のzipファイルを任意の場所に解凍します(ファイルはすべて同じフォルダに配置してください)
  3. 将棋所 または ShogiGUI を起動します
  4. 将棋所 または ShogiGUI に技巧の実行ファイル(gikou.exe)を登録します
  5. 必要に応じて、技巧のオプションを設定してみてください(定跡などの設定ができます)

設定の方法など、詳しい使い方については、将棋所 や ShogiGUI のホームページをご覧ください。

開発者の皆様へ

現在のところ、技巧の推奨開発環境は、以下のとおりです。

  • OS: Ubuntu Linux 14.04以上, Mac OS X 10.9.5以上
  • コンパイラ等: g++ 4.8以上, make

技巧は、C++11で書かれており、コーディング規約等は概ね以下のページを参考にしています。

技巧の技術的特徴については、以下のスライドをご参照ください。

バグ、不具合、コメントの誤字脱字等を発見をされましたら、ご報告いただけますと幸いです。

コンパイルの方法

技巧をソースコードからコンパイルする場合は、以下のようにコマンドを実行してください。

Windowsの場合

cd Gikou
make gikou

Mac / Linuxの場合

cd Gikou
make release

学習等の方法

Step 0. 事前準備

  1. 学習に使うコンピュータの準備
  • CPU: SSE 4.2 対応のCPU(性能が高いほど学習時間が短くて済みます)
  • メモリ: 16GB以上の空きメモリ(32GB以上のメモリを推奨)
  1. 棋譜データベースファイルの準備
  • 棋譜データベースファイルを準備して、技巧の実行ファイルと同じフォルダに配置してください。
  • 読み込みに対応している棋譜DBの文字エンコーディングは、UTF-8です。
  • 棋譜DBのファイル名は、"kifu.txt"としてください。

Step 1. 進行度の学習

以下のコマンドを入力すると、進行度(序盤〜終盤を0〜1の値で表したもの)の学習が行われます。 進行度の学習時には探索が行われないため、評価関数の学習等と比較すると短時間で学習できると思います。

./release --learn-progress

Step 2. 評価関数の学習

以下のコマンドを入力すると、評価関数の学習が行われます。 現在の実装では、Core i7-3930K(6コアCPU)を用いた場合、学習に要する時間は1日弱程度です。

./release --learn

注意:評価関数の学習は、Step 1.を終えてから行ってください。

Step 3. 指し手の実現確率の学習

以下のコマンドを入力すると、指し手の実現確率の学習が行われます。

./release --learn-probability

注意:指し手の実現確率の学習は、Step 1.とStep 2.を終えてから行ってください。

Step 4. 定跡データベースの作成

以下のコマンドを入力すると、定跡データベースの作成が行われます。 現在の実装では、すべての定跡手を28手読みで検討して評価値を付けるため、非常に長い時間がかかります。

./release --create-book

注意:定跡データベースの作成は、Step 1.からStep 3.までを終えてから行ってください。

謝辞

技巧の開発にあたっては、様々な文献やソースコードを参照いたしました。 主要なものについては、ソースコードのコメントやアピール文書等に参考文献として記載させていただいております。 こうした先人の偉大な研究がなければ、技巧を開発することは全く不可能でした。 この場をお借りして、心より御礼申し上げます。

「技巧」開発者 出村洋介

About

将棋ソフト「技巧」

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 99.7%
  • Makefile 0.3%