Lc0 Evaluation Explanation

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

crem
Posts: 177
Joined: Wed May 23, 2018 9:29 pm

Re: Lc0 Evaluation Explanation

Post by crem »

Code: Select all

e2e4 (123) N: 329 (+ 4) (V: -12.34%) (P:38.12%) (Q: -0.2325) (U: 0.2394) (Q+U: 0.0069)
 ^    ^       ^    ^      ^           ^          ^            ^           ^
 |    |       |    |      |           |          |            |           Q+U, see below
 |    |       |    |      |           |          |           U from PUCT formula,
 |    |       |    |      |           |          |           see below.
 |    |       |    |      |           |         Average value of V in a subtree
 |    |       |    |      |          Probability of this move, from NN, 0%..100%
 |    |       |    |     Expected outcome for this position, directly from NN, -100%..100%
 |    |       |   How many visits are processed by other threads when this is printed.
 |    |      Number of visits. The move with maximum visits is chosen for play.
Move  |
    Internal move id (for debugging)

* U = P * Cpuct * sqrt(sum of N of all moves) / (N + 1)
  CPuct is a search parameter, can be changed with a command line flag.
* The move with largest Q+U will be visited next
* The move with the highest N is played when search is stopped
See also same formula here: https://slides.com/crem/lc0#/9
Hamster
Posts: 26
Joined: Sat May 25, 2013 6:38 pm
Location: Wien

Re: Lc0 Evaluation Explanation

Post by Hamster »

Nice that the most useful explanation came right on my birthday :mrgreen:

Yes, useful was meant from a chess point of view. More specifically I am looking for ideas on how to decide between
different moves for correspondence chess (CC) but also for an OTB opening repertoire. In CC often times one prefers
complex positions to simple ones and one tries to avoid drawing lines and I am hoping to get such info from the lc0
output. Exciting would be to see the draw-percentage from the playouts.