World Computer Chess Championship 2018
Dopo tre edizioni, il World Computer Chess Championship, organizzato dalla International Computer Games Association, ha lasciato l’Università di Leiden per aver luogo quest’anno a Stoccolma, presso il centro congressi Stockholmsmässan, dal 13 al 19 luglio, negli stessi giorni in cui si teneva la IJCAI-ECAI 2018 con circa 5000 partecipanti giunti da tutto il mondo. L’ultima volta che si era giocato a Stoccolma è stato nel 1974 per la prima edizione. Quest’anno c’era anche un GM a commentare le partite per il pubblico: Harry Schüssler. Come di consueto, si sono disputate tre competizioni: il World Computer Speed Chess Championship con controllo a tempo di 5’+5”, il World Computer Software Championship con tc di 45’+15” e il World Computer Chess Championship con tc di 1h45’+15”.
Dieci i programmi iscritti:

Solo alcuni hanno giocato in tutti e tre i tornei. Nel WCSC l’hardware utilizzato era lo stesso per ogni programma e consisteva in un portatile con un Intel i7-8550U, 16GB di RAM e un SSD per le tablebases. Negli altri due campionati l’hardware era libero. Degni di nota i cluster con 2592 e 640 core utilizzati rispettivamente dai tedeschi Jonny e GridGinkgo. Jonny, in particolare, analizzava tra i 2 e i 3 miliardi di posizioni al secondo. Komodo ha utilizzato un server con 60 core Xeon v2 mentre Chiron girava su un server fornito dalla E4 Computer Engineering di Reggio Emilia, con 2x processori AMD Epyc (64 core). C’era grande interesse per Leela Chess Zero, un programma open-source basato sul deep learning nato solo a gennaio di quest’anno. Avrebbe dovuto utilizzare 8x Nvidia Tesla V100 ma dopo due partite del WCCC il suo operatore è andato via per problemi familiari e il sostituto che si è trovato aveva a disposizione “solo” 2x Nvidia GTX 1080Ti.
Il 13 luglio si è giocato il mondiale blitz. Il formato scelto per poter terminare prima della trasmissione del documentario su AlphaGo è stato un triplo round robin. Komodo ha vinto facilmente con 9/12. In seconda posizione condivisa Shredder, Chiron e GridGinkgo. Gli operatori di Chiron e GridGinkgo hanno commesso un errore nel riportare la mossa sulla scacchiera facendo perdere, secondo le regole del mondiale blitz, la partita ai loro programmi. Non è raro che succeda vista la concitazione e il breve tempo a disposizione ma certamente non deve essere piacevole, specialmente quando accade in posizioni patte o addirittura di vantaggio.
| No. | Name | 1 | 2 | 3 | 4 | 5 | Score | SB |
| 1. | Komodo | X | 1.5 | 2.0 | 3.0 | 2.5 | 9.0 | 47.00 |
| 2. | Shredder | 1.5 | X | 1.0 | 1.5 | 2.0 | 5.5 | 33.50 |
| Chiron | 1.0 | 2.0 | X | 1.5 | 1.0 | 5.5 | 32.75 | |
| GridGinkgo | 0.0 | 2.0 | 1.5 | X | 2.0 | 5.5 | 28.50 | |
| 5. | Jonny | 0.5 | 1.0 | 2.0 | 1.0 | X | 4.5 | 26.50 |
Sabato 14 e domenica 15 si è giocato il mondiale software, un round robin con 9 partecipanti. Komodo e l’ucraino Booot sono arrivati primi a pari punti con 5.5/9. Il primo si è aggiudicato il titolo vincendo il play-off per 2-0. Da segnalare la vittoria di The Baron contro il ben più forte HIARCS. Probabilmente, la scelta da parte dell’operatore di HIARCS di utilizzare mezzo pedone come valore per il contempt, per spingere il programma ad evitare la patta e cercare di vincere, ha contribuito alla sconfitta.
| No. | Name | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Score | SB |
| 1. | Komodo | X | 0.5 | 0.5 | 1.0 | 0.5 | 0.5 | 0.5 | 1.0 | 1.0 | 5.5 | 21.75 |
| Booot | 0.5 | X | 0.5 | 0.5 | 0.5 | 0.5 | 1.0 | 1.0 | 1.0 | 5.5 | 21.00 | |
| 3. | Ginkgo | 0.5 | 0.5 | X | 0.5 | 0.5 | 0.5 | 0.5 | 1.0 | 1.0 | 5.0 | 19.25 |
| Jonny | 0.0 | 0.5 | 0.5 | X | 0.5 | 1.0 | 0.5 | 1.0 | 1.0 | 5.0 | 18.75 | |
| 5. | Shredder | 0.5 | 0.5 | 0.5 | 0.5 | X | 0.5 | 0.5 | 0.5 | 1.0 | 4.5 | 18.00 |
| Chiron | 0.5 | 0.5 | 0.5 | 0.0 | 0.5 | X | 0.5 | 1.0 | 1.0 | 4.5 | 16.75 | |
| 7. | Hiarcs | 0.5 | 0.0 | 0.5 | 0.5 | 0.5 | 0.5 | X | 0.0 | 1.0 | 3.5 | 14.00 |
| 8. | The Baron | 0.0 | 0.0 | 0.0 | 0.0 | 0.5 | 0.0 | 1.0 | X | 1.0 | 2.5 | 7.00 |
| 9. | Pauline | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | X | 0.0 | 0.00 |
Dal 16 al 19 luglio si è, infine, giocato il WCCC. Nel primo turno si è subito avuta una delle partite più attese tra Leela e Komodo. La posizione finale raggiunta era patta da tablebases ma Leela non le aveva, il suo operatore era inesperto, al primo torneo, e non sapeva di poter proporre la patta. Inoltre Leela aveva una GUI testuale, l’operatore doveva digitare le mosse perdendo del tempo e aveva impostato Leela con 10” di incremento rispetto ai 15” disponibili, un valore troppo alto considerando il tempo che perdeva per inserire ogni mossa. Insomma, alla fine, Leela ha perso questa partita per il tempo in una posizione assolutamente patta. Circa il 70% delle partite sono terminate con una patta. All’ultimo turno si giocavano Shredder-GridGingko e Chiron-Komodo. I programmatori di Shredder e GridGinkgo hanno entrambi cercato di vincere la partita, Shredder per cercare di arrivare secondo e GridGinkgo per arrivare primo a pari punti con Komodo, sperando che pattasse con Chiron, cosa che è avvenuta. Shredder non ha gestito correttamente la posizione, perdendo e permettendo, quindi, a GridGinkgo di agganciare il primo posto. Chiron non avendo vinto precedentemente nè con The Baron nè con Leela, non ha potuto approfittare della sconfitta di Shredder per arrivare terzo insieme a Jonny. Sono quindi seguite le partite di spareggio tra Komodo e GridGinkgo. Vincendo la prima con i neri e pattando la seconda, Komodo si è laureato per la terza volta di seguito campione del mondo.
| No. | Name | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Score | SB |
| 1. | Komodo | X | 0.5 | 0.5 | 0.5 | 1.0 | 0.5 | 1.0 | 1.0 | 5.0 | 15.00 |
| 2. | GridGinkgo | 0.5 | X | 0.5 | 0.5 | 0.5 | 1.0 | 1.0 | 1.0 | 5.0 | 13.25 |
| 3. | Jonny | 0.5 | 0.5 | X | 0.5 | 0.5 | 0.5 | 1.0 | 0.5 | 4.0 | 13.00 |
| 4. | Chiron | 0.5 | 0.5 | 0.5 | X | 0.5 | 0.5 | 0.5 | 0.5 | 3.5 | 12.25 |
| Booot | 0.0 | 0.5 | 0.5 | 0.5 | X | 0.5 | 0.5 | 1.0 | 3.5 | 11.00 | |
| Shredder | 0.5 | 0.0 | 0.5 | 0.5 | 0.5 | X | 0.5 | 1.0 | 3.5 | 10.50 | |
| 7. | Leela Chess Zero | 0.0 | 0.0 | 0.0 | 0.5 | 0.5 | 0.5 | X | 0.5 | 2.0 | 6.00 |
| 8. | The Baron | 0.0 | 0.0 | 0.5 | 0.5 | 0.0 | 0.0 | 0.5 | X | 1.5 | 4.75 |
Sebbene il risultato di Leela possa sembrare deludente, c’è da considerare che ha dovuto utilizzare un hardware inferiore rispetto a quello atteso, gli operatori erano inesperti, non utilizzava le tablebases e non aveva un libro delle aperture, perché in contrasto con la filosofia del partire da zero. Questo però ha permesso agli avversari di sapere, per esempio, che apriva sempre con 1.c4 e prepararsi un po’ meglio. Solo nelle ultime partite le è stato fatto utilizzare un piccolo libro di 2-3 mosse.
Questa potrebbe essere stata l’ultima edizione vinta da un classico programma basato su ricerca alpha-beta più valutazione euristica. Oltre a Leela, si è saputo che anche Jonny utilizzava una rete neurale per la funzione di valutazione, abbastanza piccola da poter girare sulla cpu, e anche altri programmatori sono sembrati interessati, consci che, molto probabilmente, il deep learning rappresenta il futuro anche della computer chess.














