0

After the network is trained, how is a move selected in various neural-network chess engines?

I have seen several options like, go through every possible move and pick the one scored highest by the network. On the other hand, the alpha zero paper talks about various forms of tree search. It is not clear to me how they are used to play, and from the appendix apparently some other engines use very limited search, like depth 2.

This is a shortened version of Structure and parameters of modern AI-baed chess engines

Manu
  • 101
  • 1

1 Answers1

1

That's up to you and mainly depends on your budget:

  • if you want it to be as cheap as possible, you probably want to forward the state on the policy network and pick the move with the highest probability (only need one forward pass)
  • if you want to be a bit stronger, you can do a 1 step look ahead by either trying all possible moves and evaluating the state you end up being (chess has a branching factor of around 35), or you can just pick the top-k actions from the policy network (needs in the 10s of forward passes)
  • at the end, you have the full MCTS. At this point, it heavily depends on how much computation you want to spend... based on that, you can decide both the "breadth" (top K moves for each state) and the "depth" (how many moves forward to simulate). At the end, you usually just pick the move that leads you to the state with highest value (probability of winning)
Alberto
  • 2,863
  • 5
  • 12