From 8ae5f011c720001c79e0e6ac54a954836ed180c8 Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Fri, 2 Oct 2009 15:35:14 +0200 Subject: [PATCH] tree_merge_node(): Do not merge unchanged nodes --- uct/tree.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/uct/tree.c b/uct/tree.c index f1ad01d..7573a8a 100644 --- a/uct/tree.c +++ b/uct/tree.c @@ -241,6 +241,14 @@ tree_copy(struct tree *tree) static void tree_node_merge(struct tree_node *dest, struct tree_node *src, bool amaf_prior) { + /* Do not merge nodes that weren't touched at all. */ + assert(dest->pamaf.playouts == src->pamaf.playouts); + assert(dest->pu.playouts == src->pu.playouts); + if (src->amaf.playouts - src->pamaf.playouts == 0 + && src->u.playouts - src->pu.playouts == 0) { + return; + } + dest->hints |= src->hints; /* Merge the children, both are coord-sorted lists. */ -- 2.11.4.GIT