Newsgroup: it.hobby.scacchi
Titolo: Rybka battuto

Visto che dalla ricerca sembra che nessuno abbia ancora parlato di
questa cosa mi piacerebbe discuterne(sono appassionato di engine
scacchistici):
Link di riferimento: 
http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?tid=7459
Vadim Milov batte Rybka. Posto che Milov sia 2705 punti ELO e che
Rybka sia dato per 3000+ punti ELO com'è possibile questa cosa?
Ipotesi:
1) L'hardware usato era un 16Mhz con 8MB di ram
2) Rybka non ha 3000+ Elo points(probabile)
3) Entrambe le precedenti ipotesi
4) Fattore Umano(una volta su un miliardo l'umano frega la macchina
indipendentemente dall'hardware usato).
Opinioni?

 ha scritto nel messaggio
news:9809353f-d43e-4344...@v39g2000yqm.googlegroups.com...


Era un match ad handicap.
Nelle due partite standard Rybka ha prevalso 1,5 - 0,5.
Nelle sei partite con handicap Milov ha prevalso 4 - 2.
Insomma i programmatori di Rybka hanno dato troppi vantaggi al GM umano...
Luigi Caselli

 Opinioni?
Occhio... Milov in ogni partita (tranne 2) aveva qualche vantaggio in
partenza (qualità, pedone e mossa, eccetera).
Senza vantaggi, Milov ha perso 1,5 a 0,5 (ha pattato col B e perso col
N).
E cmq la notizia non è nemmeno freschissima...
LS

 indipendentemente dall'hardware usato).
4-bis) Fattore Statistico (una volta su un miliardo il soggetto con 300 
punti Elo in meno frega il soggetto con 300 punti Elo in più, anche senza 
avere il vantaggio della qualità).
Ciao
Edoardo 

 avere il vantaggio della qualità).
Ma anche meno di una su un miliardo.
In 30 anni di tornei ho vinto 4 volte contro maestri con +300 rispetto al
mio elo, e ho perso il conto delle volte in cui ho perso con dei 3N -300
rispetto al mio elo.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Opinioni?
Non vedo ragione di scandalizzarsi, anche a me, ogni tanto, capita di 
perdere qualche partita :-)
Ciao Mauro
-- 
http://www.flickr.com/groups/languageofphotography/
le piů belle foto dal mondo    partecipazione libera
Special award della settimana

 rispetto al mio elo.
Scrivendo <<una volta su un miliardo>> mi limitavo a riprendere la frase che 
avevo quotato, senza alcuna valutazione statistica.
In realtà non ho idea di quale possa essere la frequenza statistica con cui 
un 2700 può *battere* (attenzione: parliamo di vincere, non di fare punti) 
un 3000, ma non puoi fare paragoni con le sfide che da 1850 hai vissuto 
contro i 1550.
Un 2700 (col B...) potrà fare diverse patte contro un 3000, ma batterlo è un 
altro discorso. Mi aspetto che un 3000 sbagli piuttosto poco.
Ciao
Edoardo

 avere il vantaggio della qualità).
Ma comunque, al di la' di questo, quel 3000 da dove salta fuori?
Perche' Milov, o chiunque altro, lo sappiamo come ha fatto a
guadagnarsi negli anni il suo Elo.
Rybka come ha fatto?
Fabio.


Mi stavo chiedendo la stessa cosa :-)
Ciao
Mauro

 un 3000, ......
Per come la sapevo io, la probabilità di vincere contro un giocatore è
data esattamente dal punteggio atteso.
Comunque, secondo me, il punteggio Elo sui computer lascia un po' a
desiderare proprio perché l'indice presuppone una variazione
statistica delle performances (errori compresi) mentre le performances
(qualità di gioco) delle macchine non ha fluttuazioni statistiche. Ma
non vorrei aprire una polemica.

 data esattamente dal punteggio atteso.
No: la probabilità di fare punti è data dal punteggio atteso, non quella di 
*vincere*.
Ciao
Edoardo 

 ha scritto nel messaggionews:cfbf3f1a-ab38-484a...@c36g2000yqn.googlegroups.com...

E' un po' difficile da distinguere e direi che in definitiva non fa
alcuna differenza.
Se il mio PA contro un certo giocatore è 0,40 l'Elo si "aspetta" che
su un match di 10 partite io faccia 4 punti e lui 6. Se poi questo è
il risultato di 4 vittorie mie e 6 sue o 8 patte e 2 vittorie sue (o
qualunque altra combinazione) nulla cambia per il sistema.

 qualunque altra combinazione) nulla cambia per il sistema.-
