Leela is a strong Go playing program combining advances in Go programming and
further original research into a small, easy to use graphical interface.
It is freely available, making it an ideal introduction to the game.
- Strong Go engine including support for multiple processors and GPU acceleration
- Strength 8 dan on 19 x 19, high dan level on 9 x 9
- 2008 Computer Olympiad Silver (9x9) and Bronze (19x19) medalist
- Featuring Deep Learning technology
- Easy to use graphical interface
- Adjustable board size (up to 25x25!), playing levels, handicap and komi
- Fixed strength and time based difficulty levels
- Chinese rules with positional superko
- SGF format loading and saving
- Rated game mode with auto-adjusting difficulty levels
- Analysis features including critical variations for each move and winning odds
Analyzing a game, showing the most probable moves.
What's this Deep Learning technology?
Leela contains an AI technique modeled after the human visual system and brain,
a deep stack of artificial neurons processing visual input with each layer combining the
previous ones into higher level features (a so called DCNN, deep convolutional neural network).
This "neural network" has been trained with more than 32 million
positions from professional-level go games and taught to predict which moves a pro
player would most likely consider. In 19x19 games the engine will query this deep
"neural network" during the search to focus on the most critical variations. The result
is a substantial raise in playing strength (about 6 stones), and a more human-like
playstyle, while still allowing the engine to innovate of its own.
What's the benefit of GPU Acceleration?
A GPU is typically much faster than a normal processor at doing the kind of
calculations the Deep Learning algorithms need. For example, an AMD R9 390 (mid-range
videocard) can find the worthwhile moves in a Go position about 15 times faster than an
Intel Core i5-6600 (mid-range CPU). Leela makes use of this to explore variations
deeper and in more detail. You can notice that in analysis mode the critical variations
displayed by the engine are much longer when GPU Acceleration is used.
What do I need to run the "GPU Accelerated" version?
You need a video card with OpenCL 1.1 (or later) capability. This is supported on all
recent AMD and NVIDIA cards. Make sure the latest drivers for the video card are
installed. The detected video card can be seen in the Help->About menu.
Can I run the "GPU Accelerated" version on the built-in graphics of my CPU?
This only makes sense if the built-in GPU is faster at doing the Deep Learning calculations
than the CPU itself. Intel CPUs are typically very fast, with a weak built-in GPU,
so this is not recommended. AMD APU's typically have a slow CPU but a fast GPU, so
it would be worthwhile on those.
Does it work on Linux?
The "engine only" download has Linux binaries included, which can be used with any Go GUI that supports the GTP protocol (almost all of them do). To use the OpenCL version you must have OpenCL drivers and an OpenCL ICD loader installed, please see the included README.TXT.
The installer and graphical interface work and are fully functional under wine-1.9.23 or later. The Wine version included with Ubuntu 16.04 (1.8.5) is too old and will not work. You can get updated ones via a PPA.
Why does Leela report >100% or negative winrates?
Being sure of winning the game with 0.5 points corresponds to 100% winrate. Bigger margins of victory are represented by >100%.
How do I analyse games?
Enable the Analysis Window via Analyze→Analysis Window. Start analysis with F2 (or the toolbar) and move through the game with the arrow keys, looking for jumps in the Win% of the best move (the one on top). These represent mistakes by one of the players. Look at what moves Leela suggests instead. Show Move Probabilities (F4) can help understand direction of play mistakes and Show Territory (F3) can help understand the "size" and "temperature" of plays.
You can "save" the position by toggling analysis on/off (hit F2 twice), then try out a variation on the board. Then do Analyze→Revert to Mainline (Alt-M) to go back to the position you saved. The position is saved whenever you enter Analyze mode.
What do the columns in the Analysis Window mean?
Leela always orders the moves in this window from best to worst, i.e. the top move is the best move (so far). You can click in this window to show the principal variation for the selected move on the board.
- Simulations: the number of Monte Carlo playouts used to investigate the move. More simulations means more confidence in the winrate as the move has been investigated deeper.
- Win%: this represents Leela's best guess as to how likely it is for the player to move to win the game. If there is a move that is not investigated deeply yet, but appears to provide a higher chance of winning than the current best move, it is bolded. You might want to let Leela analyze a bit longer if this happens.
- MC Win%: the likelyhood that the player to move wins the game, as determined by randomized Monte Carlo playouts from the current position. This is a factor in the Win% calculation.
- Net Win%: the likelyhood that the player to move wins the game, as determined by analyzing the position with a neural network. This is a factor in the Win% calculation.
- Net Prob%: the probability that a pro player would play this move, as estimated by the Neural Network.
- Eval: displayed in non-19x19 games instead of Net Prob%. A dimensionless number expressing the likelihood of the move being good, based on a pattern database and the moves' features.
- PV: the principal variation. The sequence of suggested moves for both players that Leela believes is optimal.
My Mac is complaining that Leela can't be opened because it is from an unidentified developer.
Right click the download and select Open. You'll get the option to bypass the warning. Explanation from Apple.
Leela 0.9.0 (2017-02-18)
- Strongly improved search: the engine can now extend the search tree in
multiple steps, running the fastest ones on the CPU. Slightly less
dependent on a fast GPU, less slowdown due to communication with GPU,
less sensitive to holes in the neural network.
- Improved Monte Carlo evaluation, notably some life and death reading
requiring exact move sequences and nakade.
- A value network is now used as a second opinion to the Monte Carlo
evaluation. This benefits greatly from a modern CPU (Haswell or newer).
The reported winning rate takes both techniques into account.
- Retuned various search parameters.
- Altogether these improvements are worth about 1 to 2 stones.
- Retuned resign thresholds for new evaluation.
- Limit handicap setting in GUI to sane/supported levels.
- Don't overwrite the first moves in the graphical mainline display when
a recapture happens.
- Slightly adjust rated game mode difficulty.
- Fixed multiple issues with SGF parsing: whitespace issues, comments
and escape sequence parsing, default to 19x19 when no size specified.
- Added 7x7 board size in the new game dialog.
- Coordinates are now in uppercase (required by GTP spec).
- Added --quiet, which suppresses diagnostic output on stderr and can
solve GUI compatibility issues (GTP engine).
- Added --logfile option (GTP engine).
- The time_settings command now implies a clock reset (GTP engine).
Leela 0.8.0 (2016-11-17)
- Faster DCNN computation on CPU: up to 130% speedup on modern Intel CPUs.
- Faster DCNN computation on GPU: ~10-20% faster on AMD GCN, up to 150% faster on NVIDIA Pascal/Maxwell/Kepler.
- Stronger playouts: Better handling of self-atari moves, semeai, some minimal understanding of seki and nakade.
- Stronger search: Less hard pruning of unlikely moves, yet better focus on strong variations.
- More resistance to entering ladders, bugfixes to reading of branching ladders.
- OpenCL version now runs a self-test on startup and will report broken drivers.
- Bugfixes to byo-yomi timing, preventing some panic moves.
- Leela now resigns faster when losing.
- Leela no longer passes out the game when it is not yet won on the count.
- Bugfixes to marking dead stones in passed out games.
- The above adds up to about 1 to 2 stones strength improvement, depending on the hardware.
- Bugfixes to SGF writing, correct handling of resignations.
- Support for SGF writing via "printsgf" command (GTP version).
- Bugfixes to Show Probabilities when loading SGF games.
- Configurable buffer for interface/network lag (GTP version).
- Configurable number of playouts (GTP version).
- Moves with a higher winrate than the current best move (but insufficient confidence) are bolded in the analysis window.
- Heatmap displays correctly for moves on the board edge.
- Faster resizing of the board when heatmaps are enabled.
- Installer offers the choice of installing for current user or all users.
- Uninstaller will clean up registry settings correctly.
- Show move probabilities and Use Networks are greyed out in non-19x19
- "Rating" display changed to "Your rating" to prevent some confusion.
- "Rating" display will disappear when the user uses any kind of hint
or analysis feature (and the game won't count).
- Analysis mode allows you to freely play moves on the board. There is
a menu option and toolbar button "Return to Mainline" that will revert
to the position where Analysis Mode originally got enabled.
- Browsing through the game with ahead/back 10 moves is much faster.
Leela 0.7.0 (2016-09-30)
- Larger DCNN and hence better move pruning.
- Fuseki library built from professional games included. Speeds up opening play.
- (GPU version) Faster dispatching to GPU, speeding up tree search.
- Better selection of critical variations during the tree search.
- Altogether about half a stone stronger than 0.6.2.
- Support for board sizes larger than 25 x 25 has been removed. This made many of the following enhancements much easier.
- Arrow keys can be used to move through a game in analysis mode.
- Engine stays in analysis mode when moving through a game.
- Show Territory reworked to use the calculation from the engine instead of a simplified one from the GUI. Display is now prettier and can show the likelihood graphically.
- Option to show the probabilities from the DCNN as a heatmap.
- Analysis Window providing in-depth display of the move evaluations.
Lines can be clicked to show the Principle Variation graphically.
- Windows DPI Scaling can be enabled or disabled via the settings menu.
- Dialogs should now fit better when using nonstandard screen or font sizes.
- Engine runs at lower priority so Windows stays more responsive.
- Windows XP SP2 is now supported as the minimal Windows version.
- OpenCL support is now available for the Linux GTP engines.
Leela 0.6.2 (2016-06-04)
- Deep Learning DCNN for move pruning during search (+6 stones strength).
- Added OpenCL version, running the DCNN on the GPU.
- Reworked search algorithm for Deep Learning mode.
Leela 0.4.6 (2016-04-07)
- Doubled size of pattern database and retuned move prediction.
- Fixed a bug introduced in 0.4.x that severely degraded life and death assessment.
- Other playout fixes improving life and death reading.
- Total playing strength improved by about half a stone.
- Dialogs will now render properly on high-DPI displays.
- Installer no longer requests administrator rights (no UAC prompt).
- Removed lite version. Full version is now free.