A Chess AI Agent using the Minimax algorithm with Alpha-Beta pruning and more.
To improve our agent the following things were implemented:
- Minimax Algorithm (decision-making strategy assuming both players play optimally)
- Alpha-Beta Pruning (pruning branches of tree, improving minimax)
- Lookup Table (optimal opening moves)
- Time Constraints (improving time saving)
- Move Ordering (ordering the moves based on beta-cutoff, improving minimax)
- Iterative Deepening (combining depth-first and breadth-first search, improving minimax)
The utility was based on three defining factors:
- The Material Value (weight: 12)
- The Kings Safety (weight: 7)
- Center Control (weight: 5)