Chess AI bot made in python using the minimax algorithm with optimizations such as alpha-beta pruning, transposition tables, move ordering, parsing through games for openings, etc. Capable of play at an ELO ~1600 (lichess)
Technology & references: Python, pygame, python-chess, https://www.chessprogramming.org/Simplified_Evaluation_Function#Knights, https://www.chessprogramming.org/Main_Page, https://www.cs.cornell.edu/boom/2004sp/ProjectArch/Chess/algorithms.html, https://database.lichess.org/
-
Greatly improved OOP skills
-
Learned about many new algorithms and how to design and apply them on my own
-
Improved documentation skills
-
Acquired knowledge on system design
-
Alpha beta pruning
-
Move ordering
-
Opening Database
-
Transposition tables
-
Quiescence search
-
Board heatmap
With all these techniques, the number of searches can be cut down by 1000x at some points!