Forum pubblico/privato: Pubblico
Permessi di scrittura: Utenti registrati
Giorno: 15/01/2018, 02:21:35
AlphaZero Kasparov
Kasparov, in un intervista rilasciata a Chess.com a dicembre, riguardo AlphaZero ha sottolineato il fatto che le migliori prestazioni della rete neurale sono state ottenute con il Bianco >

*
A proposito di Alphazero che ha schiacciato Stockfish, ha detto:
“La cosa più sorprendente era, solo statisticamente, il Bianco e il Nero. AlphaZero era totalmente mortale con il Bianco mentre con il Nero era sempre vincente, ma con un margine molto piccolo. Ci dice che fraintendiamo il valore della prima mossa? C'è ancora tanto da imparare.”
*

Intervista completa in inglese:
- Intervista -
Giorno: 19/08/2018, 20:59:34
Link sponsorizzati
Giorno: 15/01/2018, 17:07:04
Nonostante l'immensa stima e il rispetto che nutro nei confronti di Kasparov, uno dei miei giocatori preferiti di tutti i tempi dopo Morphy e Fisher, ritengo che stavolta il buon Garry non abbia fatto altro che riscoprire l'acqua ... calda!

È chiaro che il vantaggio del tratto deve avere una certa importanza.
I migliori motori tradizionali lo quantificano in 2 - 3 decimi di pedone, almeno quando li si lascia liberi di decidere da soli.

Ma anche la differenza nella forza di gioco dei due motori può essere quantificata in qualche modo in unità di pedone, proprio come se i pezzi del giocatore più forte valessero di più di quelli del più debole (è lo stesso principio alla base del "contempt").
Per una differenza di 100 punti Elo, come c'era fra AlphaZero e SF8, la cosa si potrebbe tranquillamente quantificare in 4 o 5 decimi di pedone, e quindi ancora più importante del vantaggio del tratto.

Pertanto, quando AZ giocava di Bianco, poteva contare su un vantaggio complessivo stimabile in 6 - 8 decimi di pedone, più che sufficienti a fargli vincere oltre il 50% delle partite.

A colori scambiati, invece, i due fattori tendevano a compensarsi. Ad AZ restava un vantaggio residuo di un paio di decimi di pedone, più che adeguato a prendere una certa iniziativa e a non correre alcun rischio, ma generalmente insufficiente a forzare la vittoria.

Una cosa, invece, credo che meriti molta considerazione, e cioè il fatto che, su 100 partite, AlphaZero non ne abbia perso nessuna.

Quando due motori "convenzionali" (o anche 2 giocatori umani) la cui differenza sia di 100 punti si confrontano su un match di 100 partite, è quasi inevitabile che il motore più forte finisca per perderne qualcuna.
Perché non è accaduto anche ad AlphaZero? mmmm.gifmmmm.gifmmmm.gif

La risposta che preferirei potrebbe essere quella legata a un semplice accidente statistico: ripetendo il match molte volte, AZ sarebbe incappato, prima o poi, in qualche sconfitta.

Se così non fosse, la cosa potrebbe essere un po' più preoccupante, perché potrebbe significare che AZ si è molto avvicinato al limite asintotico della forza di gioco raggiungibile teoricamente da un giocatore di scacchi: il suo gioco sfiorerebbe ormai quella che potremmo chiamare la "perfezione teorica" e ciò significherebbe che ci resta pochissimo spazio di miglioramento per i motori.

Sarebbe stato interessante ripetere l'esperimento di AlphaZero dando al motore la possibilità di confrontarsi con un avversario ancora più forte (Houdini 6 o SF dev) al meglio delle sue impostazioni, e concedere al percorso di autoapprendimento diversi mesi di tempo anziché solo poche ore, come nell'esperimento reale.
Alla fine AZ sarebbe diventato ancora più forte o non ci sarebbe stata più quasi nessuna differenza? mmmm.gifmmmm.gifmmmm.gif

Se questo progetto, o uno simile, come l'eventuale SFZero, dovesse essere ripreso, potremmo magari avere una risposta a questa domanda.

Su una cosa, infine, concordo in pieno con quanto affermato da Kasparov: le partite pubblicate sono state altamente istruttive, e credo anch'io che da motori del genere si possa imparare molto ma molto di più che da quelli di tipo "tradizionale" ...

ciao.gifciao.gif
"TB or not TB..."
Giorno: 17/01/2018, 00:02:07
Dice l'articolo:
”AlphaZero, secondo gli sviluppatori, non utilizza alcuna conoscenza di dominio come le aperture o le tablebase dei finali. Usa una perfetta conoscenza delle regole del gioco e impara da zero. Non usa input umani e gioca da se stesso affinando la sua rete neurale con un metodo chiamato Monte-Carlo Tree Search (MCTS). Questo è un approccio completamente nuovo dalla ricerca sugli alberi di potatura Negamax Alph-Beta.”

