Classical Search, Heuristics, and Adversarial Reasoning
Classical Search Algorithms
From breadth-first search to A*
Classical search explores a discrete state space to find a goal path. Breadth-first search is complete and optimal for unit costs, while depth-first search uses less memory but can fail to find shallow solutions first. Uniform-cost search generalizes BFS to arbitrary nonnegative costs.
Blind vs informed search
Blind search
- Uses only problem structure
- No heuristic guidance
- Often exponential in practice
Informed search
- Uses heuristic estimates
- Can focus exploration
- May be optimal with admissible heuristics
Heuristic properties
Research insight
A better heuristic is not merely more accurate on average; it must also be cheap enough to compute and compatible with optimality guarantees if those matter.
Adversarial search methods
| Method | Best use case | Key limitation |
|---|---|---|
| Minimax | Perfect-information zero-sum games | Explodes combinatorially |
| Alpha-beta pruning | Games with good move ordering | Still exponential worst case |
| Expectimax | Stochastic opponent or chance nodes | Requires probabilistic modeling |
| Monte Carlo Tree Search | Large branching factors | Relies on rollout quality and exploration tuning |
Which property ensures that A* tree search is optimal when using graph search with closed lists under standard assumptions?
Consistency is the key property that prevents node re-expansion issues and supports optimal graph search behavior.
Correct answer: Consistency of the heuristic
What is the main advantage of alpha-beta pruning over minimax?
With good move ordering, alpha-beta can dramatically improve search efficiency without changing the result.
Correct answer: It eliminates branches that cannot affect the final decision, reducing the number of evaluated nodes.
Designing a heuristic for a new domain
-
1
Step 1: Identify relaxed or abstracted versions of the problem.
-
2
Step 2: Derive lower bounds from those simplifications.
-
3
Step 3: Check admissibility and, if needed, consistency.
-
4
Step 4: Benchmark heuristic accuracy against computation time.
-
5
Step 5: Integrate the heuristic into search and measure node expansions.