Nulla cambia per il sistema Elo, ma non era di quello che stavamo
parlando.
Il thread si chiama "Rybka battuto".
Si parla specificamente di una partita in cui un (presunto) Elo 3000
viene battuto da un Elo 2700.
Ciò che ha colpito l'autore del thread non è che Milov abbia
genericamente "fatto punti" contro Rybka, ma che lo abbia proprio
*battuto*.
E lo stupore dell'autore del thread (il quale non sapeva dell'handicap
concesso da Rybka) è perfettamente condivisibile, giacchè per un 2700
contro un 3000 è molto più facile fare due mezzi punti che ottenere
una vittoria.
Ciao
Edoardo

 una vittoria.
Sono perfettamente d'accordo!
Ma quello che voglio dire è che questa maggiore difficoltà a vincere
una partita piuttosto che a ottenere due patte è una difficoltà
psicologica umana, che il sistema Elo non rileva e non misura.
Tutto quello che l'Elo dice è che se un giocatore ha 300 punti in meno
del suo avversario il suo punteggio atteso è 0.15 (ho controllato il
dato sulle tabelle). Questo equivale a dire che l'Elo si "aspetta" che
il giocatore realizzi 1,5 punti su un match di 10 partite.
E' facile convincersi che da un punto di vista meramente statistico
questo vuol dire che il giocatore debole avrebbe (se consideriamo il
sistema Elo accurato) il 15% delle probabilità di vincere una singola
partita.
Poi lo sappiamo tutti che in pratica un 2400 se lo sogna di vincere 15
partite ogni 100 contro un 2700, ma proprio perché il gioco degli
scacchi ha più di due risultati possibili e i pareggi sono possibili.
Se si evitassero le patte con un sistema di tie-break che rispettasse
l'abilità scacchistica il rapporto vittorie/partite giocate
risulterebbe vicino a quello previsto dal PA (sperabilmente, o se no
bisognerebbe buttare via l'Elo)

 psicologica umana, che il sistema Elo non rileva e non misura.
Rivediamo un'ultima volta i fatti.
1) Deadasyesterday scrive: <<Com'è possibile che un 2700 abbia *battuto* un 
3000?>>
Ciò che lo stupisce non è il fatto che il 2700 in quel match abbia fatto 
parecchie patte, ma il fatto che il 2700 abbia *vinto* una partita.
2) Io rispondo che - per raririssimo che possa essere dal punto di vista 
statistico - il fatto che un 2700 batta un 3000 non è comunque impossibile.
3) Roberto Montaruli replica che la vittoria di un 2700 contro un 3000 non 
dovrebbe essere poi così rara, dato che lui in carriera ha *vinto* (si 
parlava di *vincere*) quattro volte con giocatori di 300 punti superiori a 
lui.
4) Io replico a Montaruli che un conto è *vincere* contro un giocatore 
superiore a livelllo di 1850, altro conto è farlo a livello di 3000.
Aggiungo che: <<In realtà non ho idea di quale possa essere la frequenza 
statistica con cui
un 2700 può *battere* (attenzione: parliamo di vincere, non di fare punti) 
un 3000, .....>>.
5) A questo punto arrivi tu e - quotando la frase di cui sopra - osservi: 
<<Per come la sapevo io, la probabilità di vincere contro un giocatore è
data esattamente dal punteggio atteso>>.
Questa tua affermazione è semplicemente *sbagliata*, cosa che ho fatto 
rilevare con il mio messaggio successivo.
La probabilità di vincere e quella di fare punti sono cose ben diverse, come 
peraltro avevo già evidenziato nella parentesi del mio messaggio di cui al 
punto 4).
La probabilità di *fare punti* contro un giocatore è data esattamente dal 
punteggio atteso, ma *non* è così per la probabilità di *vincere*.
Per un 2700 che sfida un 3000 la probabilità di *vincere* è prossima allo 
zero, nonostante i punti attesi siano 0.15.
Ribadisco: la precisazione con la quale sei entrato nel thread ("la 
probabilità di vincere contro un giocatore è
data esattamente dal punteggio atteso") è *sbagliata*.
Poi le altre considerazioni che hai fatto sul funzionamento del sistema Elo 
sono corrette. Ma non è del sistema Elo che si parlava: sul generale 
funzionamento del sistema Elo siamo tutti d'accordo.
Ciao
Edoardo

 partita.
In realta' no. Sarebbe vero solo se la probabilita' della patta nella
singola partita fosse 0%, e ovviamente non e' cosi'.
Cioe':
1-0       15%
1/2-1/2   0%
0-1       85%
Butto la' una stima al volo - sicuramente non esatta - ma piu'
credibile della precedente:
1-0         5%
1/2-1/2  20%
0-1       75%
Se cosi' fosse, punti attesi 0.15 => probabilita' di vincere 0.05
ciao,
Marco.

 Mi stavo chiedendo la stessa cosa :-)
