A UCI chess engine and learning expereince. Based on CPW Engine as well as StockFish.
60 seconds per player match between StuckFish (White) and Hermann 2.8 (2528 ELO)
Click to see full match.
(Stuckfish is much slower at the start of the match than Hermann as Stuck is not using an opening book)
-
Principal Variation search
-
Iterative deepening
-
Null moves search
-
Lazy SMP
-
Futility pruning
-
Late move reductions
-
History heuristics with butterfly boards
-
Counter move historys
-
Mate distance pruning
-
and many more things!
-
Setting hashtable size
-
Clearing the hashtable
-
Setting up a position from a FEN string
-
Setting the number of threads the engine will use
"Perfect" multi-threaded perft and divide functions tested to (mostly) max depth of positions found here
Also includes a divide utility (like perft) which prints the number of positions found for each root move of the current position up to a given input depth.
StuckFish is still very much a work in progress!
Lot's of credit due to Stockfish, CPW-engine and Chess Programing Wiki which you can find below.
Stockfish: https://github.com/official-stockfish
CPW-Engine: https://github.com/nescitus/cpw-engine
Chess Programming Wiki: https://chessprogramming.wikispaces.com/