/*------------------------------------------------------*\
| _ |
| (_) ____ _ _ ____ _ |
| (___) / ___(_) |_ / ___| |__ ___ ___ ___ |
| _|_| | | _| | __| | | '_ \ / _ \/ __/ __| |
| (_____) | |_| | | |_| |___| | | | __/\__ \__ \ |
| /_____\ \____|_|\__|\____|_| |_|\___||___/___/ |
| |
|________________________________________________________|
| |
| Antonio Pelusi V. 1.0 |
| |
\*------------------------------------------------------*/
Elo: ~1900
- bitboard board representation
- pre-calculated attack tables
- magic bitboards for sliding pieces
- encoding moves as integers
- copy/make approach for making moves
- negamax search with alpha beta pruning
- PV/killer/history move ordering
- iterative deepening
- PVS (Principle Variation Search)
- LMR (Late Move Reduction)
- NMP (Null Move Pruning)
- Transposition table (20MB fixed size)
- Material/PST (Positional Square Tables) evaluation
- Double/isolated/passed pawns evaluation
- Bishop & Queen mobility evaluation
- king safety evaluation
- UCI protocol
- dynamic hash memory allocation
- tapered evaluation