By Nicholas Ardavin and Alessio Amaolo
- Bitboard implemtation of Othello board for fast evaluation of board state and efficient storage
- Principal Variation Search (Negascout) with Negamax to reduce search time of minimax
- Basic move ordering with 1-ply search
- 10-ply search for accurate lookahead
- Time-dependent heuristic function that accounts for piece count, number of available moves, number of stable pieces, frontier size, and board parity
- Machine learninng optimization of heuristic parameters using TD-Leaf(λ)
- 20-ply endgame solver
- Opening book
- Replace current tree search with probcut
- Improve move ordering
- Iterative deepening
- Optimize time usage
Winter 2018 Submission: 979b3447eef28d7ca8fba07480eb7cd0e82f997f
MTD-f Search Function - Wikipedia
Probcut: An Effective Extension of the alpha-beta Algorithm
TDLeaf(λ): Combining Temporal Difference Learning with Game-Tree Search
See assignment9_part1.html and assignment9_part2.html for assignment details.