diff --git a/gnugo/interface/main.c b/gnugo/interface/main.c index 2a8b00d..7711e43 100644 --- a/gnugo/interface/main.c +++ b/gnugo/interface/main.c @@ -250,7 +250,7 @@ gnugo_analyze_dragon_status(int* moves, uint8_t* critical) } genmove(gameinfo.to_move, NULL, NULL); - + for (int pos = BOARDMIN; pos < BOARDMAX; pos++) { color = board[pos]; if (!IS_STONE(color)) @@ -275,12 +275,14 @@ gnugo_analyze_dragon_status(int* moves, uint8_t* critical) size = dragon[dragon2[d].origin].size; enum dragon_status safety = dragon2[d].safety; + /* if (is_worm_origin(pos, pos)) { gprintf("\nanalyzing %C %1m size:%d\n", color, dragon2[d].origin, size); gprintf("status=%s, safety=%s -> %d\n", snames[dragon2[d].owl_status], snames[safety], safety_map[safety]); } + */ int x = J(pos); int y = I(pos); diff --git a/src/UctSearch.cpp b/src/UctSearch.cpp index b6bbba3..2680f10 100644 --- a/src/UctSearch.cpp +++ b/src/UctSearch.cpp @@ -1506,7 +1506,7 @@ ParallelUctSearch( thread_arg_t *arg ) CheckSeki(targ->game, seki); #if 1 - if (threads == 1 || threads > 1 && targ->thread_id == 1) { + if (targ->game->moves > pure_board_size * 3 - 17 && (threads == 1 || threads > 1 && targ->thread_id == 1)) { auto req = CreateGnugoReq(targ->game); req->tree_depth = 1; req->gnugo_depth = 1; @@ -1728,6 +1728,7 @@ UctSearch(game_info_t *game, int color, mt19937_64 *mt, LGR& lgrf, LGRContext& l game->record[game->moves - 2].pos == PASS; #if 1 if (uct_child[next_index].move_count > 1000 + && game->moves > pure_board_size * 3 - 17 && uct_child[next_index].move_count % 100 == 0 && atomic_compare_exchange_strong(&uct_child[next_index].eval_gnugo, &expected, true)) { LOCK_EXPAND;