On Dec 13, 2009, at 11:30 AM, Corey Harris <charri...@gmail.com> wrote:
Was looking for a basic UCT data structure. I guess a tree structure
is created in memory. How is this managed, because memory can be
exausted pretty fast.
It isn't as fast as you might think. You want to use zobrist hashing
for looking up nodes. IIRC, Many Faces discards the search tree after
each move and simply does not create more nodes when it runs out of
memory.
>>• record results for all visited nodes____________________________
___________________
Where do you record the results?
Logically, every node in the search tree has an estimated win rate.
It's also possible to store the win rate of all follow-up moves for a
given node. That's friendlier on the cache but uses more memory per
node. I'm unsure what most bots do.
tracking of win rates can be done in a few different ways:
• Total simulations, Win percentage
• Total simulations, # of wins
• Total simulations, # of wins - # losses
• # of wins, # of losses
More important than how to store those values is how they're
initialized based on domain knowledge.
I appologize for the simple questions, I'm new at this.
On Sun, Dec 13, 2009 at 9:48 AM, Jason House <jason.james.ho...@gmail.com
> wrote:
On Dec 13, 2009, at 9:38 AM, Corey Harris <charri...@gmail.com> wrote:
I know this is a simple issue but I'm not sure of the solution. I am
currently in the very early stages of writing a go engine. I have
the board state and simple opening library implemented (no play
logic yet). I'm would like to output debugging/developnent output
statements to the gogui shell window. If the engine sends printf
("some output\n"); gogui says "Sent a malformed response". If it
fprintf(stderr, "some output\n"); nothing is displayed.
How can you print messages to the shell without disrupting the
message protocol?
Writing to stderr works fine for me, but gogui does not show shell
output immediately. It waits until some point in overall execution
before showing anything in the shell output.
Also, is there a site that describes the workings of a UCT bot in
detail similiar to some chess programming tutorial sites?
Not that I'm aware of, but senseis.xmp.net might be a good place to
start. Basic UCT is simple:
• always start at tree root
• pick the child with the highest metric (upper confidence bound on
win rate)
• repeat last step until you reach a leaf
• if simulations of the leaf > N, expand leaf and pick child with hi
ghest metric
• play random game
• record results for all visited nodes______________________________
_________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/