Simple Alpha Beta UCI Compliant Chess Engine in Python
Currently the strongest Python Chess engine
Running this engine with pypy is heavily recommended
- cpython:
pip3 install -r requirements.txt
- pypy:
pypy -m pip install -r requirements.txt
Load qchess.bat
into any UCI compliant Chess program and set the working directory to your cloned repository folder
- 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
- move ordering
- 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
- alpha beta pruning
- parallel processing
- selective searching