6

I'm trying to understand stockfish Ponder functionality. I'm very interested to let stockfish think when the opponent is thinking. From what I understand you can do it as follows

$> uci $> ucinewgame $> position startpos moves e2e4 $> go wtime 599999 btime 600000 ... // after 2 seconds bestmove d8a5 ponder a2a4 $> go ponder wtime 599999 btime 598000 // wait for opponent --> a2a4 (ponderhit) $> ponderhit bestmove a7a5 ponder b2b4 

But there is also a Ponder option

$> setoption name Ponder value on 

No matter what I set it too

$> setoption name Ponder value 3 

it doesn't complain and I'm not sure what it does. The behaviour is identical, I still have to manually do go ponder.... How should I use this option and what exactly does it do?

1 Answer 1

4

The only purpose of the "Ponder" UCI option in Stockfish is to inform the engine about that you will use pondering so that it can consider this fact in its time management, as can be seen in https://github.com/official-stockfish/Stockfish/blob/46ce245763705c89dba60dcfda549dc1f64eb48b/src/timeman.cpp#L131-L132:

 if (Options["Ponder"]) optimumTime += optimumTime / 4; 

Since the option is boolean, you should enable it by setting it to "true", i.e.:

setoption name Ponder value true 

Stockfish will then use a more aggressive time management, since it knows that it will also be able to use the opponent's thinking time.

This is consistent with how the UCI protocol defines the ponder option:

 * = Ponder, type check this means that the engine is able to ponder. The GUI will send this whenever pondering is possible or not. Note: The engine should not start pondering on its own if this is enabled, this option is only needed because the engine might change its time management algorithm when pondering is allowed. 
2
  • I just noticed that when I do go ponder it seems that it starts calculate for the current position, not for the ponder move. Should I update the position first? Commented Jun 15, 2019 at 19:05
  • 1
    This should be answered by chess.stackexchange.com/questions/14216/… (the short answer is "yes"). Commented Jun 15, 2019 at 19:21

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.