ArticleslgStudy

computer science

Quiescence search

Quiescence search is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Quiescence search rather than just read about it. In short: Quiescence search is an algorithm typically used to extend search at unstable nodes in minimax game trees in game-playing computer programs. It is an extension of the evaluation function to defer evaluation until the position is stable enough to be evaluated statically, that is, without considering the history of the position or future moves from the position.

Quiescence search — main illustration
Quiescence search — illustration

Key takeaways

  • Quiescence search belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Quiescence search to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Quiescence search from memory before moving on to harder problems.

Reference excerpt

Quiescence search is an algorithm typically used to extend search at unstable nodes in minimax game trees in game-playing computer programs. It is an extension of the evaluation function to defer evaluation until the position is stable enough to be evaluated statically, that is, without considering the history of the position or future moves from the position. It mitigates the effect of the horizon problem faced by AI engines for various games like chess and Go. Human players usually have enough intuition to decide whether to abandon a bad-looking move, or search a promising move to a great depth. A quiescence search attempts to emulate this behavior by instructing a computer to search "volatile" positions to a greater depth than "quiet" ones to make sure there are no hidden traps and to get a better estimate of its value. Any sensible criterion may be used to distinguish "quiet" positions from "volatile" positions. One common criterion is that moves exist in the position that can dramatically change the valuation of the position, such as captures in chess or Go. As the main motive of quiescence search is to get a stable value out of a static evaluation function, it may also make sense to detect wide fluctuations in values returned by a simple heuristic evaluator over several ply, i.e. a history criterion. The quiescence search continues as long as the position remains volatile according to the criterion. In order to get the quiescence search to terminate, plies are usually restricted to moves that deal directly with the threat, such as moves that capture and recapture (often called a 'capture search') in chess. In highly "unstable" games like Go and reversi, a rather large proportion of computer time may be spent on quiescence searching.

The horizon effect

The horizon effect is a problem in artificial intelligence which can occur when all moves from a given node in a game tree are searched to a fixed depth. Threats and opportunities beyond the search depth will remain undetected. This can result in the peculiar ploy of a program making delaying moves that degrade the position until it pushes a threat beyond the search depth or "horizon". By the time the threat must be dealt with, the position has become too degraded to be salvageable. Quiescence search attempts to mitigate this issue by extending the search depth in volatile positions where the heuristic value may have significant fluctuations between moves.

Pseudocode This pseudocode illustrates the concept algorithmically:

function quiescence_search(node, (optional) depth) is if node appears quiet or node is a terminal node or depth = 0 then return estimated value of node else (recursively search node children with quiescence_search) return estimated value of children

function normal_search(node, depth) is if node is a terminal node then return estimated value of node else if depth = 0 then if node appears quiet then return estimated value of node else return estimated value from quiescence_search(node, reasonable_depth_value) else (recursively search node children with normal_search) return estimated value of children

References Beal, Don (April 1990). "A generalised quiescence search algorithm". Artificial Intelligence. 43: 85–98. doi:10.1016/0004-3702(90)90072-8.

Illustrations

Quiescence search illustration

Worked examples

Example 1 — a first encounter with Quiescence search

Start with the simplest possible case. Write down what Quiescence search claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Quiescence search before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Quiescence search ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Quiescence search

In research
Quiescence search appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Quiescence search in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Quiescence search is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computer chess, Game artificial intelligence, so understanding it makes those chapters shorter.
In everyday life
Look for Quiescence search outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Quiescence search” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Quiescence search in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Quiescence search means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Quiescence search out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Quiescence search in simple terms?

Quiescence search is an algorithm typically used to extend search at unstable nodes in minimax game trees in game-playing computer programs. It is an extension of the evaluation function to defer evaluation until the position is stable enough to be evaluated statically, that is, without considering…

Why does Quiescence search matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Quiescence search?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Quiescence search.

Tags

  • Computer chess
  • Game artificial intelligence

Keep exploring