Giter Site home page Giter Site logo

starzix's Introduction

Starzix - C++ chess engine

Elo

CCRL Blitz: 3626 (#21/738)

CCRL Rapid: 3518 (#20/588)

Ipman Bullet: 3423 (#29/51)

Stefan Pohl SPCC: 3567 (#50/65)

How to compile

Have clang++ installed and run make

UCI (Universal Chess Interface)

Options

  • Hash (int, default 32, 1 to 65536) - transposition table size in MB

  • Threads (int, default 1, 1 to 256) - search threads

Extra commands

  • display

  • eval

  • perft <depth>

  • perftsplit <depth>

  • bench <depth>

  • makemove <move>

  • undomove

Features

Board

  • Bitboards
  • Zobrist hashing
  • Pseudolegal move generation (magic bitboards for sliders, lookup tables for pawns, knights and king)
  • Copymake make/undo move

NNUE evaluation

  • (768x2 -> 1024)x2 -> 1
  • Lc0 data
  • Trained with my trainer

Search

  • Iterative deepening
  • Fail-soft Negamax
  • Principal variation search
  • Aspiration windows
  • Quiescence search
  • Transposition table
  • Alpha-beta pruning
  • Reverse futility pruning
  • Razoring
  • Null move pruning
  • Late move pruning
  • Futility pruning
  • SEE pruning
  • Internal iterative reduction
  • Late move reductions
  • Singular extensions (with negative and double extensions)
  • Check extension
  • Correction history
  • Cuckoo (detect upcoming repetition)
  • Time management: hard and soft time limits
  • Multithreading / Lazy SMP

Move ordering

  • TT move
  • Good noisy moves by SEE + MVV + noisy history
  • Killer move
  • Countermove
  • Quiet moves by history
  • Bad noisy moves

Moves history

  • Main history
  • Continuation histories (1 ply, 2 ply, 4 ply)
  • Noisy history
  • History malus and gravity

starzix's People

Contributors

zzzzz151 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.