Skip to content

Litschi21/chess-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chess-engine

A simple human-like chess engine written in Python.

Features

Search Algorithms: Minimax with Alpha-Beta pruning. Optimization:

  • Transposition Table (TT): Uses Zobrist hashing to cache previously evaluated positions.
  • Quiescence Search: Prevents the "horizon effect" by extending searches until positions are tactically stable.
  • Move Ordering: Prioritizes captures, killer moves, and TT-suggested moves to maximize pruning efficiency.

Elo at different depths

  • Depth 1: ~1000 ELO
  • Depth 2: ~1300 ELO
  • Depth 3: ~1500 ELO
  • Depth 4: ~1900 ELO
  • Depth 5: ~2000 ELO
  • Depth 6: ~2200 ELO

Prerequisites

pip install -r requirements.txt

Usage

Ensure your opening_book.json is located in the same directory as the python file.

Run the engine:

python engine.py

Enter moves using either UCI (e.g., e2e4) or SAN (e.g., e4) notation.

License

This project is open-source and available for personal use.

About

A Python-based chess engine using the python-chess library, featuring Minimax with Alpha-Beta pruning, Zobrist hashing for transposition tables, and quiescence search.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages