Skip to content

Commit

Permalink
Rename adj_playouts -> adj_positions.
Browse files Browse the repository at this point in the history
  • Loading branch information
alreadydone committed Aug 24, 2018
1 parent d9aa806 commit c125528
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 21 deletions.
4 changes: 2 additions & 2 deletions src/GTP.cpp
Expand Up @@ -61,7 +61,7 @@ float cfg_max_wr;
float cfg_min_wr;
float cfg_wr_margin;
float cfg_target_komi;
int cfg_adj_playouts;
int cfg_adj_positions;
float cfg_adj_pct;
bool cfg_pos;
bool cfg_neg;
Expand Down Expand Up @@ -143,7 +143,7 @@ void GTP::setup_default_parameters() {

cfg_dyn_komi = false;
cfg_target_komi = 7.5f;
cfg_adj_playouts = 200;
cfg_adj_positions = 200;
cfg_adj_pct = 4.0;
cfg_pos = false;
cfg_neg = false;
Expand Down
2 changes: 1 addition & 1 deletion src/GTP.h
Expand Up @@ -44,7 +44,7 @@ extern float cfg_max_wr;
extern float cfg_min_wr;
extern float cfg_wr_margin;
extern float cfg_target_komi;
extern int cfg_adj_playouts;
extern int cfg_adj_positions;
extern float cfg_adj_pct;
extern bool cfg_pos;
extern bool cfg_neg;
Expand Down
12 changes: 6 additions & 6 deletions src/Leela.cpp
Expand Up @@ -88,7 +88,7 @@ static void parse_commandline(int argc, char *argv[]) {
("min-wr", po::value<float>(), "Minimal white winrate.")
("wr-margin", po::value<float>(), "White winrate is adjusted to min+margin or max-margin.")
("target-komi", po::value<float>(), "Target komi, default 7.5.")
("adj-playouts", po::value<int>(), "Number of positions to collect for komi adjustment, default 200; should be higher for strong machines to achieve more accurate komi adjustment.")
("adj-positions", po::value<int>(), "Number of positions to collect for komi adjustment, default 200; should be higher for strong machines to achieve more accurate komi adjustment.")
("adj-pct", po::value<float>(), "Percentage of collected positions to use for komi adjustment, default 4.")
("num-adj", po::value<int>(), "Maximal number of komi adjustments for each genmove, default 1.")
("pos", "Use positive komi (for side-to-move) only.")
Expand Down Expand Up @@ -264,15 +264,15 @@ static void parse_commandline(int argc, char *argv[]) {
cfg_target_komi = vm["target-komi"].as<float>();
}

if (vm.count("adj-playouts")) {
cfg_adj_playouts = vm["adj-playouts"].as<int>();
if (cfg_adj_playouts < 8) {
cfg_adj_playouts = 8;
if (vm.count("adj-positions")) {
cfg_adj_positions = vm["adj-positions"].as<int>();
if (cfg_adj_positions < 8) {
cfg_adj_positions = 8;
}
}

if (vm.count("adj-pct")) {
cfg_adj_playouts = vm["adj-pct"].as<float>();
cfg_adj_positions = vm["adj-pct"].as<float>();
}

if (vm.count("num-adj")) {
Expand Down
8 changes: 4 additions & 4 deletions src/UCTNodeRoot.cpp
Expand Up @@ -407,8 +407,8 @@ void UCTNode::prepare_root_node(Network & network, int color, // redundant argum
}

std::array<std::vector<std::shared_ptr<Sym_State>>, 2> ss;
ss[0].reserve(cfg_adj_playouts + cfg_num_threads);
ss[1].reserve(cfg_adj_playouts + cfg_num_threads);
ss[0].reserve(cfg_adj_positions + cfg_num_threads);
ss[1].reserve(cfg_adj_positions + cfg_num_threads);
for (auto i = 0; i < 2; i++) {
for (auto j = 0; j < cfg_num_threads; j++) {
ss[i].insert(ss[i].end(), search->sym_states[i][j].begin(),search->sym_states[i][j].end());
Expand Down Expand Up @@ -452,9 +452,9 @@ void UCTNode::prepare_root_node(Network & network, int color, // redundant argum

bool to_adjust = false;
// no need to collect ss[0] or ss[1] if cfg_pos or cfg_neg ..
if (search->collecting || (ss[0].size() >= cfg_adj_playouts && ss[1].size() >= cfg_adj_playouts)) {
if (search->collecting || (ss[0].size() >= cfg_adj_positions && ss[1].size() >= cfg_adj_positions)) {
to_adjust = true;
auto num_positions = ceil(cfg_adj_playouts * cfg_adj_pct / 100.0);
auto num_positions = ceil(cfg_adj_positions * cfg_adj_pct / 100.0);
for (auto i = 0; i < 2; i++) {
std::nth_element(ss[i].begin(), ss[i].begin() + num_positions, ss[i].end(),
[](std::shared_ptr<Sym_State>& sym_state1, std::shared_ptr<Sym_State>& sym_state2) {
Expand Down
16 changes: 8 additions & 8 deletions src/UCTSearch.cpp
Expand Up @@ -221,15 +221,15 @@ SearchResult UCTSearch::play_simulation(GameState & currstate,
rand_sym = cfg_fixed_symmetry;
}
success = node->create_children(m_network, m_nodes, currstate, eval, get_min_psa_ratio(), rand_sym);
if (success && sym_states[color][thread_num].size() * cfg_num_threads < cfg_adj_playouts) {
if (success && sym_states[color][thread_num].size() * cfg_num_threads < cfg_adj_positions) {
auto sym_state = std::make_shared<Sym_State>();
auto color = currstate.get_to_move();
(*sym_state).symmetry = rand_sym;
(*sym_state).state = currstate;
(*sym_state).winrate = (color == FastBoard::BLACK ? eval : 1.0f - eval);
//LOCK(get_mutex(), lock);
sym_states[color][thread_num].push_back(sym_state);
if ((sym_states[color][thread_num].size() - 1) * cfg_num_threads >= cfg_adj_playouts) {
if ((sym_states[color][thread_num].size() - 1) * cfg_num_threads >= cfg_adj_positions) {
//sym_states[color][thread_num].pop_front();
}
}
Expand Down Expand Up @@ -782,11 +782,11 @@ int UCTSearch::think(int color, passflag_t passflag) {
if (num_adjustments < cfg_max_num_adjustments
&& elapsed_centis * 2.0f < time_for_move
&& m_playouts * 2 < m_maxplayouts) {
auto adj_playouts0 = std::accumulate(sym_states[0].begin(), sym_states[0].end(), 0,
auto adj_positions0 = std::accumulate(sym_states[0].begin(), sym_states[0].end(), 0,
[](int p, std::deque<std::shared_ptr<Sym_State>> q) {return p + q.size(); }),
adj_playouts1 = std::accumulate(sym_states[1].begin(), sym_states[1].end(), 0,
adj_positions1 = std::accumulate(sym_states[1].begin(), sym_states[1].end(), 0,
[](int p, std::deque<std::shared_ptr<Sym_State>> q) {return p + q.size(); });
if (adj_playouts0 >= cfg_adj_playouts && adj_playouts1 >= cfg_adj_playouts) {
if (adj_positions0 >= cfg_adj_positions && adj_positions1 >= cfg_adj_positions) {
to_adjust = true;
num_adjustments++;
break;
Expand Down Expand Up @@ -891,11 +891,11 @@ void UCTSearch::ponder(bool analyzing) {
|| m_rootstate.m_opp_komi != cfg_target_komi)))) {
collecting = true;
if (analyzing && num_adjustments < cfg_max_num_adjustments) {
auto adj_playouts0 = std::accumulate(sym_states[0].begin(), sym_states[0].end(), 0,
auto adj_positions0 = std::accumulate(sym_states[0].begin(), sym_states[0].end(), 0,
[](int p, std::deque<std::shared_ptr<Sym_State>> q) {return p + q.size(); }),
adj_playouts1 = std::accumulate(sym_states[1].begin(), sym_states[1].end(), 0,
adj_positions1 = std::accumulate(sym_states[1].begin(), sym_states[1].end(), 0,
[](int p, std::deque<std::shared_ptr<Sym_State>> q) {return p + q.size(); });
if (adj_playouts0 >= cfg_adj_playouts && adj_playouts1 >= cfg_adj_playouts) {
if (adj_positions0 >= cfg_adj_positions && adj_positions1 >= cfg_adj_positions) {
to_adjust = true;
num_adjustments++;
break;
Expand Down

0 comments on commit c125528

Please sign in to comment.