Leela Chess Zero | |
---|---|
Type | Skakmotor |
Forfatter | Jean-Carlo Pascutto , Gary Linscott |
Udvikler | Gary Linscott, Alexander Lyashuk og andre |
Første udgave | 9. januar 2018 |
nyeste version | v0.29.0 [1] (4. april 2022 ) |
Licens | GNU GPLv3 |
Internet side | lczero.org |
Leela Chess Zero er en gratis og open source skakmotor baseret på neurale netværk og et distribueret computerprojekt .
Ligesom Leela Zero og AlphaGo Zero er Leela Chess Zero programmeret med kun spillets regler og ved ikke mere end det [2] . Leela Chess Zero er trænet på et distribueret computernetværk koordineret på Leela Chess Zero-webstedet. Fra august 2018 har hun trænet ved at spille over 23 millioner skakspil mod sig selv. [2] Til computerneurale netværk understøtter programmet DirectX 12 , CUDA (med og uden CudNN), BLAS , Tensorflow og andre biblioteker [3] .
I 2015 annoncerede DeepMind AlphaGo- programmet , som spillede Go på niveau med de bedste spillere i verden [4] . I oktober 2018 udkom en opdateret version af programmet kaldet AlphaGo Zero , som spillede endnu stærkere [5] . DeepMind har beskrevet algoritmen i detaljer, men har ikke offentliggjort kildekoden eller frigivet programmet til offentligheden. Derfor føjede den belgiske programmør Jean-Carlo Pascutto denne algoritme til sin Leela open source Go-spilmotor og kaldte den Leela Zero .
Den 5. december 2017 udgav DeepMind et fortryk [6] af en artikel om skabelsen af AlphaZero , en opdateret version af algoritmen, der ikke kun kunne spille Go, men også skak og shogi .
Den 9. januar 2018 annoncerede en af udviklerne af Stockfish skakmotoren , Gary Linscott, [7] starten på arbejdet med Leela Chess Zero-projektet. Implementeringen af det neurale netværk og implementeringen af søgealgoritmen blev taget fra Leela Zero, og genereringen af bevægelser blev taget fra Stockfish. I slutningen af februar 2018 begyndte træningen af det første netværk.
I april 2018 omskrev den hviderussiske udvikler Alexander Lyashuk fuldstændigt [8] motorkoden ved hjælp af Tensorflow- biblioteket i stedet for OpenCL . Dette accelererede kraftigt algoritmen og reddede koden fra at låne fra Stockfish og Leela Zero. Senere blev en masse backends tilføjet til motoren , hvilket gjorde det muligt for programmet at arbejde på forskellig hardware. En vigtig forbedring af motoren var tilføjelsen af understøttelse af CudNN- biblioteket af den indiske programmør Ankan Banerjee , hvilket i høj grad accelererede beregninger på de seneste NVidia 2xxx-serievideokort med tensorkerner på det tidspunkt.
Inden for de første par måneders træning har Leela Chess Zero allerede nået niveauet som en stormester , og overgået de tidlige udgivelser af Rybka, Stockfish og Komodo i styrke, på trods af at den analyserer flere størrelsesordener færre positioner, når man bruger MCTS.
I december 2018 offentliggjorde AlphaZero- holdet et nyt papir i tidsskriftet Science , der afslørede hidtil ukendte detaljer om arkitekturen og træningsparametrene brugt til AlphaZero [9] . Disse ændringer blev hurtigt indarbejdet i Leela Chess Zero og øgede hans styrke og træningseffektivitet [10] .
I april 2018 blev Leela Chess Zero den første neurale netværksmotor til at deltage i Top Chess Engine Championship (TCEC). [11] Leela viste ikke gode resultater: i 28 kampe vandt hun en, rejste to og tabte resten; hendes eneste sejr er modstanderens hang, Scorpio 2.82 [12] . Hun blev dog hurtigt bedre. I juli 2018 blev Leela nummer syv ud af otte deltagere i World Computer Chess Championship 2018 [13] , og den følgende TCEC-sæson vandt hun fjerde division 4 med en rekord på 14 sejre, 12 uafgjorte og 2 tab [14] . Da Lila først var rykket op til tredje division, sluttede hun på 2. pladsen med Arasan, men gik ikke videre (i tilfælde af uafgjort afgør direkte spil oprykningen). Hendes rekord i Division 3 er 7 sejre, 18 uafgjorte og 3 tab [14] .
I september 2018 er Leela blevet konkurrencedygtig med de mest kraftfulde programmer i verden. Ved 2018 Chess.com Computer Chess Championship (CCCC) [15] blev Leela nummer fem ud af 24 deltagere. De otte bedste programmer gik videre til anden runde, hvor Leela blev nummer fire [16] [17] . Leela vandt derefter en 30-kamps kamp mod Komodo og hævdede 3. pladsen i turneringen [18] [19] . Samtidig deltog Leela i TCEC Cuppen, hvor programmer fra forskellige TCEC-afdelinger kan spille mod hinanden. Leela besejrede de højere divisionsprogrammer Laser, Ethereal og Fire, men blev til sidst elimineret af Stockfish i semifinalerne [20] .
I oktober og november 2018 deltog Leela i Chess.com Computer Chess.com Championship Blitz Battle [21] . Leela sluttede på tredjepladsen bag Stockfish og Komodo. [22]
I december 2018 deltog Lila i den 14. sæson af Skakmesterskabet. Leela dominerede division 3, 2 og 1 og sluttede let først i hver. Hovedafdelingen var domineret af Stockfish, mens Houdini , Komodo og Leela var i kamp om andenpladsen. Det kom til et spil i sidste runde, hvor Leela skulle holde Stockfish bundet med sort for at slutte på andenpladsen foran Komodo. Det lykkedes for hende og vil kæmpe Superfinalen mod Stockfish. [23]
I februar 2019 opnåede Lila sin første store turneringssejr ved at besejre Houdini i finalen i den anden TCEC Cup. Leela tabte ikke et eneste spil gennem hele turneringen [24] [25] . Den 23. februar 2019 sluttede TCEC Super Final (sæson 14, 2018), hvor Leela tabte til Stockfish i versionen af 3. februar 2019 med en score på 50½–49½ i den hårdeste kamp.
I april 2019 vandt Leela Chess.com Computer Chess Championship 7: Blitz Bonanza. [26] Hun endte derefter på andenpladsen ved Computer Chess Championship 8: Deep Dive og tabte til Stockfish. [27]
I maj 2019 vandt Leela TCEC Cuppen ved at slå Stockfish 10 i finalen 5½–4½ (+2 =7 −1). Hun vandt også TCEC 15 Super Final mod Stockfish. [28] [29] . I april 2020 besejrede hun igen Stockfish i TCEC Season 17 Super Final
I de fire efterfølgende TCEC-finaler (sæson 18-21) blev Leela nummer to og tabte til Stockfish i Superfinalen med henholdsvis 53½-46½, 54½-45½, 53-47 og 56-44.
Fra 2021 er Leela et af de tre stærkeste skakprogrammer.
Skak | |
---|---|
Hovedartikler | |
Skak inventar | |
skak regler | |
Gloseliste over betingelser | |
Skak taktik | |
Skak strategi | |
debuterer | |
Slutspil | |
Skaksider |
|
Skak programmer |