Rybka ha giocato con qualcuno che ha giocato con qualcuno che ha giocato
con qualcuno... ecc. Dove i primi "qualcuno" sono sicuramente computer,
mentre gli ultimi "qualcuno" sono sicuramente umani. Sulla transitivita'
dell'Elo non si discute, altrimenti si mette in discussione l'Elo stesso.
Resta comunque fondato insinuare in qualche modo che quel 3000 abbia un
errore troppo ampio per poterlo distinguere nettamente da un 2900 o da un
3100. Che pero' stiamo parlando di numeri di quell'ordine di grandezza e
ormai irraggiungibili per un umano, quasi nessuno piu' lo mette in
discussione.
Ciao, Bruno.


 dell'Elo non si discute, altrimenti si mette in discussione l'Elo stesso.
Io pero' ribadisco la domanda.
Io per esempio, ho vinto un torneo promozione a Verona, boh,
nel 2002-2003, non ricordo e da quel giorno avevo ELO 1500.
Poi ho preso la seconda facendo 4/8 al provinciale e sono diventato
1600.
100 punto me li hanno regalati cosi', cortesemente...
Ero arrivato di torneo in torneo a 1745 elo italia (dopo essere sceso
fino
a credo 1570 di minimo) quando, all'improvviso, sono diventato
1845 Elo fide, in base a due tranche ottenute al torneo di Arco e al
provinciale 2008.
Poi ho fatto altri due tornei guadagnando 5 e 9 punti.
Al primo aprile quindi saro' 1859 Elo fide.
Se qualcuno fosse volesse ricostruire con precisione il mio Elo negli
anni, potrebbe farlo,
cosi' come lo si puo' fare di Anand o Kasparov.
Di Rybka?
Da quanto e' partito e quando? Dove trovo le variazioni?
Fabio.

 Da quanto e' partito e quando? Dove trovo le variazioni?
C'e' una difficolta' di fondo: mentre tu hai giocato quelle partite e solo
quelle (intendendo quelle fatte con modalita' tali da poter essere
considerate valide ai fini della variazione Elo), di Rybka e compagni
esistono un numero di cloni enorme, pari cioe' al numero di copie in
circolazione del programma. 
Questo comporta una serie di conseguenze. Innanzitutto, il numero di
partite e' virtualmente stratosferico. Dunque, nessuno si sogna di
ratificarle presso un organismo centrale, che di conseguenza nemmeno
esiste. Infine, gruppi diversi di partite possono essere raccolte da
gruppi diversi di appassionati creando ratings paralleli che in generale
differiscono non solo per le naturali fluttuazioni statistiche dell'Elo,
ma anche in virtu' del numero piu' o meno elevato di partite considerate e
della qualita' e numero degli opponenti.
A questo si aggiunge l'ovvia considerazione che ormai il dislivello di
prestazioni con gli umani e' talmente elevato che i match misti
uomo-macchina stanno scomparendo, se non legati ad handicap o altre regole
che non permettono una corretta stima della prestazione (di entrambi).
Quindi, sempre piu' spesso la stima della forza di una certa versione di
Rybka e' calcolata facendolo giocare con un altro programma (ad esempio
una versione precedente di Rybka stesso) che ha giocato anche con un altro
programma... ...giu' giu' fino alla prestazione contro un umano dotato di
Elo.
Una volta fatta questa interminabile premessa, guarda ad esempio qui come
e' stato stimato il rating di Rybka 2.3.2, che pare sia il piu' forte
motore tra quelli a singolo processore:
http://tinyurl.com/cu5245
Dai un occhiata ad esempio a come rifila un secco +12 =6 -2 a Deep Junior
10.1 2CPU, a sua volta l'evoluzione di quel Deep Junior 6 che nel 2000
prese parte al supertorneo di Dortmund ottenendo uno score del 50% e una
performance di 2700 punti Elo, battendo tra l'altro Leko.


