使い方

(準備中)

#index

これは何?

USIプロトコルに対応したプログラムを少し改変したクライアントをsshで複数起動して、手分けして探索を行うための枠組み。

参考:

準備

推奨環境: (vmware等でも可)

GPS将棋(gpsusi)の準備

  1. ツールのインストール
    sudo apt-get install g++ libboost-xxx.dev (xxxは可能なパッケージで一番新しいもの) libcppunit-dev
  2. ダウンロード
  1. おまじない
    (cd osl; ln -s ../gpsshogi/data)
  2. コンパイル (逐次版)
    n=コアの数
    (cd osl/lib/third_party/tcmalloc-0.93; make -j $n)
    (cd osl/release; make -j $n)
    (cd gpsshogi/bin; make -j $n gpsusi RELEASE=t)
  3. 実行
     ./gpsshogi/bin/gpsusi --benchmark

ステップ1: gpsusiを用いた分散探索

  1. cd gpsshogi/sample/perl-cluster
  2. config を編集 (config.sample あり)
    • #がコメント
    • 1行目が、定跡や合法手生成等の思考以外の機能のためのコマンド
    • 2行目以降に思考を行うslaveの指定 (速さが異なる場合は速い順を想定) たとえば、 /path/to/gpsusi を3行ほど書いておくと、2並列で探索します。
  3. 起動 ./usi.pl -c config: usi.pl が(一部の機能のみに対応した)USIエンジンとしてふるまいます
    usi
    isready
    position startpos
    go infinite
    stop
    quit
  4. debug
    • log 以下に、各slaveとのやりとりの記録がファイルに残されます。
    • サーバのログはstderr に出ますが、一部は log/job_queue.txt に書かれます。(ファイル名は歴史的なもので内容はqueueとは関係ありません)
    • io-0.txt が雑要用のスレーブの入出力。io-1.txt 移行が探索用スレーブの入出力。

ステップ2: 探索部分を自作プログラムに置き換える

configの1行目をgpsusiにしたまま2行目以降を自作プログラムを指定すると、基本的に自作プログラムでの探索となる。ステップ1で動かした時のio-1.txtと同じ文法で応答できればOK.

対応が必要な入力:

期待される出力:

ステップ3: すべてを自作プログラムに置き換える

configの1行目を置き換えると、gpsusiを完全に排除した分散探索となる。1行目の担当は、定跡、合法手生成、勝ち宣言など。ステップ1で動かした時のio-0.txtと同じ文法で応答できればOK.

使い方

問題を解く

./usi.pl -f problems/001.usi

shogi-server でyowai_gpsと対戦

./csa2usi.pl --csa_host wdoor.c.u-tokyo.ac.jp --usi_engine "./usi.pl" --csa_id your_name --csa_pw yowai_gps-1500-0 --sec_limit=1500 --sec_limit_up=0

(後日記述追加予定)



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS