Un modo per stimare l'elo dei chess engines italiani?


Questa pagina ha una gerarchia - Pagina madre:Programmazione

Home Forum Programmazione Un modo per stimare l'elo dei chess engines italiani?

Questo argomento contiene 3 risposte, ha 2 partecipanti, ed è stato aggiornato da mauro.riccardi mauro.riccardi 5 anni, 8 mesi fa.

Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
  • Autore
    Articoli
  • #3013
    Lissandrello Luca
    Lissandrello Luca
    Moderatore

    Quanto sotto serve per un progetto più ampio, di difficile e lunga realizzazione ma dato che uno dei miei motti è il seguente:
    «E’ impossibile.» disse l’orgoglio.
    «E’ rischioso.» disse l’esperienza.
    «E’ inutile» tagliò la ragione.
    «PROVACI.» sussurrò l’ambizione.
    Io ci provo.  😉

    La domanda l’avete letta; per elo intendo l’elo umano.
    Se testo ad esempio il mio Neurone e tale test mi dà un output di 1800 punti elo, io mi aspetto che, se faccio 100 partite contro 100 avversari umani di 1800 elo, la variazione elo di Neurone non dovrebbe essere ‘importante’.
    Il test dovrà calcolare il delta di differenza legato alle caratteristiche dei due contendenti (uomo/macchina).
    Dovrà essere più automatico/parametrizzabile possibile e dovrà accettare tutti i protocolli.
    Probabilmente dovrà tirar fuori due output; uno legato alle cadenze rapid ed un’altro a quelle classiche.

    Ho già discusso via email sull’argomento,  se riuscissimo a raccogliere tutte le proposte potremmo trovare la via per creare questo test nella sua forma più attendibile possibile.
    Il mio invito è dunque: scrivete la vostra proposta/opinione/indicazione… alla fine vedremo cosa potrà essere possibile fare.

    LL

    #3014

    Un problema e’ dovuto al fatto che per misurare l’Elo c’e’ bisogno di molte partite.

    L’Elo dipende dal pool d giocatori che vengono “misurati”. Gli umani sono misurati tra umani, le macchine tra macchine. Per far si’ che i due punteggi siano il piu’ allineati possibile, bisogna fare comunque molti match tra uomini e macchine. Cadenza rapida va bene (insomma, mica tanto…) perche’ si possono usare i dati di FICS & Co – che pero’ sono molto disomogenei.

    A gioco lungo e’ un po’ piu’ complicato, perche’ non ci sono molte partite, e poi bisognerebbe far incrociare piu’ giocatori possible “delle due specie”. Una cosa approssimata si potrebbe fare avendo una lista Elo di motori molto precisa, e poi scegliere dei “motori di riferimento” di varia forza di gioco, e farli giocare contro gli umani (pero’ molte volte…).  In base ai risultati si adatta la nostra scala a quella umana.  Solo che in genere la differenza di Elo non si comporta in maniera proprio lineare, per cui puo’ capitare che ci siano delle distorsioni, anche drammatiche (per questo i motori di riferimento dovrebbero essere piuttosto equispaziati, in Elo).

    Per la valutazione secondo me bisogna studiarsi bene le opzioni di BayesElo, che mi sembra un ottimo strumento (ma e’ un po’ complicato da usare).

    #3015
    Lissandrello Luca
    Lissandrello Luca
    Moderatore

    Una cosa approssimata si potrebbe fare avendo una lista Elo di motori molto precisa, e poi scegliere dei “motori di riferimento” di varia forza di gioco, e farli giocare contro gli umani (pero’ molte volte…).  In base ai risultati si adatta la nostra scala a quella umana.

    Sarei d’accordo se fosse possibile, ma non abbiamo molte partite da prendere a campione in merito.

    Io direi di procedere stabilendo prima un’eloC dei motori e poi moltiplicarlo per un coefficente che stimiamo più corretto possibile. Sulla creazione dell’eloC avevamo qualche idea su http://www.g-sei.org/forums/topic/valutazione-della-forza-dei-motori/ , sul coefficente secondo me facciamo prima a stimarlo e fare alcuni test piuttosto che esaurirci con formule e formulette derivate dal bayeselo, che ne pensi?

    Il mio obiettivo finale irraggiungibile è quello di poter far partecipare i nostri programmi nei vari tornei di scacchi per umani. Per far questo però occorre che detti programmi siano ovviamente originali e ‘operati’ dal papà programmatore (che quindi debbono aver partecipato ‘sotto’ il regolamento del g6 come ‘originali’).  In secondo luogo ci sarà da mettersi d’accordo con la Uisp (Collobiano) per verificarne la fattibilità. La cosa che ci aiuta è che sarebbe utile a entrambe le parti (più associazioni per la uisp e più diffusione della computer chess in Italia).

    Per far questo occorre dare un riferimento elo per i programmi, più che altro per la presentazione dato che il confronto umano/macchina non farà mai variare l’elo quantomeno umano (un po’ come quando un giocatore col solo elo fsi gioca contro un’altro con elo Fide).

    Bye!

    LL

    LL

    #3017

    Come dicevo, il sistema Elo non e’ lineare ==> il coefficiente non funziona, perche’ andrebbe bene per un certo range, e male per gli altri. Detto questo, visto che l’intenzione e’ quella di mescolare umani e programmi (a quando il primo innesto cibernetico? 🙂 ), perche’ non usare le regole umane?

    Ci sono diversi metodi per dare un Elo a chi l’Elo non ha: uno e’ quello delle tranche, usato per l’Elo FIDE; un altro e’ quello che usano FSI e Uisp Lega Scacchi: ti danno un Elo di partenza convenzionale, e tu ti evolvi da quello; un terzo e’ quello che usano nella SCA, l’associazione scacchistica scozzese: loro hanno un Elo nazionale (parallelo all’Elo FIDE, che usa le solite regole che da noi), ma per il problema dell’Elo di ingresso adottano un’altra soluzione, spiegata  qui (http://chessscotland.com/grading_calculation_steps.php) e un po’ anche nelle FAQ qui (http://chessscotland.com/grading_faq.php), nelle sezioni che parlano del “grading” (cioe’ il punteggio Elo) dei giocatori “ungraded” (inclassificati, ovvero NC). Praticamente tu all’inizio non hai un Elo di partenza, ma ti viene assegnato sulla base del primo anno di partite che fai (se ne fai piu’ di un certo numero); la parte sofisticata e’ quella in cui si considera cosa succede se giocano due giocatori “ungraded”, o uno “graded” e uno “ungraded” (non e’ come con la FIDE che se gioca uno con Elo FIDE e uno senza quello “con” non ha variazione, quello “senza” al massimo fa una tranche). Potrebbe tornare utile questo schema nel caso si inserissero nuovi motori nel panorama italico. Per mia esperienza posso dire che e’ un metodo che da’ una evoluzione anche piuttosto veloce dell’Elo. Certo, veloce su tempi umani 🙂

    L’Elo umano ovviamente non lo tocca nessuno, ma bisogna prima chiedersi un’altra cosa: in quali tornei potrebbero giocare i nostri programmi? Scordiamoci i tornei a variazione Elo FIDE…difficilmente uno sborsa il prezzo di iscrizione, per poi andarsi a giocare magari un premio contro un programma…magari si potrebbe usare qualche torneo senza variazione (nel nostro caso della SST o dell’Alfieri, o di altri soggetti); per cui il problema dell’Elo umano non si pone. Poi potremmo fare anche i match tra motori usando l’Elo (ibrido) cosi’ misurato. La mia previsione e’ che comunque ci saranno distorsioni, il programma A che con l’Elo ibrido e’ piu’ forte del programma B, con l’Elo “solomacchina” (per esempio le liste di Ciro o Alex) sta piu’ sotto in graduatoria. Pero’ almeno avremo fatto un po’ di pubblicita’ al movimento 🙂

Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)

Devi essere loggato per rispondere a questa discussione.

© 2018 G 6 Tutti i diritti riservati - Buon divertimento!

By continuing to use the site, you agree to the use of cookies. more information

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi