More Advanced Topics
PSU CS410/510GAMES
Lecture 6
May 9, 2002
- MTD(f)
- Idea: fail to disprove AB window
- If window wildly wrong, can quickly find
subtree that proves it
- Example: card games
- MTD(f) (outline by Aske Plaat)
- The narrower the AlphaBeta window, the more cutoffs
you get, the more efficient the search is. Hence
MTD(f) uses
only search windows of zero size.
- Zero window AlphaBeta calls return
bounds. At the root of the tree the return bounds
are stored in upperbound (after
AlphaBeta ``failed low'') and lowerbound (after
AlphaBeta ``failed high''). The bounds delimit the
range of possible
values for the minimax value. Each time MTD(f)
calls AlphaBeta it gets a value back that narrows
the range, and the
algorithm is one step closer to hitting the
minimax value.
- Storing nodes in memory gets rid of the overhead
inherent in multiple re-searches. A transposition
table of sufficient
size does the job.
- It is more efficient to start the search
close to its goal. Therefore MTD(f) needs (and can
make use of) a good first
guess.
- Graph/History Interaction
- Problem: value of state may depend on how state is
reached! (Canonical: draw by repetition)
- Solutions?
- Some programming tricks
- state representations (bit boards etc.)
- do/undo
- clever/incremental hashing, valuing
- move generation and ordering
- valuing (normalizing, true v. approx.)
- Amazons
- Rules
- 10x10 board
- white pieces at ends of lower "four diagonals",
black symmetric. white moves first.
- Move: move a queen, fire an arrow.
- Loser: first person without a (full) move.
- Play
- Try to expand territory own queens can move in
- Try to expand mobility of queens
- Opening book and endgame are important
- Probability
- Problem 1: well-defined? Use expected value,
require zero-sum EV, hope for best.
- Problem 2: huge branching factor. But opponent
does not control probabilities: Evaluate by Monte
Carlo or related methods. Alt., do principled
estimation (Yacht)
- Monte Carlo: to get EV of a node, play the node many
times and compute EV of outcomes.
- Problem: converges very slowly (from class)
- Problem: hard to gauge quality of estimate
- Problem: hard SE problem
- Examples: scrabble, bridge