Answers.Body: <p>It's been a long time since I programmed anything, so I may be wrong.</p>
  <p>Pondering, like in the comment, allows the computer to think on your time.  It basically switches sides and maintains a principle variation (PV search) (although I've seen some engines which maintain 3 PV searches) of what it considers to be the best line.  When you make your move, if it's the PV, then it should play the next move immediately.</p>
  <p>The problem with ponder is the probability of having a wrong evaluation/incorrect line in the PV.  If the opponent's move was made quickly, the computer may have a random move in the PV, not really a possibility with modern computers searching a 3 million NPS, but older computers 20 years ago did have this problem.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-03-02T18:39:34.277Z
Answers.LastActivityDate: 2021-03-02T18:39:34.277Z
Answers.UserDisplayName: Mike Jones
Body: <p>I've created my own chess engine and now I'm trying to connect it into the <code>Chess Arena</code>. Everything is actually working fine when I play them together (Demo). But I tried to play with it and didn't respond at my second move. So I looked at the console and there's this <code>go ponder</code> after my second move. Now I want to know: what's the idea of it?</p>
  <p>I tried to go to this <a href="http://wbec-ridderkerk.nl/html/UCIProtocol.html" rel="nofollow noreferrer">link</a> for me to understand, but it's not enough. It says when I receive that command, I need to start searching in pondering mode. What exactly is <code>start searching in pondering mode</code>? Is it an infinite search that gets the best move for the opponent and only stops after I moved?</p>
  <p>Let's say I move <code>e2e4</code>, engine plays <code>e7e5</code>. And then receives <code>go ponder</code>, after I move, let's say <code>g1f3</code>. And then the engine receives <code>ponderhit</code> and let's say the search completed depth 5 and result could be <code>bestmove g1f3 ponder something</code>. Now what happens if the <code>bestmove g1f3</code> matches my move?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-03-01T14:31:50.860Z
Comments.Text: When pondering is turned on, the engine is allowed to think in your time, not only its time. It will continue calculating the variation it thinks is the best continuation from your side.
Comments.UserDisplayName: B.Swan
Tags: <engines><uci>
Title: What is the idea of 'ponder' in the UCI protocol?
ThreadText: # What is the idea of 'ponder' in the UCI protocol?
  
  (Asked by: username_0 on 2021-03-01)
  
  I've created my own chess engine and now I'm trying to connect it into the `Chess Arena`. Everything is actually working fine when I play them together (Demo). But I tried to play with it and didn't respond at my second move. So I looked at the console and there's this `go ponder` after my second move. Now I want to know: what's the idea of it?
  
  I tried to go to this [link](http://wbec-ridderkerk.nl/html/UCIProtocol.html) for me to understand, but it's not enough. It says when I receive that command, I need to start searching in pondering mode. What exactly is `start searching in pondering mode`? Is it an infinite search that gets the best move for the opponent and only stops after I moved?
  
  Let's say I move `e2e4`, engine plays `e7e5`. And then receives `go ponder`, after I move, let's say `g1f3`. And then the engine receives `ponderhit` and let's say the search completed depth 5 and result could be `bestmove g1f3 ponder something`. Now what happens if the `bestmove g1f3` matches my move?
  
  **Tags:** engines, uci
  
  > **Comments:**
  > **username_1**: When pondering is turned on, the engine is allowed to think in your time, not only its time. It will continue calculating the variation it thinks is the best continuation from your side.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2021-03-02. Score: 1
  
  It's been a long time since I programmed anything, so I may be wrong.
  
  Pondering, like in the comment, allows the computer to think on your time. It basically switches sides and maintains a principle variation (PV search) (although I've seen some engines which maintain 3 PV searches) of what it considers to be the best line. When you make your move, if it's the PV, then it should play the next move immediately.
  
  The problem with ponder is the probability of having a wrong evaluation/incorrect line in the PV. If the opponent's move was made quickly, the computer may have a random move in the PV, not really a possibility with modern computers searching a 3 million NPS, but older computers 20 years ago did have this problem.
  
  
  ---
  
  