[Pachi] Question about UCT tree structure

Jonathan Ho hoj at cs.stanford.edu
Fri Apr 22 09:43:39 CEST 2016


Hello,

First off, I'd like to thank you for making Pachi open source. It's really
fantastic for people interested in Go to have a strong engine available for
free use.

I'm interested in writing Python wrappers for the various primitives in
Pachi, such as boards and engines. In particular, I'm trying to make the
UCT code accessible as a library, so that a user can give the UCT engine a
board and ask it for a move.

I have a question about the "board" member of the "tree" structure, defined
here:
https://github.com/pasky/pachi/blob/master/uct/tree.h#L103

It seems that all of the UCT code assumes that this board stays in memory
during the entire duration of existence of the uct engine (from
engine_uct_init until uct_done), because the tree is stored inside the uct
data structure.

What is the meaning of this particular board? Is it safe to modify the tree
structure so that it instead keeps a copy of a board instead of a pointer
to it (i.e. modify tree_init to copy the board argument)? If not, does this
mean that with a uct engine, I must keep track of an associated board that
it operates on, and ensure that it is never deallocated over the course of
the engine's lifetime?

Any help is much appreciated. Thanks!

Jonathan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rover.ms.mff.cuni.cz/pipermail/pachi/attachments/20160422/9b66a2b3/attachment.html>


More information about the Pachi mailing list