Accidenti! Chissà cosa si inventeranno ora quei simpatici istruttori nostrani che stigmatizzano a prescindere i motori e i loro progressi. Me ne ricordo uno che ci dava dentro alla grandissima: "Motori che imitano il modo di giocare dell'uomo? Ah ah ah!" Si faceva grasse risate. Ma chi di scherno ferisce, vessato finisce. Sarà bullizzato a vita dai fan di AlphaZero.

Devo dire, però, che questo AlphaZero ha anche delle pecche. Sono infatti in commercio motori meno potenti, ma con più inventiva. Si pensi, ad esempio, al buon Lucaschess. Si becca il matto del barbiere dall'ortolano di sotto casa mia, ma può simulare la personalità di molteplici individui e animali. Ricordiamo en passant la scimmia (contro cui disputo partite ricche di pathos) e il nevrotico (foggiato sul modello caratteriale di uno dei suoi programmatori: ha come peculiarità quella di insultare i propri avversari non appena le cose si mettono male, accusandoli di barare. Commette anche errori marchiani, alternandoli a partite sontuose).

Per concludere rivolgo una domanda al caro Luigi. In uno dei suoi interventi dice due cose secondo me in contraddizione. La prima è che AlphaZero sfiorerebbe ormai la perfezione teorica, lasciando ai motori un margine minimo di miglioramento. La seconda è che le partite di questo mostro artificiale sarebbero comunque assai istruttive.

Ma il sottoscritto si chiede: è davvero istruttiva una sequenza di mosse perfettamente coerente e che porti senza fallo il giocatore con il tratto a dare scacco matto? La risoluzione del gioco sarà effettivamente stimolante da un punto di vista intellettuale? Non si rischia che la montagna partorisca un topolino e che tutto questo anelito si risolva in un orgasmo veloce e insoddisfacente?

Me li immagino, migliaia di scacchisti da tutto il mondo, bagnati di sudore dopo una notte insonne e con la sigaretta accesa in bocca. Depressi.
Giorno: 17/01/2018, 08:07:30
Ciao Qfwfq: è un vero piacere risentirti dopo tanto tempo! zizi.gif

Le partite di AZ sono "istruttive" secondo me nel senso che si riesce finalmente a cogliere una certa idea unitaria nelle manovre del motore: le mosse precedenti sono in qualche modo finalizzate a quelle successive, come se riuscisse a concepire un vero e proprio piano di gioco, almeno secondo gli standard a cui siamo stati abituati studiando le partite dei migliori Grandi Maestri.

Le mosse di AlphaZero sembrano avere una "logica" che si riesce a cogliere guardando il seguito della partita.
Quelle dei motori "convenzionali" sembrano spesso, ai nostri poveri cervelli al carbonio, solo un'accozzaglia di mosse slegate fra loro, anche se alla fine risultano maledettamente efficaci! dho.gif

Per quanto riguarda la frustrazione a cui hai accennato nella conclusione del tuo intervento, devo riconoscere di averla già provata qualche anno fa, quando installai per la prima volta le table base di Nalimov (che indicano correttamente la sequenza più breve per conseguire la vittoria) e provai a vederle all'opera su finali che la teoria riteneva facilmente patti.

Purtroppo le sequenze vincenti ricavabili dalle TB si basavano su manovre quasi del tutto incomprensibili e con tante mosse uniche che nessun giocatore umano sarebbe mai riuscito a trovare in partita. Utilità pratica per migliorare il proprio gioco? Zero, almeno in quel tipo di posizioni, caratterizzate dalla presenza di pezzi senza pedoni! dho.gif

Giocare a scacchi da Dio deve essere una cosa maledettamente complicata, e fin qui nulla ci piove, ma può essere anche maledettamente noiosa, come giustamente metti in evidenza.

Concordo allora con te che forse è molto più divertente giocare, e magari vincere, contro una delle tante personalità del tipo "pollo alla diavola" di Lucaschess ... biggrin.gifbiggrin.gif

ciao.gifciao.gif
"TB or not TB..."
Giorno: 17/01/2018, 16:53:17
A proposito, Luigi, come mai Lucaschess non partecipa al TCEC? Neppure in quarta divisione? Sarebbe bello convincere Orcodituapse a iscriverlo alla competizione. Sai che sfide contro Scorpio o Pedone? Chiaramente Lucaschess avrebbe il vantaggio di utilizzare personalità ad hoc, come quella di Drogba o Lampard. Oppure altre più aggiornate come Jose Mourinho, per irridere l'avversario con sfottò tipo “zeru tituli”.

E, sempre sul TCEC, pensi che in futuro AlphaZero possa parteciparvi, magari in una versione più snella e meno pompata?
Giorno: 17/01/2018, 18:22:10
biggrin.gifbiggrin.gif

Da quel poco che mi risulta (ma in realtà non lo utilizzo affatto, e quindi potrei anche dire una grossa cavolata) Lucaschess è sostanzialmente un'interfaccia grafica per utilizzarlo anche con altri motori, un po' come Fritz. Non so il motore di base a che livello di forza possa giocare quando è a tutta potenza.

Per partecipare al TCEC bisogna essere nelle grazie degli organizzatori, ma credo che occorrano almeno 2800 punti, o giù di lì.

