* チュートリアル
 ----
 工事中
 #contents
 ----
 ** ランダムプレイヤー
 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 に指手が代入される
 ** 探索
 ** 評価関数
 - 駒割 [[Doxygen:PieceEval]]
 - 駒の関係 [[Doxygen:PiecePairEval]]
 - 定跡 [[Doxygen:OpeningBook]]
 ** その他
 


[ 編集 | 差分 | バックアップ | 添付 | リロード ]   [ 新規 | ヘルプ ] https://gps.tanaka.ecc.u-tokyo.ac.jp:443/osl/pukiwiki.php?%A5%C1%A5%E5%A1%BC%A5%C8%A5%EA%A5%A2%A5%EB トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS