Answers.Body: <p>I understand your question to be:</p>
  
  <blockquote>
    <p>If some moves are compulsory, and my agent has no choice about which move to make next, do I need to perform a search, or can I just return the compulsory move?</p>
  </blockquote>
  
  <p>The answer depends on what your goal is.</p>
  
  <p>If your goal is to make an interactive agent that will play the game against you, then you are correct: there's no need to perform a search. Just return the compulsory move, and then run the search next time your agent has a choice about what to do.</p>
  
  <p>If your goal is to determine the optimal way to play a game, or the expected payoff from a certain game position (another common use of search techniques), then you should run the search as normal, since the forced move won't necessarily lead to a particular end state.</p>
  
  <p>Tangentially, if you're interested in ways to speed up search for checkers, check out the Chinook papers. There's a popularized account <a href="https://www.aaai.org/ojs/index.php/aimagazine/article/viewFile/1208/1109" rel="nofollow noreferrer">here</a>, and more technical ones <a href="https://mycourses.aalto.fi/pluginfile.php/273655/course/section/60890/ICS-E4000_checkers_is_solved.solved.science.pdf" rel="nofollow noreferrer">here</a> and <a href="https://www.ijcai.org/Proceedings/05/Papers/0515.pdf" rel="nofollow noreferrer">here</a> by Schaeffer et al.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-07-23T13:19:44.157Z
Answers.LastActivityDate: 2018-07-23T13:19:44.157Z
Answers.UserDisplayName: John Doucette
Body: <p>Certain games, like checkers, have compulsory moves. In checkers, for instance, if there's a jump available a player must take it over any non-jumping move.</p>
  
  <p>If jumps are compulsory, will there still be a need for a quiescence search?</p>
  
  <p>My thinking is that I can develop an implementation of a quiescence search that first checks whether jumps are available. If there are then it can skip all non-jumping moves. If there's only one jumping move available, then I won't need to run a search at all.</p>
  
  <p>Therefore, I will only use a quiescence search if I initially don't have to make a jump on my first move. I will only active quiescence search in my alpha-beta pruning becomes active. (The alpha-beta will only be active if my first algorithm which first checks if there are jumps available returns a 0, which means there  are no jumps available.)</p>
  
  <p>Is my thinking of implementing a quiescence search correct? </p>
  
  <hr>
  
  <p><em>My options are slim when it comes to optimizations due to serious memory constraints, hence I won't be using PVS or other algorithm like that as they require additional memory.</em></p>
  
Tags: <game-ai><minimax><alpha-beta-pruning><checkers><quiescence-search>
Title: If certain moves are compulsory, will there still be a need for a quiescence search?
UserDisplayName: JoeyB
ThreadText: # If certain moves are compulsory, will there still be a need for a quiescence search?
  
  (Asked by: username_0 on 2018-07-23)
  
  Certain games, like checkers, have compulsory moves. In checkers, for instance, if there's a jump available a player must take it over any non-jumping move.
  
  If jumps are compulsory, will there still be a need for a quiescence search?
  
  My thinking is that I can develop an implementation of a quiescence search that first checks whether jumps are available. If there are then it can skip all non-jumping moves. If there's only one jumping move available, then I won't need to run a search at all.
  
  Therefore, I will only use a quiescence search if I initially don't have to make a jump on my first move. I will only active quiescence search in my alpha-beta pruning becomes active. (The alpha-beta will only be active if my first algorithm which first checks if there are jumps available returns a 0, which means there are no jumps available.)
  
  Is my thinking of implementing a quiescence search correct?
  
  ---
  
  *My options are slim when it comes to optimizations due to serious memory constraints, hence I won't be using PVS or other algorithm like that as they require additional memory.*
  
  **Tags:** game-ai, minimax, alpha-beta-pruning, checkers, quiescence-search
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2018-07-23. Score: 4
  
  I understand your question to be:
  
  > If some moves are compulsory, and my agent has no choice about which move to make next, do I need to perform a search, or can I just return the compulsory move?
  
  The answer depends on what your goal is.
  
  If your goal is to make an interactive agent that will play the game against you, then you are correct: there's no need to perform a search. Just return the compulsory move, and then run the search next time your agent has a choice about what to do.
  
  If your goal is to determine the optimal way to play a game, or the expected payoff from a certain game position (another common use of search techniques), then you should run the search as normal, since the forced move won't necessarily lead to a particular end state.
  
  Tangentially, if you're interested in ways to speed up search for checkers, check out the Chinook papers. There's a popularized account [here](https://www.aaai.org/ojs/index.php/aimagazine/article/viewFile/1208/1109), and more technical ones [here](https://mycourses.aalto.fi/pluginfile.php/273655/course/section/60890/ICS-E4000_checkers_is_solved.solved.science.pdf) and [here](https://www.ijcai.org/Proceedings/05/Papers/0515.pdf) by Schaeffer et al.
  
  
  ---
  
  