Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bitartisan1/wize
Wize UCI Chess Engine with Multithreading and NNUE Stockfish Evaluation
https://github.com/bitartisan1/wize
ai chess chess-ai chess-engine chessboard cpp engine game gplv3 lc0 neural-network nnue opensource search search-algorithm search-engine software sports stockfish uci
Last synced: 14 days ago
JSON representation
Wize UCI Chess Engine with Multithreading and NNUE Stockfish Evaluation
- Host: GitHub
- URL: https://github.com/bitartisan1/wize
- Owner: bitArtisan1
- License: gpl-3.0
- Created: 2023-07-24T17:48:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-06T17:42:21.000Z (6 months ago)
- Last Synced: 2024-11-20T04:18:37.909Z (3 months ago)
- Topics: ai, chess, chess-ai, chess-engine, chessboard, cpp, engine, game, gplv3, lc0, neural-network, nnue, opensource, search, search-algorithm, search-engine, software, sports, stockfish, uci
- Language: C++
- Homepage:
- Size: 25.9 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Wize
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++## Features
* 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)]))))))`## Improvements
* Implement Syzygy Bases, SyzygyPath, ...
* Improve the NN Structure
## Current ELO
* **ELO: 2850-3000~**## Requirements
* 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).
## Installation/Usage
Clone the repository:```bash
$ git clone https://github.com/yanpuri/Wize.git
```
Then, in the directory:
```bash
$ 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## Images
### Terminal interface
![Terminal interface](https://github.com/yanpuri/Wize/assets/121260820/d01f0f5c-561e-4014-b1aa-fe122a7e0abe)### Gameboard
![Gameboard](https://github.com/yanpuri/Wize/assets/121260820/0f71bdf5-ff01-4370-a158-a5095b6bb38d)## Acknowledgements
* [BluefeverSoftware](https://www.youtube.com/@BlueFeverSoft), YouTube series about Vice engine.
* [CodeMonkeyKing](https://www.youtube.com/@chessprogramming591), General chess programming videos.
* Vice Programming Discord
* [ChessProgrammingWiki](https://www.chessprogramming.org/Main_Page).## Support Me
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!