gogobello says hello world!


Questa pagina ha una gerarchia - Pagina madre:Programmazione

Home Forum Programmazione gogobello says hello world!

Questo argomento contiene 78 risposte, ha 7 partecipanti, ed è stato aggiornato da  sasachess 1 settimana, 4 giorni fa.

Stai vedendo 15 articoli - dal 31 a 45 (di 79 totali)
  • Autore
    Articoli
  • #8298
    Lissandrello Luca
    Lissandrello Luca
    Moderatore

    Ragazzi, così come dissi per Fabio, che ha creato un gm di tutto rispetto, sono convinto che anche Salvatore possa farcela.
    Ha voglia, competenza e… adesso tutte le carte in regola, dai Salvatore, spacca tutto! 😉
    Bye!

    p.s. Non vedo l’ora di fare i test e vedere a che punto è arrivato Gogobello!

    LL

    #8301

    sasachess
    Partecipante

    Alla fine, come vedi, le politiche rigide sono servite a farti studiare più a fondo il generatore mosse. Adesso che l’hai riscritto e sei stato “promosso” come originale, non ti senti più realizzato? :):):)

    Sono al settimo cielo!!! 🙂

    Ragazzi, così come dissi per Fabio, che ha creato un gm di tutto rispetto, sono convinto che anche Salvatore possa farcela.
    Ha voglia, competenza e… adesso tutte le carte in regola, dai Salvatore, spacca tutto! ;)
    Bye!

    p.s. Non vedo l’ora di fare i test e vedere a che punto è arrivato Gogobello!

    Luca sono lusingato ma la strada è ancora lunga. Cerco di non fare il passo più lungo della gamba, procedo con piccoli miglioramenti di versione in versione.

    Anch’io non vedo l’ora di scoprire che ELO ha raggiunto. Speriamo bene!

    #8318

    sasachess
    Partecipante

    In attesa del test della versione 0.07, sto già lavorando alla 0.08. Avevo in testa il tarlo che ci fosse qualcosa di sbagliato con la mia ricerca, e in effetti dopo analisi approfondita ho scovato qualche problemino di non poco conto! Ho misurato tutti i tempi ed è saltato fuori che perdo un’enormità di tempo nel calcolo delle chiavi per la HashTable. Per di più nella 0.07 ci sono anche errori nello Hash Storing delle mosse… ottimo! 🙂

    #8329

    sasachess
    Partecipante

    Il pondering mi ha creato non pochi grattacapi. Nonostante l’idea alla base sia concettualmente molto semplice, mi sono scontrato con diversi problemi implementativi. Il più è fatto e finalmente sembra funzionare!

    Nel frattempo ho fatto qualche prova con le Check Extensions, ma non ho avuto riscontri molto positivi. Mi sorge un dubbio: è bene estendere la ricerca di un ply a tutte le profondità e per ogni Scacco (dato o subito), oppure è meglio non esagerare e estendere di un solo ply solo la prima volta che si riscontra uno Scacco?

    Altra prova l’ho fatta con la PVS al posto della ricerca con alphaBeta. Di funzionare funziona, ma non mi da molto di più in termini di risultato.
    Ho notato che con la PVS il numero delle partite terminate patte è maggiore. Sarà solo un caso, oppure meglio approfondire?

    #8330
    Lissandrello Luca
    Lissandrello Luca
    Moderatore

    Nonostante l’idea alla base sia concettualmente molto semplice, mi sono scontrato con diversi problemi implementativi

    A chi lo dici! Io prima di riuscire a implementare il ponder ci ho messo 5 mesi! E’ anche vero che non programmo ‘a spron battuto’, pero’ di sicuro implementare il ponder su winboard è più complesso che su uci.

    Nel frattempo ho fatto qualche prova con le Check Extensions, ma non ho avuto riscontri molto positivi.

    Nella xii che sto sviluppando ho inserito la check extension, quindi ce l’ho ‘fresca’…
    La mia implementazione prevede solo 1 ply in più (e poi valuto con l’see), e già con questa ho visto benefici all’incirca di 20 elo.
    Penso che se fai n+1+quiescenza dovresti poter trarne anche tu buoni vantaggi.

    Ho notato che con la PVS il numero delle partite terminate patte è maggiore. Sarà solo un caso, oppure meglio approfondire?

    Nunzo.

    LL

    #8331

    sasachess
    Partecipante

    Nella xii che sto sviluppando ho inserito la check extension, quindi ce l’ho ‘fresca’…
    La mia implementazione prevede solo 1 ply in più (e poi valuto con l’see), e già con questa ho visto benefici all’incirca di 20 elo.
    Penso che se fai n+1+quiescenza dovresti poter trarne anche tu buoni vantaggi.

    Farò qualche altra prova. Quante partite fai per sessione di test per valutare la differenza in termini di ELO? E a che cadenza di gioco?
    Attualmente sto provando con 50 partite a 3 min secchi.

    #8332
    Lissandrello Luca
    Lissandrello Luca
    Moderatore

    Attualmente sto provando con 50 partite a 3 min secchi.

    50 son veramente poche, io ne faccio non meno di 600 a 3+2, ma la cadenza che uso è più grande di quanto serve normalmente.
    A te dovrebbe bastare un 1 min + 1 sec. Con quest’ultima cadenza puoi arrivare tranquillamente a 1000 (che è un giudizio non ottimale, ma abbastanza veritiero) e ottenere i risultati in tempo breve.

    Bye!

    LL

    #8333

    sasachess
    Partecipante

    Farò così, 1° test per verificare la correttezza con 50 partite a 3 min.

    Se supera il 1° test, passo al 2° giro con non meno di 500 partite. Per la valutazione del rating ELO, va bene anche un torneo di tipo Gauntlet?
    Quanti motori inserisco? Temo che 1’+1″ sia troppo poco.

    Grazie per le dritte Luca!

    #8334
    Lissandrello Luca
    Lissandrello Luca
    Moderatore

    Dipende, se devo testare qualche bug fixing, in genere non ne faccio nessuna, mi preparo delle posizioni di test dove si verifica l’anomalia e vedo se va a posto.
    Se modifico il learning mi baso più che altro all’analisi dei risultati su fics.
    Se invece implemento una cosa nuova che impatta sulla search ne faccio 100 contro la vecchia versione e almeno 600 contro un pool di motori di forza simile.
    Se invece vado a toccare la valutazione, la soglia minima è 1000.

    Insomma, minore è l’impatto elo atteso e maggiore dovrà essere il numero di partite per verificarlo.
    Una volta che hai il pgn basta farlo masticare al bayesian e ti stima l’elo (ricordati di scrivere correttamente e sempre allo stesso modo i nomi degli engines coinvolti!).
    Il link è http://remi.coulom.free.fr/Bayesian-Elo/

    Fatti un txt simile a questo:

    readpgn Pgn\MyElo.pgn
    elo
    mm
    offset 2200 Madeleine 0.2
    exactdist
    ratings>Output\Class.txt
    x
    x 
    

    e richiamatelo con un file batch simile a:

    bayeselo.exe<txt\CreaClass.txt
    

    Bye!

    p.s- Se vuoi fare una cose ancora più furba, nel batch aggiungi sempre il pgn della classifica del g-sei, così sei perfettamente allineato 😉

    LL

    #8335
    Lissandrello Luca
    Lissandrello Luca
    Moderatore

    Ah, per il numero di motori: io ne uso 5/10, ma, a parte il numero, è importante che non ti rispondano allo stesso modo, abilita un book.

    Bye!

    LL

    #8338

    sasachess
    Partecipante

    Ho provato il bayeselo su un mio pgn, appunto un Gauntlet di 50 partite.
    Mi sembra, però, che la variazione venga calcolata solamente in riferimento alle partite giocate contro il motore per il quale si imposta l’offset.
    Cosa sbaglio?

    Ho visto che anche Arena 3.5 include una utility per il calcolo delle variazioni ELO, funziona bene?

    #8339
    Lissandrello Luca
    Lissandrello Luca
    Moderatore

    Ho provato il bayeselo su un mio pgn, appunto un Gauntlet di 50 partite.
    Mi sembra, però, che la variazione venga calcolata solamente in riferimento alle partite giocate contro il motore per il quale si imposta l’offset.
    Cosa sbaglio?

    Il motore ‘offset’ deve far parte del pgn che gli dai in pasto, altrimenti la differenza elo viene calcolata come dici tu. Basta che metti Madeleine 0.2 nel pool dei tuoi avversari nel gauntlet.

    Ho visto che anche Arena 3.5 include una utility per il calcolo delle variazioni ELO, funziona bene?

    Sì, funziona benissimo, è portable, se vuoi gestirla da riga di comando, mentre da gui è più semplice. I risultati li hai nella stessa cartella dell’eseguibile. Una volta usavo quel tool er verificare i progressi del mio engine, ma da quando ho conosciuto il bayesian l’ho mentalmente rimosso. Perchè? Perchè è molto meno preciso e ha molte meno funzionalità. Il calcolo bayesiano si basa sull’algoritmo per il calcolo elo implementato in elostat, ma ne migliora la stima.

    Bye!

    LL

    #8340

    marco belli
    Membro

    spesso si estendono gli scacchi di una ply nei nodi PV e di mezzo ply nei nodi non PV se l’SEE della mossa è maggiore/uguale a 0. estendre tutti gli scacchi indistintatmnte probabilmente fa esplodere un po troppo la dimensione dell’albero di ricerca

    #8341

    sasachess
    Partecipante

    Marco ti seguo poco. Un PLY è una semimossa, che vuol dire estendere di mezzo PLY?
    Perché citi l’SEE? Consideri solo gli Scacchi in seguito a cattura? E gli Scacchi da mosse quiete?

    #8342

    sasachess
    Partecipante

    p.s- Se vuoi fare una cose ancora più furba, nel batch aggiungi sempre il pgn della classifica del g-sei, così sei perfettamente allineato ;-)

    Ottimo suggerimento, grazie Luca!
    Ho provato proprio ora e finalmente mi sembra di aver ottenuto un risultato sufficientemente attendibile.

Stai vedendo 15 articoli - dal 31 a 45 (di 79 totali)

Devi essere loggato per rispondere a questa discussione.

© 2017 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