Extension stage in MCTS

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

sovaz1997
Posts: 261
Joined: Sun Nov 13, 2016 10:37 am

Extension stage in MCTS

Post by sovaz1997 »

How is the extension stage in MCTS implemented? Do we expand by adding a random move and do simulations or do we add all the moves and do simulations for all the moves?

Thanks!
Zevra 2 is my chess engine. Binary, source and description here: https://github.com/sovaz1997/Zevra2
Zevra v2.5 is last version of Zevra: https://github.com/sovaz1997/Zevra2/releases
Gerd Isenberg
Posts: 2250
Joined: Wed Mar 08, 2006 8:47 pm
Location: Hattingen, Germany

Re: Extension stage in MCTS

Post by Gerd Isenberg »

Guess you mean expansion strategy ... using the UCB1 formula, see
https://www.youtube.com/watch?v=UXW2yZndl7U
trulses
Posts: 39
Joined: Wed Dec 06, 2017 5:34 pm

Re: Extension stage in MCTS

Post by trulses »

In "your typical MCTS" you use your tree policy to pick moves while you're in already expanded nodes. Like Gerd says this might be UCB1 or something to that effect. When you eventually reach a position that's outside your tree you then add it as a leaf node and run your evaluation function and back that value up the tree. This evaluation function might be a neural net like in A0 or random rollouts to terminal states what have you. No need to add any more moves in this leaf node.
sovaz1997
Posts: 261
Joined: Sun Nov 13, 2016 10:37 am

Re: Extension stage in MCTS

Post by sovaz1997 »

Thank! I seem to understand how this works. :)
Zevra 2 is my chess engine. Binary, source and description here: https://github.com/sovaz1997/Zevra2
Zevra v2.5 is last version of Zevra: https://github.com/sovaz1997/Zevra2/releases