Leela Chess Zero software | |
---|---|
Genere | Motore scacchistico |
Sviluppatore | Gary Linscott et al. |
Data prima versione | 9 gennaio 2018 |
Ultima versione |
|
Sistema operativo | Multipiattaforma |
Linguaggio | C++ CUDA |
Licenza | GNU General Public License (licenza libera) |
Sito web | lczero.org |
Leela Chess Zero (abbreviato LCZero o Lc0) è un motore scacchistico open source sviluppato da Gary Linscott (uno degli autori di Stockfish) insieme a una comunità di contributori, primo motore open source basato sulle tecniche di apprendimento automatico profondo introdotte da DeepMind nello sviluppo di AlphaZero. Il software è un agente artificiale che combina la ricerca ad albero Monte Carlo con una rete neurale convoluzionale profonda, ed è addestrato esclusivamente per rinforzo giocando un gran numero di partite contro se stesso. L'addestramento è eseguito tramite una rete di calcolo distribuito volontario coordinata tramite il sito del progetto.[1] Nell'agosto 2019 l'addestramento conta oltre 232 milioni di partite giocate.
Tale paradigma è radicalmente diverso da quello dei motori scacchistici convenzionali, basati su varianti della ricerca ad albero minimax con potatura alfa-beta e una funzione di valutazione implementata manualmente, e permette di raggiungere un'elevata forza di gioco con uno stile di gioco radicalmente differente e più "creativo", allo stesso tempo valutando ad ogni mossa un numero di posizioni inferiore di diversi ordini di grandezza.[2][3]
Il progetto è nato come fork di Leela Zero, software per il gioco del go a sua volta basato sui concetti di AlphaGo Zero, sviluppato dal programmatore belga Gian-Carlo Pascutto (autore, tra l'altro, del forte motore scacchistico Sjeng).[1][4]
Il progetto è stato annunciato per la prima volta il 9 gennaio 2018 su TalkChess.com.[1][5] Nell'arco di pochi mesi, il motore ha raggiunto una forza di gioco sovrumana e ha iniziato a prendere parte a competizioni contro altri motori scacchistici.
Nell'aprile 2018 Leela è divenuta il primo motore basato su reti neurali a competere nel Top Chess Engine Championship (TCEC), partecipando alla divisione 4 della dodicesima stagione.[6] I risultati al debutto sono stati deludenti, con solo una vittoria (dovuta ad un crash dell'avversario), due patte e ventisei sconfitte,[7] tuttavia la forza di gioco è aumentata rapidamente nei mesi seguenti. A luglio Leela si è classificata settima (su otto partecipanti) al World Computer Chess Championship,[8] e si è classificata prima nella quarta divisione TCEC nella successiva stagione con 14 vittorie, 12 patte e due sconfitte.[7] Promossa in terza divisione, Leela ha ottenuto 7 vittorie, 18 patte e 3 sconfitte, raggiungendo il secondo posto ex aequo con Arasan ma non venendo promossa a causa del punteggio sfavorevole con quest'ultimo negli scontri diretti.[7]
Nel settembre 2018 Leela ha preso parte al Chess.com Computer Chess Championship (CCCC),[9] superando il primo turno al quinto posto (su 24 partecipanti) e raggiungendo il quarto posto al secondo turno,[10][11] battendo infine Komodo in un match di 30 partite per il terzo posto finale (il torneo è stato vinto da Stockfish).[12][13] In una delle partite bonus, Leela ha battuto Stockfish nonostante un pedone di handicap a sfavore.[14] Nello stesso periodo, Leela ha preso parte alla TCEC cup, evento nel quale motori partecipanti a differenti divisioni del TCEC possono competere insieme. Leela ha sconfitto Laser, Ethereal e Fire, partecipanti a divisioni più alte, prima di essere eliminata in semifinale da Stockfish.[15]
Nell'ottobre e novembre 2018 Leela ha preso parte alla Chess.com Computer Chess Championship Blitz Battle,[16] arrivando terza dietro Stockfish e Komodo.[17] Nel dicembre dello stesso anno ha preso parte alla quattordicesima stagione del TCEC, ottenendo il primo posto in terza e in seconda divisione e arrivando seconda dietro a Stockfish in prima divisione, qualificandosi per la superfinale contro quest'ultimo, dove perse con un punteggio di 49,5-50,5.[7]
Nel febbraio 2019 Leela ha ottenuto il suo primo trofeo internazionale vincendo, imbattuta, la seconda edizione della TCEC cup, battendo Houdini in finale.[7] Nel maggio 2019 Leela difese il titolo, battendo Stockfish 5,5-4,5 nella finale della terza edizione della TCEC cup.[18] Leela vinse la superfinale della quindicesima stagione del TCEC, battendo Stockfish con un punteggio di 53,5-46,5.[19][20]
Nella sedicesima stagione del TCEC Leela terminò terza in premier division, non qualificandosi dunque per la superfinale, un punto dietro Stockfish e mezzo punto dietro AllieStein (altro motore basato su reti neurali). Leela fu l'unico motore a rimanere imbattuto nell'evento, tuttavia ottenne un numero minore di vittorie che la lasciò dietro ai due finalisti.[21] Nella quarta edizione della TCEC cup Leela fu sconfitta nella finale da Stockfish con un punteggio di 4,5-3,5.
Il 21 aprile 2020 Leela si è aggiudicata di fatto la vittoria della superfinale della diciassettesima edizione del TCEC, con cinque vittorie di distacco da Stockfish, ma solo altre quattro partite da giocare. L'ufficialità è arrivata a metà giornata, una volta terminate tutte e cento le partite. Lc0 è stato decretato vincente, con un punteggio di 52.5-47.5. Le vittorie di Leela sono state 17, mentre quelle di Stockfish 12. Entrambi i software, in una disputa ciascuno, sono riusciti a prevalere sull'altro con i neri, replicando quanto avvenuto nella quindicesima superfinale TCEC.[22]