Wize, a C++ UCI-compliant chess engine, integrates a neural network (NNUE) for accurate evaluation and employs a range of advanced search techniques like LazySMP and Multithreading within Alpha-Beta framework, Wize strives to be a top-tier engine but also serves as a valuable resource for developers to enhance their own chess engines.
Wize, Strong and Open Source Chess Engine Written in C++
-
Architecture
- Bitboard Representation
-
Search
- Alpha-Beta Pruning
- Negamax Framework
- Transposition Tables
- Principal Variation Search
- Quiescence Search
- Null-move Pruning
- Internal Iterative Deepening
- Aspiration Window
- Repetition Detection
- Killer Move, History
- MVV-LVA Capture Ordering
- LazySMP
- Multithreading
- Heuristic Moves
- Polyglot Opening Book
-
Evaluation
NNUE Evaluation (Features=HalfKP(Friend)[41024->256x2],Network=AffineTransform[1<-32](ClippedReLU[32](AffineTransform[32<-32](ClippedReLU[32](AffineTransform[32<-512](InputSlice[512(0:512)]))))))
- Implement Syzygy Bases, SyzygyPath, ...
- Improve the NN Structure
- ELO: 2850-3000~
- Wize software requires GCC(GNU Compiler Collection) or CLang, C++ version: CXX >= C++17 !
- It is recommended that the terminal uses a TrueType Font (ttf), Consolas and other monospaced fonts are recommended for the best user experience [Unicode characters and ANSI escape code] (However, most engines are linked directly to the GUI and don't really need to interact with the terminal).
Clone the repository:
$ git clone https://github.com/yanpuri/Wize.git
Then, in the directory:
$ cd Wize\Wize
$ make
$ Wize.exe
Run the generated .exe file in the install dir.
- How to work the engine? The UCI (Universal Chess Interface) serves as a widely adopted protocol for interacting with a chess engine and is the preferred method for communication in graphical user interfaces (GUIs) and chess-related tools. The guidelines are outlined in the UCI protocol, which can be accessed and referenced at this link http://page.mi.fu-berlin.de/block/uci.htm
- BluefeverSoftware, YouTube series about Vice engine.
- CodeMonkeyKing, General chess programming videos.
- Vice Programming Discord
- ChessProgrammingWiki.
If you find RepoUp useful, consider supporting me by:
- Starring the repository on GitHub
- Sharing the tool with others
- Providing feedback and suggestions
- Follow me for more :)
For any issues or feature requests, please open an issue on GitHub. Happy coding!