-
Notifications
You must be signed in to change notification settings - Fork 1
Algorithm Deep Dive
Trent M. Wyatt edited this page Apr 23, 2025
·
1 revision
Minimax with α–β pruning evaluates game trees to optimal depth while discarding branches that cannot influence the final decision.
flowchart TD
A[Root] --> B1[Child 1]
A --> B2[Child 2]
B1 --> C1[Leaf]
B2 --> C2[Leaf]
- O(bᵈ) for branching factor b and depth d.
Keeps track of two bounds
- α – best max already found.
- β – best min already found.
When β ≤ α, further exploration is cut.
Best‑case reduction: evaluates O(b^{d/2}) nodes.
Good move ordering increases early cut‑offs.
Strategies:
- Hash history
- Killer moves
- Board symmetries
Minimax does not implement ordering internally—leave it to your generateMoves() heuristic.
Future versions will call the search incrementally to fit within a time budget.
© 2025 Trent M. Wyatt