46 unsigned int table_limit,
47 volatile int *stop_flag,
59 static_cast<unsigned int>(table_limit * gc_ratio),
61 simulator(state, mg, path, table, isscheme, verbose),
71 tsumero_cost(tsumero_cost),
72 tsumero_estimate(tsumero_estimate),
75 blockByAttackBack(0), blockByPass(0),
77 attack_node_under_attack_count(0),
78 attack_node_moves_count(0),
79 defense_node_count(0),
80 defense_node_under_attack_count(0),
81 defense_node_moves_count(0),
82 pass_count(0), pass_success_count(0),
83 pass_attack_count(0), pass_attack_success_count(0),
84 sibling_defense_count(0), sibling_defense_success_count(0),
85 sibling_attack_count(0), sibling_attack_success_count(0),
86 isshogi_defense_count(0), isshogi_defense_success_count(0),
87 isshogi_attack_count(0), isshogi_attack_success_count(0),
88 immediate_win(0), immediate_lose(0),
90 proof_without_inversion_count(0), proof_AND_count(0), disproof_by_inversion_count(0)
103 std::cerr <<
"NtesukiSearcher \n"
104 <<
"IWScheme:\t" << iwscheme <<
"\n"
105 <<
"PSScheme:\t" << psscheme <<
"\n"
106 <<
"ISScheme:\t" << isscheme <<
"\n"
108 <<
"Tsumero cost:\t" << tsumero_cost <<
"\n"
109 <<
"Tsumero estimate:\t" << tsumero_estimate <<
"\n"
112 std::cerr <<
"enhancements: ";
114 std::cerr <<
" PTT_UNCLE";
116 std::cerr <<
" PTT_SIBLINGS_FAIL";
118 std::cerr <<
" PTT_SIBLINGS_SUCCESS";
120 std::cerr <<
" DELAY_NON_PASS";
122 std::cerr <<
" PASS_SIMULATION";
124 std::cerr <<
" DELAY_INTERPOSE";
126 std::cerr <<
" DELAY_NOPROMOTE";
128 std::cerr <<
" DELAY_NON_ATTACK";
130 std::cerr <<
" READ_ATTACK_ONLY";
132 std::cerr <<
" PTT_NON_ATTACK";
134 std::cerr <<
" USE_DOMINANCE";
144 std::cerr <<
"~NtesukiSearcher "
147 <<
"/" << read_node_limit <<
"\t"
148 <<
"pass(" << pass_success_count <<
"/" << pass_count <<
")\n"
151 << attack_node_under_attack_count <<
"/"
152 << attack_node_count <<
"\t"
153 << attack_node_moves_count <<
"moves\n"
156 << defense_node_under_attack_count <<
"/"
157 << defense_node_count <<
"\t"
158 << defense_node_moves_count <<
"moves\n"
160 <<
"immidate(" << immediate_win <<
", "
161 << immediate_lose <<
")\n"
163 <<
"attack_back(" << attack_back_count <<
")\n"
165 <<
"sibling_success(" << sibling_defense_success_count
166 <<
"/" << sibling_defense_count <<
")\n"
167 <<
"sibling_fail(" << sibling_attack_success_count
168 <<
"/" << sibling_attack_count <<
")\n"
170 <<
"is_att(" << isshogi_attack_success_count
171 <<
"/" << isshogi_attack_count <<
")\t"
172 <<
"is_def(" << isshogi_defense_success_count
173 <<
"/" << isshogi_defense_count <<
")\n"
175 <<
"inversion_win(" << disproof_by_inversion_count
176 <<
"/" << proof_AND_count
177 <<
"/" << proof_without_inversion_count <<
")\n"
199 template int NtesukiSearcher::search<BLACK>();
200 template int NtesukiSearcher::search<WHITE>();