チュートリアル


工事中


ランダムプレイヤー

sample/random_play.cc 参照 http://gps.tanaka.ecc.u-tokyo.ac.jp/osl/osl/doc/html/random__play_8cc-source.html

  • 将棋番
  • 手生成

目的別手生成

解説/指手生成

詰将棋を呼ぶ手順

サンプルプログラムの紹介/checkstatも参照.

  • 必要なファイルをincludeしておく
  • namespace利用宣言をしておく
    using namespace osl;
    using namespace osl::checkmate;
  • 局面を用意する
      HashEffectState state;
  • パスエンコーディングを用意する
     const PathEncoding path(state.getTurn());
    • なお、真面目にGHI対策をするには指手の履歴からパスエンコーディングを作る必要がある
  • 探索用オブジェクトを用意する
    DualCheckMateSearcher<HashEffectState,DominanceTable> searcher;
  • 詰将棋を呼ぶ
    • 先手が後手を詰める手順があるかどうかを調べる場合、は以下のように呼ぶ
      Move checkMateMove;
      const bool win = searcher.
        isWinningStateSlow(limit, state, path, checkMateMove);
    • 真偽値で詰むかどうかの結果が返る
    • limit は探索ノード数
    • 詰む場合はcheckMateMove? に指手が代入される

探索

評価関数

その他



[ 編集 | 凍結 | 差分 | バックアップ | 添付 | リロード ]   [ 新規 | ヘルプ ] https://gps.tanaka.ecc.u-tokyo.ac.jp:443/osl/index.php?%A5%C1%A5%E5%A1%BC%A5%C8%A5%EA%A5%A2%A5%EB トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-04-07 (土) 18:19:57 (6222d)