> Una volta fatta questa interminabile premessa,
Ottima premessa. Andrebbe fatta ogni volta che si scrive
qual e' l'Elo di un programma di scacchi! :-)
Ciao.Fabio.

Esattamente, oltre al fatto che la forza di un engine scacchistico è
direttamente dipendente dalla macchina sul quale viene fatto girare(su
un 3,2Ghz ha prestazioni superiori ad un 1,6Ghz, e così via anche col
multicore, la quantità di ram, ecc.), oltre alle impostazioni software
(ply depth, dimensioni e qualità dei libri di apertura e chiusura,
ecc.).
Avevo letto che il match con Milov era ad handicap ma pensavo che
nonostante l'handicap un engine forte come "rybka"(che ripeto però è
anche direttamente dipendente dall'hardware dove lo si fa girare e dal
software) non ci fosse possibilità alcuna per un "umano" di vincere.
certo si potrebbe sempre fare così: 
http://actualidadcomic.com/wp-content/uploads/2008/02/chess-300.jpg
:D

 software) non ci fosse possibilità alcuna per un "umano" di vincere.
Quello no, anche il giocatore piu' forte puo' sbagliare nella 
valutazione di una posizione. Finche' gli scacchi non saranno del tutto 
risolti (ossia mai, nella pratica) tutti hanno una possibilita' -anche 
se minima- contro qualunque avversario.
Tieni anche conto poi che i match ad handicap contro i pc sono sempre un 
po' falsati. Se Rybka parte con uno svantaggio -2 e vede una 
combinazione complicatissima in cui semplifica tutti i pezzi e resta in 
svantaggio -1.5, la gioca. Un GM non lo farebbe mai, piuttosto 
giocherebbe una continuazione che lascia lo svantaggio a -2 ma mantiene 
la tensione sulla scacchiera.
Non so se per i match ad handicap si tiene conto di questo modificando 
l'algoritmo di decisione della mossa, ma anche se cosi' fosse si risolve 
il problema ma se ne crea uno nuovo snaturando un po' l'algoritmo 
stesso. Questo effetto e' ben noto e anche su questo newsgroup ne 
abbiamo discusso piu' volte, ma e' sempre bene sottolinearlo.
Ciao, Bruno.

E' questo il punto: se un engine scacchistico ha una forza
direttamente dipendente dal pc su cui gira è logico pensare che allora
se uso un cluster da 10 000 processori il mio Deep Rybka avrà 9000
punti Elo, e anche in un match con handicap mi massacri l'opponente
senza problemi. Ovviamente c'è un limite a ciò, ovvero ad un certo
punto avendo infinita potenza a disposizione rimangono gli algoritmi
di valutazione posizionale, ma da una discussione da me aperta un pò
di tempo fa su Deep Blue emergeva che lasciando un qualsiasi decente
engine scacchistico a elaborare alcune delle mosse più complesse di
quella partita esso arrivasse alle stesse conclusioni di Deep Blue....
della serie "la valutazione posizionale data dal calcolo a forza bruta
se coadiuvata da una grandissima potenza a monte porta sempre alle
medesime conclusioni".
Ragionando mi sono venute in mente delle idee innovative per un engine
scacchistico... ottima questa conversazione da ottimi spunti :P.

 medesime conclusioni".
Può darsi (anche se ne dubito) che ciò sia vero sulle "mosse più complesse", 
come tu stesso scrivi.
In una posizione di estrema complessità tattica è possibile che alla fine la 
mossa migliore sia una e che questa mossa sia oggettivamente determinabile 
con il puro calcolo (anche se mantengo qualche perplessità); ma nelle 
posizioni meno complicate tatticamente trovo assai improbabile ciò che 
scrivi tra virgolette.
Ciao
Edoardo


<cut>
Uhm... non credo... dimentichi che per una differenza Elo superiore a
350 punti (o a 400 come pare vogliano fare in futuro), si "tiene il
350, pari a punteggio atteso 0,89, che con il K 10 dà poco più di un
punto a partita vinta.
Quindi, Dio potrebbe giocare (e vincere) "solamente" 6000 partite
(supponendo di partire dall'Elo di 3000) per raggiungere quota 9000
(nell'ipotesi che la perfezione sia solo di Dio e che quindi gli
avversari - umani o meno - commettano sempre una minima imprecisione
che faccia perdere loro la partita).
Ciao!
LS