26 luglio 2018 - 12:28
Molto interessante.
Ho una domanda per l’autore, se ci ascolta, e se non è troppo complessa da trattare in poche righe.
Il futuro sta nelle reti neurali ( perchè l’hardware ha raggiunto limiti tecnologici difficili da valicare ) e i programmi professionali si adatteranno prima o poi.
Ma per i nostri piccoli computer casalinghi è ancora presto, suppongo.
Leggo che piccole reti neurali possono essete insediate anche nei processori casalinghi attuali.
Immagino che possano aiutare l’apprendimento del software nelle prime mosse delle partite, non credo per le posizioni finali o che vi si approssimano, quindi la domanda è:
le tablebases saranno comunque necessarie oppure il deep learning può essere esteso fino alle posizioni di 6-7-8 pezzi, in tempi non proibitivi ?
26 luglio 2018 - 22:32
Non si tratta tanto di superare dei limiti tecnologici quanto di avere, grazie ad una rete neurale ben addestrata, una funzione di valutazione superiore rispetto a quelle che fino ad oggi sono state sostanzialmente delle funzioni di valutazioni “artigianali” nelle quali è il programmatore, o un giocatore esperto del team, a decidere quali caratteristiche di una posizione valutare e quali valori assegnare, utilizzando eventualmente dei metodi di tuning automatico che funzionano fino ad un certo punto. Per farle un esempio: a Stoccolma, Shredder si dava, ad un certo punto, quasi un pedone di vantaggio nella partita contro Leela ma per quest’ultima la posizione era equilibrata. La partita è terminata patta. L’autore di Shredder ha detto: “If it can saves positions like these ones I quit chess programming” 🙂
Leela può girare anche su una cpu normale ma è molto più veloce su una gpu. Già con una scheda di fascia media come la GTX 1060 è molto forte.
Per quanto riguarda Jonny non si sa niente, ci ha solo detto che la NN era abbastanza piccola da poter girare su una cpu senza essere significativamente più lenta rispetto alla versione normale.
Non so se questi programmi arriveranno mai ad un punto tale da trarre solo un giovamento minimo dall’utilizzo delle tablebases. Certo è che queste ultime forniscono il risultato esatto e se l’attuale Leela le avesse utilizzate contro Komodo avrebbe probabilmente scelto delle mosse diverse rispetto a quelle che l’hanno portata in una posizione patta che però valutava, mi pare, circa +2. Una delle idee che ho sentito propone di utilizzare più di una rete neurale per evitare di averne una sola addestrata con posizioni che vanno dall’apertura al finale.
Sarà interessante anche capire se per la ricerca sarà meglio il classico alpha-beta o la ricerca con metodo di Monte Carlo, utilizzata in Leela e in AlphaZero. Per adesso c’è una versione di Komodo con la MCTS che è circa 250 punti più debole di quella standard.
27 luglio 2018 - 09:35
Ti ringrazio per le precisazioni e i dettagli aggiuntivi.
In effetti la mia idea è che si potrebbe addestrare una rete neurale dedicata facendola combattere contro le tablebases.
Non sarebbe mai più precisa di queste, ma potrebbe risultare molto più veloce, e allora ci sarebbe vantaggio anche nelle posizioni di finale con più pezzi.
27 luglio 2018 - 09:42
p.s. : ho verificato centinaia di posizioni di finale nelle quali tutti i programmi forniscono valutazioni fuorvianti.
Stockfish 9 entra di corsa e ad occhi chiusi in varianti che sono prime nella sua lista ( +5,8 ) ma inesorabilmente patte.
C’è da dire che le regole degli scacchi complicano parecchio la calibrazione di un algoritmo.
Non c’è quasi nulla di lineare ?
Lascia un commento
Devi essere loggato per lasciare un commento. Clicca per Registrati.
Ibiza Chess Festival 2026
Mi candido per il sorteggio!!
Surfing on the Net – Ottobre 2026
Torneo di Arco "trasferito" dal...
Ibiza Chess Festival 2026
Sarà possibile partecipare al...
Ibiza Chess Festival 2026
Inserite foto dalla sede di gioco...
Ibiza Chess Festival 2026
Bella iniziativa, mi candido per...
SuperFinale del Campionato Russo...
Dopo quattro turni, Esipenko...
Spilimbergo Grandmaster
siamo noi che lo sponsorizziamo,...
Spilimbergo Grandmaster
Un torneo chiuso in Italia è...
SuperFinale del Campionato Russo...
Se proprio volgiamo essere...
Ibiza Chess Festival 2026
Ciao Carlo Alberto, da quello che...
Quando il 2026 sta volgendo al termine e...
Si disputa dal 13 al 20 settembre a Cariati...
Giunto all'ottava edizione lo Slovak...
Dopo una pausa di più di un anno, la WR...