Newsgroup: it.hobby.scacchi
Titolo: Limite superiore Elo

Riprendo una domanda che mi ero posto in un altro thread : qual è,
secondo voi, il massimo Elo raggiungibile da un computer che abbia
risolto il gioco degli scacchi?
Ricordo che :
3000 -> 76% contro un 2800 (mettiamo Anand...)
3100 -> 85%
3200 -> 91%
3300 -> 95%
3400 -> 97%
3500 -> 98,3 %
3600 -> 99,0%
Una considerazione : 2 programmi "onniscenti" non hanno per forza lo
stesso Elo (a meno che non giochino solamente uno contro l'altro). Che
il gioco degli scacchi sia patto o vinto per uno dei due colori, ogni
programma avrà la sua strategia per trarre il massimo profitto dalla
limitatezza umana (o dei programmi non onniscenti). Ad esempio, un
programma che, in posizione patta, cerca di evitare le ripetizioni di
mosse, performerà meglio, in media, di uno che le accetta.
J.

 3000 -> 76% contro un 2800 (mettiamo Anand...)
Purtroppo il punteggio Elo risente del fenomeno dell'inflazione che fa si
che mediamente esso risulti aumentare nel corso degli anni.
20 anni fa c'erano solo due giocatori con più di 2700, oggi ce ne sono
stati almeno 4 sopra i 2800 (Kasparov, Kramnik, Anand e Topalov, se non
ricordo male).
Oggi il confronto lo fai con 2800, tra 20 anni chissà...
Se poi consideri che il punteggio Elo è un indicatore della performance
che un giocatore ottiene nelle sfide con gli altri giocatori, e quindi un
valore relativo e non un valore assoluto, questa domanda potrebbe non
avere senso...
Ciao!
F
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Potenzialmente infinito, visto che la FIDE prevede che per differenze
di Elo superiori ai 350 punti, si consideri la differenza di 350
punti, basta far fare al nostro supercomputer tanti Open.
Se vuoi farlo giocare solo contro il campione del mondo, allora credo
che la questione verta sullo stile di gioco dell'umano : un Kramnik
riuscirebbe a pattare ogni tanto col Bianco , la Russa o la Berlinese.
Resta da vedere quale siano i margini di miglioramento esistenti tra
un Rybka ed un computer che abbia risolto gli scacchi. Per me sono
enormi, in teoria esiste un numero infinito di mosse per far valere la
propria superiorità.

 avere senso...
Se preferisci : *relativamente ai giocatori di oggi*, quanto
performerebbe il miglior programma possibile?
J.

 performerebbe il miglior programma possibile?
Il programma perfetto (tablebase + BANALISSIMO programmino che sceglie la  
continuazione più incasinata) performerebbe infinito (consumando anche  
pochi secondi a partita).
Alex

 performerebbe il miglior programma possibile?
Non è una questione di preferenze o di fastidio.
Un programma che avesse risolto il gioco, ovvero un programma che avesse
al suo interno tutte le mosse possibili, vincerebbe sistematicamente
contro qualunque essere umano.
Non esistendo la variazione nulla per la già citata regola dei 350 punti
di differenza, il suo punteggio elo aumenterebbe all'infinito.
La domanda è matematicamente malposta.
Se poi la soluzione del gioco porta alla patta, due computer che
giocassero tra loro (e solo tra loro) non potrebbero avere variazione elo
e performance.
Se iniziassero a giocare con gli umani acquistando un punteggio elo
differente e dopo un po' finissero per giocare solo tra loro pattando
sempre, alla lunga finirebbero per avere lo stesso punteggio elo, ma
questo sarebbe in ultima analisi dipendente dal punteggio iniziale
ottenuto contro gli umani e non dai loro scontri...
E' un po' quello che succede oggi al vertice: i topGM giocano per lo più
solo tornei chiusi, conservando il loro elo. Ogni tanto giocano con
giocatori di rango inferiore, mediamente guadagnano un po' di punti e se
li spartiscono tra di loro nei tornei chiusi successivi. In questo modo
l'elo si inflaziona. E più in basso arriverà la soglia di ingresso e più
si inflazionerà l'elo, sempre per il meccanismo dei 350 punti negli open
integrali (la 2N regala punti al M, il M all'IM, l'IM al GM, il GM al
topGM...).
Parlare di punteggio elo assoluto non ha senso.
Parlare di performance assolute non ha senso.
E' un po' come chiedersi quale è il potenziale elettrico di una (singola)
lastra di metallo.


 Alex
Performare infinito è impossibile, pensaci un po'. Perché mai il
programma dovrebbe *vincere sempre*? Non vincerebbe sempre neanche
contro uno che gioca mosse random, come direbbe giustamente lampas!
J.

 La domanda è matematicamente malposta.
Se parli di *infinito*, vuol dire che la questione non ti è chiara dal
punto di vista matematico. Il numero di mosse per una partita di
scacchi è finito, cosi` come le mosse legali in una posizione. Nulla
impedirebbe a uno che gioca random di azzeccare tutte le mosse
*corrette*, giocando allo stesso livello del programma onnisciente. La
probabilità di pattare (se il gioco è patto) o vincere (se non è
patto) è quindi, evidentemente, non nulla. Quindi il punteggio atteso
non puo` essere 100%.
J.

 contro uno che gioca mosse random, come direbbe giustamente lampas!
State a fare sofismi su "sempre" "mai" e "infinito"! Basta! Vince sempre!  
Punto! Mizzega! :)
Alex

 Punto! Mizzega! :)
