# leelachesszero/lc0

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/leelachesszero-lc0).**

2,991 stars · 616 forks · C++ · gpl-3.0

## Links

- GitHub: https://github.com/LeelaChessZero/lc0
- Homepage: https://lczero.org/
- awesome-repositories: https://awesome-repositories.com/repository/leelachesszero-lc0.md

## Topics

`alphazero` `alphazero-inspired` `chess` `chess-ai` `chess-engine` `cuda` `deep-learning` `deep-reinforcement-learning` `gpu` `leela-chess-zero` `neural-networks` `uci`

## Description

Leela Chess Zero is a deep learning game AI and neural network chess engine that uses search algorithms to determine optimal moves and evaluate game states. It functions as a UCI chess engine, implementing the Universal Chess Interface standard for compatibility with various graphical user interfaces.

The system acts as a hardware-accelerated move calculator, leveraging GPU and CPU backends to accelerate neural network inference. It supports the generation and submission of self-play games to training clients to improve the strength of its neural network models.

The engine provides capabilities for positional evaluation and real-time match analysis. It includes features for adaptive gameplay, such as skill level simulation and material odds support, alongside the ability to hot-swap neural network weights at runtime.

## Tags

### Artificial Intelligence & ML

- [Deep Learning Game AIs](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-learning-game-ais.md) — An artificial intelligence system that learns chess strategies through self-play and neural network training.
- [Position Evaluation Models](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-learning-architectures/position-evaluation-models.md) — Replaces handcrafted heuristics with a deep learning model to output move probabilities and position scores.
- [Hardware Acceleration Backends](https://awesome-repositories.com/f/artificial-intelligence-ml/hardware-acceleration-backends.md) — Leverages GPU and CPU backends to accelerate neural network inference and move calculations. ([source](https://cdn.jsdelivr.net/gh/leelachesszero/lc0@master/README.md))
- [Monte Carlo Tree Search](https://awesome-repositories.com/f/artificial-intelligence-ml/monte-carlo-tree-search.md) — Uses a Monte Carlo Tree Search algorithm to simulate future game states and select optimal moves.
- [Backend-Agnostic Engines](https://awesome-repositories.com/f/artificial-intelligence-ml/neural-network-research/neural-network-toolkits/backend-agnostic-engines.md) — Implements a computational framework that decouples neural network operations from specific hardware backends like CUDA or OpenCL.
- [Self-Play Training Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/self-play-training-pipelines.md) — Generates self-play games and submits data to training clients to improve the neural network model.
- [Runtime Weight Loading](https://awesome-repositories.com/f/artificial-intelligence-ml/model-weight-management/dynamic-weight-updates/training-weight-adjustments/runtime-weight-loading.md) — Allows the engine to load different neural network weight files at runtime to adjust strength or memory usage.
- [Self-Play Data Generation](https://awesome-repositories.com/f/artificial-intelligence-ml/neural-network-training/self-play-data-generation.md) — Generates and submits self-play game data to training clients to improve the neural network's strength. ([source](https://lczero.org/play/download))

### Game Development

- [Chess Game Engines](https://awesome-repositories.com/f/game-development/chess-game-engines.md) — Implements the Universal Chess Interface standard for compatibility with various graphical user interfaces.
- [Neural Chess Engines](https://awesome-repositories.com/f/game-development/chess-game-engines/neural-chess-engines.md) — Uses deep learning and search algorithms to determine the optimal move and evaluate game states.
- [Move Evaluation Engines](https://awesome-repositories.com/f/game-development/move-evaluation-engines.md) — Determines the optimal chess move using a combination of deep neural networks and search algorithms. ([source](https://lczero.org/dev))
- [Adaptive Gameplay Simulation](https://awesome-repositories.com/f/game-development/chess-game-engines/adaptive-gameplay-simulation.md) — Simulates different skill levels and applies material handicaps to create balanced matches for human opponents.

### Scientific & Mathematical Computing

- [Chess Position Analysis](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/algorithms-and-complexity/algorithm-analysis/chess-position-analysis.md) — Analyzes board states and live matches using neural networks to provide strategic evaluations and technical insights.
- [Live Match Evaluation](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/algorithms-and-complexity/algorithm-analysis/live-match-evaluation.md) — Generates live annotations and evaluations for ongoing chess games to provide instant technical insight. ([source](https://lczero.org/blog))

### Part of an Awesome List

- [Skill Level Simulation](https://awesome-repositories.com/f/awesome-lists/devtools/simulation-game-engines/skill-level-simulation.md) — Uses specialized neural networks to simulate specific rating levels for a competitive player experience. ([source](https://lczero.org/play/networks/bestnets/))

### Development Tools & Productivity

- [Model Hot-Swapping](https://awesome-repositories.com/f/development-tools-productivity/client-update-utilities/runtime-logic-hot-updates/native-library-hot-swapping/model-hot-swapping.md) — Provides a mechanism to load different model files at runtime to adjust playing strength or optimize performance. ([source](https://lczero.org/play/networks/bestnets/))

### Software Engineering & Architecture

- [Chess Communication Protocols](https://awesome-repositories.com/f/software-engineering-architecture/chess-communication-protocols.md) — Implements the Universal Chess Interface protocol for standardized communication between the engine and external GUIs.
