Skip to content

Wize UCI Chess Engine with Multithreading and NNUE Stockfish Evaluation

License

Notifications You must be signed in to change notification settings

bitArtisan1/Wize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

Wize

Wize UCI Chess Engine with Multithreading and NNUE Stockfish Evaluation 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 Chess Engine
Wize, Strong and Open Source Chess Engine Written in C++

chessable_blog_petrov_defense-1024x528_70

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=AffineTransform1<-32)

Improvements

  • Implement Syzygy Bases, SyzygyPath, ...
  • Improve the NN Structure

Current ELO

  • ELO: 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:

$ 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

Acknowledgements

Terminal interface

Terminal interface )

Gameboard

Gameboard )