Ovviamente non sono d'accordo.
J.

 puo` essere 100%?
100% o meno, il punteggio dipende essenzialmente dal numero di partite
che gli vuoi far fare piu' che dalla forza relativa del miglior
umano .
E' lecito presupporre che quante piu' partite verranno giocate, quanto
piu' marcato sarà il guadagno in punti elo.
Aggiungo che se i top GM non si dedicano a questo tipo di giochi per
guadagnare elo lo si deve a considerazioni essenzialmente pratiche :
citando a memoria, mi ricordo il caso di Claude Bloodgood che, essendo
incarcerato a vita,  creo' un circuito scacchistico nei penitenziari
introducendovi l'elo USCF, arrivando a vette mostruose pur non
avendone la forza giocando un numero elevato di partite con debuttanti
e guadagnando elo in conseguenza.

 e guadagnando elo in conseguenza.
Sai per caso ogni quanto l'Elo era aggiornato? E l'elo di ingresso dei
debuttanti?
J.

 debuttanti?
Nel sistema USCF l'Elo d'ingresso è calcolato come per la FIDE,  
giustamente, ovvero in base alla performance contro i giocatori rated.
L'aggiornamento, se non ricordo male, è mensile.
Alex


Si tratta di un caso di diversi anni fà, quindi è probabile che
ricalchi in qualche modo l'esperienza di Ricca. Il principio pero' è
lo stesso : introduci un giocatore di forza molto superiore alla
concorrenza ( Bloodgood era giocatore di livello magistrale contro
debuttanti, paragonabile al nostro supercomputer contro gli umani ) ,
e dagli il tempo di conseguire quanti piu' punti possibile ( computer
e ergastolano hanno parecchi tempo ... :o)   ) il punteggio tenderà
via via ad ingigantirsi. Credo che su Internet qualcosa si trovi,
adesso sto' al lavoro e sto' già abusando :o)

 adesso sto' al lavoro e sto' già abusando :o)
In teoria invece si dovrebbe arrivare a una situazione di equilibrio,
se gli aggiornamenti sono sufficientemente rapidi.
J.


Non nel caso del Elo fide, in cui una differenza di punteggio
superiore ai 350 punti tra due giocatori, viene quantificato ai fini
della variazione come se fosse esattamente 350.

 giustamente, ovvero in base alla performance contro i giocatori rated.
A meno che non abbiano cambiato metodologia dai tempi in cui ottenni io 
l'Elo USCF (1989), la performance di cui sopra non e` quella definita 
nel regolamento FIDE.
Il punteggio d'ingresso allora si calcolava basandosi sulle prime 24 
partite (contro avversari rated - fors'anche solo teoricamente). Se R 
era il rating dell'avversario e 'p' il risultato ottenuto contro di lui, 
ti veniva assegnato un punteggio teorico di "R + (2 * p - 1) * 400". La 
media aritmetica dei 24 punteggi teorici forniva il primo punteggio 
rated ufficiale.
Io ho l'impressione che la formula usata dall'USCF fosse una 
semplificazione della formula del FIDE performance rating, magari uno 
sviluppo in serie (troncato) della formula di Elo. Ma la butto proprio 
li`, perche' non mi sono mai preso la briga di verificare.
-- 
Roberto Ricca
2008: GO GIANTS (Anybody but the Dodgers)  [Magic Number: 163] 

 della variazione come se fosse esattamente 350.
Hai ragione. Questa regola di aggiornamento del punteggio permette di
guadagnare indefinitamente giocando contro avversari molto più deboli.
Comunque pensavo alla performance, più che al valore di Elo Fide. La
performance non puo` essere infinita.
Sarebbe interessante provare a vedere, nella dama, quanto performa il
programma che l'ha risolta.
Ciao,
J.

 La performance non puo` essere infinita.
Leggasi 100%.
J.

 performance non puo` essere infinita.
Perchè no ?
Anche mettendola in termini matematici come hai fatto, il numero di
mosse possibili di una partita è uno sproposito tale da poter essere
praticamente definito come infinito, mentre il numero di partite
possibili è superiore al numero di atomi nell'universo, un 1 seguito
da un numero altrettanto spropositato di 0.
Quindi la performance è data dal meccanismo dell 'Elo Fide stesso :
per performance superiori al 99% ma inferiori al 100%  abbiamo la
seguente formula : Elo SuperRybka > Elo n°1 Umano + 677.

JSorel ha scritto:



Per provare puoi provare:
http://arbitri.lombardiascacchi.com/arb_calcolo_elo.html
all'aumento dell'elo (e mantenendo l'elo degli avversari) per la regola
dei 350 punti la tua performance cresce sempre perché "cresce sempre"
l'elo medio degli avversari con il quale viene effettuato il calcolo
(proprio - 350)...
E' un errore nel software di Mascheroni o è congegnato così il calcolo
della performance? Sinceramente non lo so...
In questo modo però la performance può anche tendere a infinito.
Ciao


 seguente formula : Elo SuperRybka > Elo n°1 Umano + 677.
Certamente!
J.

 centomila, quindi l'Elo del programma circa 4300.
Pardon, ho fatto un piccolo errore :
1/1+10^((R-2800)/400) = (0.9)^100
1+10^((R-2800)/400) =~ 37600
10^((R-2800)/400) =~ 37600 (trascuro 1+...)
((R-2800)/400) =~ log10(37600)
((R-2800)/400) =~ 4.6
R-2800 =~ 1840
R =~ 4640
Giusto?
J.

 1/1+10^((R-2800)/400) = (0.9)^100
Ancora uno : il secondo membro andrebbe moltiplicato per 1/2 : il
punteggio attesto è Prob(pareggio)*1/2.
J.

> 3100 -> 85%
secondo me intorno a questo. Assumo che a gioco
corretto sia patta e quindi comunque il computer
non perda mai. Ipotizzo tempi di riflessione lunghi
per gli umani (no time trouble). Gli score a seconda
del colore potrebbero essere (li butto li'):
B 80% 20% 0%
N 60% 40% 0%
nel qual caso la pecentuale tot sarebbe
70+30/2 = 85%
quindi intorno ai 3100...
ciao,
Marco.
PS
pero' mi sono chiesto una cosa: conoscendo la soluzione
del gioco (e ipotizzando che sia patta), quale puo'
essere l'algoritmo in base al quale scegliere la mossa??

 Giusto?
Mi sento talmente intimorito e rimpicciolito da queste formule che non
posso che rispondere affermativamente. :o))

 essere l'algoritmo in base al quale scegliere la mossa??
Non saprei, ma sembra che Brunetti abbia risolto il problema, visto
che afferma che il programma sarebbe BANALISSIMO.
J.

 J.
Ironia a parte, butto li` un idea : prendere le mosse corrette,
analizzarle una ad una a una profondità definita (ad esempio 100
semimosse) con un algoritmo tradizionale e prendere quella che ottiene
una valutazione più alta.
J.


Hehe. Beh, in effetti se il gioco fosse risolto, allora tale programma
avrebbe la tablebase completa a partire dalla posizione iniziale. Quindi
non ci vuole molto a rispondere ad ogni mossa dell'avversario cercando
la posizione nell'albero della tablebase e rispondendo con la mossa
successiva.
-- 
Salvatore Iovene
http://www.iovene.com

 successiva.
Il fatto è che in ogni posizione ci sono diverse mosse corrette :
quale scegliere? Magari il programma sa che 1.f3 è corretta quanto
1.e4, ma permetterai che contro un umano avrebbe più possibilità di
vincere giocando 1.e4.
J.

 Il fatto è che in ogni posizione ci sono diverse mosse corrette :
Riformulo : in qualche posizione potrebbero esserci diverse mosse
corrette.
J.

 wrote:

Hmm, ma cosa succedebbe se tale programma semplicemente pattasse tutte
le partite?
Cioè, nel sistema Elo, supponiamo che ci sia un giocatore, chiamamolo
Kramnik (un nome a caso) che in carriera patti TUTTE le partite, cioè
non perda MAI e non vinca MAI.
Dopo 20 anni di carriera agonistica, quale sarà il suo Elo? (Non il
numero esatto, ma per capire se aumenta ad alti livelli o no).


 Dopo 20 anni di carriera agonistica, quale sar? il suo Elo?
La media Elo degli avversari incontrati.
J.

 numero esatto, ma per capire se aumenta ad alti livelli o no).
Il suo Elo tenderà alla media di quello degli avversari che ha incontrato,  
quindi dipende contro chi gioca.
Alex

 wrote:

Quindi se a fine carriera gioca sempre con i più forti al mondo, diciamo
sui 2800 di Elo, tale media lentamente convergerà a 2800 (pur senza
raggiungerlo).


 raggiungerlo).
Lo raggiunge invece, e ci oscilla intorno.
Alex

 raggiungerlo).
Perché "senza raggiungerlo"? Diciamo che ci oscillerebbe intorno.
Dipende dal K e dalla frequenza degli aggiornamenti del suo Elo.
J.


Credo che il tablebase mostrerebbe che 1. e4 abbia una percentuale
piu' elevata di partite vinte a gioco migliore rispetto a 1.f3, ed è
lecito pensare quindi che Super-Rybka la preferirebbe.
Inoltre, a partire da qualsiasi posizione, conoscerebbe il numero di
partite vinte e patte con gioco migliore per ogni mossa a
disposizione, quindi si puo' supporre che sceglierebbe quella
statisticamente piu' favorevole. Inoltre il programma di Brunetti
potrebbe orientare le scelte verso mosse obiettivamente piu' difficili
da valutare per un umano,  e comunque tendere sempre piu' a
sbilanciare la posizione mantenendosi sempre nei canoni di una partita
" corretta  " non sono informatico ma credo che sia facilmente
parametrabile.

 parametrabile.
Magari evitando al massimo gli scambi di pezzi... Come vedi ci sono
diverse strategie possibili : quale sarà la più performante?
J.

 della performance? Sinceramente non lo so...
E` un errore nel software. La performance è indipendente dal proprio
Elo.
J.