From d450d3b9ea600e26c5b70b3ad90ca855acac005c Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Fri, 19 Sep 2008 01:51:37 +0200 Subject: [PATCH] UCT Book: Use even if playing second move as white --- genmove.gtp | 2 +- uct/uct.c | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/genmove.gtp b/genmove.gtp index 3109543..8ba6795 100644 --- a/genmove.gtp +++ b/genmove.gtp @@ -1,5 +1,5 @@ boardsize 9 clear_board -komi 0 +komi 7.5 genmove black genmove white diff --git a/uct/uct.c b/uct/uct.c index 436753e..55ddc1b 100644 --- a/uct/uct.c +++ b/uct/uct.c @@ -167,17 +167,24 @@ static coord_t * uct_genmove(struct engine *e, struct board *b, enum stone color) { struct uct *u = e->data; + bool loaded = false; if (!u->t) { tree_init: u->t = tree_init(b, color); //board_print(b, stderr); - if (!b->moves) + if (!b->moves) { tree_load(u->t, b); + } else if (b->moves == 1 && !loaded) { + tree_load(u->t, b); + loaded = true; + goto promotion; + } } else { /* XXX: We hope that the opponent didn't suddenly play * several moves in the row. */ +promotion: for (struct tree_node *ni = u->t->root->children; ni; ni = ni->sibling) if (ni->coord == b->last_move.coord) { tree_promote_node(u->t, ni); -- 2.11.4.GIT