Il nostro Pedone ne era accreditato di meno di 2500, ma ha dato prova di valerne molti di più, così come Laser, quotato 2562 ma che è in seconda posizione nel torneo di seconda divisione con buone possibilità di centrare il doppio salto di categoria conquistando l'ammissione in prima.

Per quanto riguarda AlphaZero, purtroppo non credo che lo rivedremo tanto presto in azione (e del resto abbiamo potuto visionare solo le migliori 10 fra le 100 partite complessivamente giocate; sarebbe già tanto se si decidessero finalmente a pubblicare anche le altre 90 mmmm.gifmmmm.gifmmmm.gif).

Il Team sponsorizzato da Google ha ottenuto ciò che si era prefisso portandosi al centro dell'attenzione dei media e al momento non avrebbe nient'altro da guadagnarci, un po' come accadde per l'IBM con Deep Blue dopo la seconda sfida vinta contro Kasparov.

Inoltre per girare al meglio avrebbe bisogno di un hardware molto più potente di quello utilizzato al TCEC.

Si è trattato in definitiva di una bella ventata di novità nel panorama un po' asfittico dei motori tradizionali. Ha sollevato tante perplessità per le modalità con cui si è svolto il match contro SF8, ma ci ha fatto intravedere e gustare quello che potrebbe essere il futuro dei programmi scacchistici della prossima generazione ...

ciao.gifciao.gif
"TB or not TB..."
Giorno: 20/01/2018, 04:39:58
Sono stati necessari meno cores per far correre un androide di quelli usati per far vincere AlphaZero vs Stockfish! (La rete neurale per giocare a scacchi ha impiegato un hardware Intel con 600 cores!!)

image 1637
Giorno: 05/02/2018, 18:32:27
L'hardware utilizzato da Google poco c'entra con l'architettura x86 di intel.
Le TPU indicate nell'articolo sono Tensor Processing Unit, unità hardware custom-designed da google stessa che fanno calcoli in virgola mobile (quindi l'esatto contrario di quello che si usa nei chess engines dove tutto viaggia su numeri interi, bit shift, ecc.).
Confrontare le potenze di calcolo messe in gioco è impossibile (TFLOP delle TPU versus cosa ?) ma è sicuramente vero che la potenza di fuoco teorica a disposizione di Google era pressochè infinita.
Da ex-programmatore di chess engine la cosa che mi "emoziona" è che finalmente spingendo un algoritmo di apprendimento (IA?) ed "insegnando" alla macchina a giocare a scacchi (hanno provato anche con il go!) si ottengano questi risultati !!!
I "vecchi algoritmi" sono destinati a lasciare il posto a questa ventata di aria nuova.

Per chi fosse interessato qui trovate l'articolo originale in inglese che illustra i dettagli dei Tensor Processing Unit.
Aggiungo che la prima versione delle TPU di google era software e si basava su architettura CUDA di nvidia (credo la serie volta e non la pascal, ma non sono sicuro).

Un saluto,
/Matteo
https://sites.google.com/site/mdannib/home
Giorno: 19/02/2018, 10:37:27
Kasparov afferma, nell’intervista postata sopra in questa discussione, che le partite di AlphaZero ci hanno rilevato che forse gli scacchisti hanno sottovalutato il vantaggio del tratto Bianco (in virtù della grande maggioranza di partite vinte da AlphaZero con il Bianco).
Ma vediamo cosa scriveva già un secolo fa Capablanca:

” Quando i pezzi sono messi sulla scacchiera i giocatori hanno la stessa posizione e lo stesso materiale. Il Bianco ha, tuttavia, il tratto ed il tratto significa, in tal caso, « l'iniziativa » e questa costituisce un vantaggio. ”
- da ‘I Fondamenti degli Scacchi’

A quanto pare il vantaggio del tratto è sempre stato considerato dalla teoria, ma forse Kasparov voleva dire che non era stato considerato “abbastanza”. O forse ha ragione Luigi a dire che questa volta Kasparov ha scoperto l'acqua calda.
Giorno: 19/03/2018, 23:48:56
AlphaZero codice sorgente
Luigi scriveva che non c'erano speranze di vedere a breve una ricaduta della tecnologia di AlphaZero nei motori di scacchi usabili sui PC di casa. Eppure timidamente in questa direzione qualcosa si muove.

Riguardo il codice di AlphaZero qualcosa sta uscendo, ovvero programmi e tool che sfruttano i principi machine learning usati da AlphaZero, almeno il metodo concettuale.

Uno di questi programmi open source e Zeta36, un programma scritto in Python con codice liberamente scaricabile da GitHub.
Il programma è accreditato dall'autore di una forza di gioco di circa 1200 p. elo, e secondo le sue dichiarazioni si basa sui principi di auto apprendimento di AlphaZero. Alla pagina GitHub di Zeta36 si trovano anche utili collegamenti a risorse per sviluppatori di chess A.I.

I primi vagiti di codice nascente dei nuovi motori del futuro?

(materiale per sviluppatori/programmatori, non è un programma utilizzabile dai giocatori)
Link a Zeta36: - Zeta36 -