* チュートリアル [#rfd270fa] ---- 工事中 #contents ---- ** ランダムプレイヤー [#i664008e] sample/random_play.cc 参照 http://gps.tanaka.ecc.u-tokyo.ac.jp/osl/osl/doc/html/random__play_8cc-source.html - 将棋番 - 手生成 ** 目的別手生成 [#td45d470] [[解説/指手生成]] ** 詰将棋を呼ぶ手順 [#w8a10ffe] [[SamplePrograms/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 に指手が代入される ** 探索 [#nb95da81] ** 評価関数 [#g17be3ae] - 駒割 [[Doxygen:PieceEval]] - 駒の関係 [[Doxygen:PiecePairEval]] - 定跡 [[Doxygen:OpeningBook]] ** その他 [#qe675bbc]