when viewing output from an UCI compatible engine in Arena, the output shows the ply with either a '+', '-', or nothing behind it, such as
12
12+
12+
When monitoring the output from the engine, the +/-/blanks codes map to:
+ = upperbound
- = lowerbound
blank = ?
in code, when writing to UCI, does the upperbound mean a beta cutoff occurred, or does it mean that alpha is the "upper bound" since the score failed lower than alpha?
and what does blank mean? i thought that that might refer to the exact score, but sometimes there are two blank entries in a row, such as:
14+
13
13
13-
what is the practice here? some possible outputs are anytime alpha is raised, anytime there is a beta cutoff, whenever there is an exact score found.
UCI upperbound and lowerbound
-
- Posts: 68
- Joined: Tue Jun 02, 2015 11:02 pm
- Real Name: Vince
UCI upperbound and lowerbound
"An Engine's strength flows from the Search. But beware, pruning, extensions, reductions; the dark side of the Search are they. Once you start down the dark path, it will dominate and consume you, as it has to so many developers before.” -- Yoda
-
- Posts: 190
- Joined: Sun Jul 14, 2013 10:00 am
- Real Name: H.G. Muller
Re: UCI upperbound and lowerbound
Engines that use aspiration of the search window in the root, instead of setting it to {-INF, INF} can have fail highs (beta cutoffs) or fail lows in the root. The returned score is then a lower bound or a upper bound, respectively. This is what the UCI keywords indicate. How the GUI displays it, is the choice of the GUI designer. Most logical solution would be to write a + or - with the score, e.g. 1.25+ indicating a score of at least 1.25 (i.e. a lower bound).
Some engines print a PV only at the end of the iteration. Other engines print one every time they find a better move. The score then should increase for every next PV of the same depth. That is a choice of the engine designer. Some engines even make that subject to an interactive option that the user can set.
Some engines print a PV only at the end of the iteration. Other engines print one every time they find a better move. The score then should increase for every next PV of the same depth. That is a choice of the engine designer. Some engines even make that subject to an interactive option that the user can set.