qwertyquerty / qchess

The strongest Python chess engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

QChess

Simple Alpha Beta UCI Compliant Chess Engine in Python

Currently the strongest Python Chess engine

Running this engine with pypy is heavily recommended

Installation

  • cpython: pip3 install -r requirements.txt
  • pypy: pypy -m pip install -r requirements.txt

Usage

Load qchess.bat into any UCI compliant Chess program and set the working directory to your cloned repository folder

Todo List

  • fully documented
  • UCI compliant
    • plays on time
  • board evaluation
    • piece specific positions
    • game phase tapering
    • mobility
    • will to push
    • pawn structure
      • isolated pawns
      • doubled/tripled pawns
      • passed pawns
      • pawn chains
    • doubled bishops
    • material value
  • minimax search
  • quiescence search
    • delta pruning
  • iterative deepening
  • transposition tables
  • pruning
    • alpha beta pruning
      • move ordering
        • MVV LVA
        • positional changes
        • best move from transposition table
        • retake last moved
        • killer move heuristic
        • countermove heuristic
        • history heuristic
        • static exchange evaluation
    • aspiration windows with gamma
    • null window
    • futility pruning
    • reverse futility pruning
    • principal variance search
    • late move reductions
    • null move reduction
    • scout search or MTD(f)
    • razoring
  • parallel processing
  • selective searching

About

The strongest Python chess engine


Languages

Language:Python 99.9%Language:Batchfile 0.1%