Answers.Body: <p>Your logic is flawed because you negated "stand-pat" (i.e. do nothing) and alpha-beta. Let's take a look at the pseudocode (<a href="https://www.chessprogramming.org/Quiescence_Search#Pseudo_Code" rel="nofollow noreferrer">https://www.chessprogramming.org/Quiescence_Search#Pseudo_Code</a>):</p>
  
  <pre><code>int Quiesce( int alpha, int beta ) {
      int stand_pat = Evaluate();
      if( stand_pat &gt;= beta )
          return beta;
      if( alpha &lt; stand_pat )
          alpha = stand_pat;
  
      until( every_capture_has_been_examined )  {
          MakeCapture();
          score = -Quiesce( -beta, -alpha );
          TakeBackMove();
  
          if( score &gt;= beta )
              return beta;
          if( score &gt; alpha )
             alpha = score;
      }
      return alpha;
  }
  </code></pre>
  
  <p>Your Qxd6 capture will make return a score <strong>far</strong> below the alpha. The line:</p>
  
  <blockquote>
    <p>if( score > alpha )</p>
  </blockquote>
  
  <p>will prevent your blunder being reported. Instead the engine would report either <code>stand_pat</code> (do nothing), or something like Nf3, Nc3 etc.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-07T01:54:47.067Z
Answers.LastActivityDate: 2019-01-07T01:54:47.067Z
Answers.UserDisplayName: SmallChess
Body: <p>Consider this game state:
  <a href="https://i.sstatic.net/wfOrF.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/wfOrF.png" alt="GameState" /></a></p>
  <p>d5 captures c6</p>
  <p>Quiescence search returns about 8.0 as evaluation because after dxc6 and bxc6 Qxd6 would be played (then Qxd6 by black). A normal player would not play this move but quiescence search includes it in the evaluation and it would result in this end state:<a href="https://i.sstatic.net/ACI6V.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/ACI6V.png" alt="GameState after quiescence search end" /></a>
  which would result in a huge advantage for black.</p>
  <p>Is my interpretation of quiescence search wrong?</p>
  
Tags: <search><minimax><chess><quiescence-search>
Title: Does quiescence search even improve the minimax algorithm?
UserDisplayName: Aura Lee
ThreadText: # Does quiescence search even improve the minimax algorithm?
  
  (Asked by: username_0 on 2019-01-05)
  
  Consider this game state:
  [![GameState](https://i.sstatic.net/wfOrF.png)](https://i.sstatic.net/wfOrF.png)
  
  d5 captures c6
  
  Quiescence search returns about 8.0 as evaluation because after dxc6 and bxc6 Qxd6 would be played (then Qxd6 by black). A normal player would not play this move but quiescence search includes it in the evaluation and it would result in this end state:[![GameState after quiescence search end](https://i.sstatic.net/ACI6V.png)](https://i.sstatic.net/ACI6V.png)
  which would result in a huge advantage for black.
  
  Is my interpretation of quiescence search wrong?
  
  **Tags:** search, minimax, chess, quiescence-search
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2019-01-07. Score: 1 | Accepted answer
  
  Your logic is flawed because you negated "stand-pat" (i.e. do nothing) and alpha-beta. Let's take a look at the pseudocode (<https://www.chessprogramming.org/Quiescence_Search#Pseudo_Code>):
  
  ```
  int Quiesce( int alpha, int beta ) {
      int stand_pat = Evaluate();
      if( stand_pat >= beta )
          return beta;
      if( alpha < stand_pat )
          alpha = stand_pat;
  
      until( every_capture_has_been_examined )  {
          MakeCapture();
          score = -Quiesce( -beta, -alpha );
          TakeBackMove();
  
          if( score >= beta )
              return beta;
          if( score > alpha )
             alpha = score;
      }
      return alpha;
  }
  
  ```
  
  Your Qxd6 capture will make return a score **far** below the alpha. The line:
  
  > if( score > alpha )
  
  will prevent your blunder being reported. Instead the engine would report either `stand_pat` (do nothing), or something like Nf3, Nc3 etc.
  
  
  ---
  
  