diff --git a/README.md b/README.md index 56b11f3..e3bec6c 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ A special thanks to the Chess Programming Wiki, which was consulted frequently f A few ideas and inspiration came from Stockfish (https://stockfishchess.org/): - Using SWAR for midgame/endgame evaluation - Razoring implementation +- Singular extension implementation ### Engine Strength @@ -24,8 +25,7 @@ Engines used for testing: Fridolin 2.00, Maverick 1.0, and Jellyfish 1.1. Thanks ### Engine Personality -- Strong in complex tactical lines (even more so than most other engines at this level) -- Strong in ultra-bullet, scales poorly with time +- Overpushes pawns in quieter positions - Poor endgame play (there is little to no endgame code) @@ -40,6 +40,7 @@ Engines used for testing: Fridolin 2.00, Maverick 1.0, and Jellyfish 1.1. Thanks - Futility pruning - Razoring - Move count based pruning (late move pruning) + - Check and singular extensions - Quiescence search with captures, queen promotions, and checks on the first three plies - Move ordering - Internal iterative deepening when a hash move is not available @@ -52,6 +53,7 @@ The code and Makefile support gcc on Linux and MinGW on Windows for Intel Nehale ### Known issues: +- Gives incorrect mate scores for long mates and stalls in mate positions occasionally - Hash errors on PV nodes cause strange moves and give illegal PVs, also causing feedPVToTT() to fail - tunemagic command leaks a large amount of memory - SEE, MVV/LVA scoring functions handle en passant as if no pawn was captured \ No newline at end of file diff --git a/uci.cpp b/uci.cpp index d0a634c..87da269 100644 --- a/uci.cpp +++ b/uci.cpp @@ -65,7 +65,7 @@ int main() { string input; vector inputVector; string name = "Laser"; - string version = "0.2 beta"; + string version = "0.2"; string author = "Jeffrey An and Michael An"; thread searchThread; Move bestMove = NULL_MOVE;