This commit is contained in:
Miloslav Ciz 2024-10-30 16:31:42 +01:00
parent 3dbb022352
commit 95e6641b63
13 changed files with 1858 additions and 1851 deletions

View file

@ -29,6 +29,6 @@ PGN: 1. e4 e5 2. d4 d5 3. dxe5 dxe4 4. Qxd8+ Kxd8 5. f3 exf3 6. Nxf3 Ke8 7. Nc3
*"Screenshot" of smolchess in action, playing against itself.*
Technical details: it's no [stockfish](stockfish.md), simplicity is favored over strength. Evaluation function is hand-made with 16 bit integer score (no [float](float.md)!). Board is represented as an [array](array.md) of bytes (in fact it's an array of [ASCII](ascii.md) characters that can conveniently be printed right out). AI uses basic [recursive](recursion.md) minimax and alpha-beta pruning, with quiescence handled by extending search for exchanges and checks. For simplicity there is no move ordering, transposition table, opening book or similar fanciness, so the performance isn't great, but it manages to play some intermediate moves. Xboard is supported.
Technical details: it's no [stockfish](stockfish.md), simplicity is favored over strength. Evaluation function is hand-made with 16 bit integer score (no [float](float.md)!). Board is represented as an [array](array.md) of bytes (in fact it's an array of [ASCII](ascii.md) characters that can conveniently be printed right out). AI uses basic [recursive](recursion.md) minimax and alpha-beta pruning, with quiescence handled by extending search for exchanges and checks. For simplicity there is no transposition table, opening book or similar fanciness, so the performance isn't great, but it manages to play some intermediate moves. Xboard is supported.
While there are many high level engines focusing on maximizing playing strength, there are almost no seriously simple ones focusing on other points -- smallchesslib/smolchess tries to change this. It can be used as an educational tool, a basis for other engines, a simple engine runnable on weak devices, a helper for processing standard chess formats etc.