La gestione dei programmi basati su starter engine


Questa pagina ha una gerarchia - Pagina madre:Il g 6 e il regolamento

Home Forum Il g 6 e il regolamento La gestione dei programmi basati su starter engine

Questo argomento contiene 29 risposte, ha 9 partecipanti, ed è stato aggiornato da  Marco Pagnoncelli 3 anni, 1 mese fa.

Stai vedendo 15 articoli - dal 1 a 15 (di 30 totali)
  • Autore
    Articoli
  • #7969
    Lissandrello Luca
    Lissandrello Luca
    Moderatore

    In passato è stato creato uno starter engine http://www.g-sei.org/starter-engine/ con l’obiettivo di aiutare a fare i primi passi nella creazione di un chess engine.
    Gogobello è il primo engine scaturito da tale logica.

    Io sono del parere che definire da subito tale programma nella categoria free non avrebbe senso, proprio per gli obiettivi iniziali. Ovviamente metterlo da subito tra gli originali non va, perché si avvantaggia il programmatore in questione rispetto a chi ha fatto tutto da sè.

    Cosa fare? L’idea è quella di seguire il pensiero della community.
    Facciamo un esempio semplice: Deuterium oggi è reputato da tutti un programma originale. Se si va a curiosare, si vede che il programmatore è partito basandosi sul programma tscp. Perchè allora è reputato originale? Perchè Deuterium vale 2700 e tscp 1700 (vado un po’ a spanne, ma l’importante è capire la logica).
    Il programatore ci ha messo del suo, non ha soltanto cambiato qualche parametro, ma ha anche aggiunto e probabilmente anche sostituito tanto di quel codice da far diventare deuterium un programma completamente rivoluzionato, molto più forte.

    Io dico, sfruttiamo quest’idea per questa tipologia di programmi basati su starter engine.
    Agganciandomi alla discussione http://www.g-sei.org/forums/topic/gogobello-says-hello-world/#post-7926 proverò ad ipotizzare un delta elo di riferimento che rendano ‘originali’ i programmi basati sullo starter engine di Fabio Gobbato.
    In pratica direi: il programma che è stato creato da 0 ma basato (per alcuni pezzi) su Pedone base è originale se è migliore di almeno 250 punti elo.

    Attualmente non so quanto vale pedone base in termini elo, il test lo farò venerdì. Ma per quanto riguarda i 250, siamo tutti d’accordo? Che ne pensate?

    Bye!

    LL

    #7970
    Lissandrello Luca
    Lissandrello Luca
    Moderatore

    Per dare un riferimento: stamattina ho fatto un minimatch con cadenza 15’+10″ Neurone vs Gogobello terminato 3-2 per Neurone

    LL

    #7971

    sasachess
    Partecipante

    Wow!

    Considera che attualmente gogobello non ha la gestione del tempo e ho impostato PLY fissa a 7 in modo che riesca a portare a termine partite lampo a 5 min.
    Con la cadenza di gioco che hai utilizzato, magari è anche possibile impostare la profondità a 8 se non a 9 con qualche miglioramento sul gioco. 😉

    #7972

    Administrator
    Moderatore

    Eh, diciamo che Gogobello ha grandi margini di miglioramento 🙂

    Le faq sono nel menu principale, sotto Documentazione! 😉

    #7973
    stegemma
    stegemma
    Moderatore

    In passato è stato creato uno starter engine […]Attualmente non so quanto vale pedone base in termini elo, il test lo farò venerdì. Ma per quanto riguarda i 250, siamo tutti d’accordo? Che ne pensate?
    Bye!

    Il punto è da quale base si parte, per questo è importante sapere che ELO ha Pedone. Abbiamo però introdotto la categoria derivati apposta, per questi casi. Il programma che parte da una base è un derivato e l’ELO può essere uno dei parametri per definire se se ne è discostato abbastanza da poterlo ritenere originale. Non è il solo, anche lo stile di gioco dovrebbe essere preso in considerazione… altrimenti mi basterebbe prendere un qualunque programma open-source e riscriverlo in assembly a 64 bit, per avere un “mostro originale”. Restando all’ELO, 250 punti mi sembrano pochi io ne prevederei almeno il doppio oppure un valore che dipenda anche dall’ELO di partenza. Portare a 2000 punti Satana è relativamente facile ma portare un sw da 2800 a 3000 è un altro discorso.

    #7974
    Lissandrello Luca
    Lissandrello Luca
    Moderatore

    Fare una formula non è semplice, ma orientativamente possiamo farlo per scaglioni:

    Se è sotto i 1000 allora praticamente il programmatore ha copiato solo una bozza di programma, una cosa appena funzionante, per cui, secondo me bastano 100 punti elo e potremmo già considerarlo originale
    Se è tra i 1000 e i 1399 allora si sta partendo da qualcosa di più (conosco bene questa fascia) 🙂 qui chiederei almeno 250 elo.
    Se è tra i 1400 e i 1699 qui è probabile che le impostazioni di base sono ottime oppure c’è già dentro qualche forma di pruning… chiederei 400 elo.
    Tra i 1700 e i 2400 chiederei 250 elo
    Oltre i 2400 chiederei 150 elo (so che è più difficile migliorare questi software, ma è una scelta del programmatore).

    Riassumendo, per me:
    start elo         elo richiesto
    <  1000                 100
    >= 1000 e < 1400        250
    >= 1400 e < 1700        400
    >= 1700 e < 2400        250
    >= 2400                 150
    

    In qualunque caso mi pare (dai miei piccoli test in locale) che il pedone in formato ‘base’ dovrebbe stare nella fascia tra 1400 e 1700 quindi andremmo a ‘chiedere’ 400 elo.

    In realtà vado molto ‘a spanne’, però bisognerebbe regolamentare un minimo questo aspetto, mah… vedrò come andrà Pedone base venerdì e forse avrò le idee più chiare.
    Bye!

    LL

    #7975
    stegemma
    stegemma
    Moderatore

    Questi numeri possono andar bene per distinguere un clone da un derivato ma non per poter definire originale un derivato.

    Se parti da un programma da 1000 di ELO, tanto vale che te lo scriva tu da zero, per cui non farei una scala a sinusoide ma una curva con limite infinito per ELO zero di partenza e un limite di 100 ELO per un ELO di partenza superiore a 2700.

    Butto giù una formula al volo e poi la posto.

    PS: ad esempio, per non smentirmi, potremmo usare questa formula:

    ELO guadagnato >= 666666 / ELO di partenza

    #7976
    Lissandrello Luca
    Lissandrello Luca
    Moderatore

    ELO guadagnato >= 666666 / ELO di partenza

    Molto satanica come formula 😉

    Comunque alla fine siamo lì, un po’ larghina x un 2700 ed un po’ strettina per un 1600
    per un 1600 verrebbe richiesto 417 punti elo
    per un 2700 verrebbe richiesto 247 punti elo

    potremmo fare per elo <2000
    ELO guadagnato >= 700000 / ELO di partenza
    e per elo >= 2000
    ELO guadagnato >= 500000 / ELO di partenza

    per avere
    per un 1600 verrebbe richiesto 437 punti elo
    per un 2700 verrebbe richiesto 185 punti elo

    comunque la richiesta mi pare un po’ alta… non vorrei demorarizzare il programmatore.

    Bye!

    LL

    #7977
    stegemma
    stegemma
    Moderatore

    Allora che “il programmatore” faccia come noi e parta da zero. Se vuole partire con la “pappa pronta”, sa che non verrà ritenuto originale fino a che non avrà sudato sette camicie 😉

    #7978

    sasachess
    Partecipante

    Per me va bene anche 500 punti ELO, non ho alcuna fretta. Voto a favore della proposta di stegemma, sempre che abbia diritto di voto. 😉

    #7981
    Lissandrello Luca
    Lissandrello Luca
    Moderatore

    .. e io che credevo ti demoralizassi 🙂

    LL

    #7982
    stegemma
    stegemma
    Moderatore

    Non sarebbe una regola “ad personam” e poi penso che chiunque si prenda la briga di affrontare seriamente la sfida di scrivere un programma di scacchi, non si lasci demoralizzare da una semplice regola, chiara e condivisa, anzi… verrebbe imposto un obiettivo da raggiungere, rendendo ancor più avvincente l’avventura si scrivere un programma di scacchi.

    #7984

    marco belli
    Membro

    Secondo quanto io comprendo del regolamento il programma deve finire diritto diritto nella sezione derivati, non ho nulla contro Salvatore 🙂

    Per il resto, io resto sempre della mia idea che questa divisione fra “puri” e “non puri” è una cavolata.
    Dal mio punto di vista se si prende la decisione di dividere fra originali e non, e si vuole tenere una linea DURA contro i copiatori, si accettano solo programmi con i sorgenti disponibili, per tutti gli altri dato che non posso verificare -> non sono originali.
    la distinzione fra punti elo guadagnati etc mi sembra una cavolata.

    continuando la mia disquisizione sono d’accordo sul fatto che, in base al regolamento attuale , al suo spirito e al modo in cui viene intepretato, Vajolet vada diritto negli engine derivati 🙂

    Ciao a tutti

    #7985
    Lissandrello Luca
    Lissandrello Luca
    Moderatore

    Secondo quanto io comprendo del regolamento il programma deve finire diritto diritto nella sezione derivati, non ho nulla contro Salvatore

    Sì, normalmente dovrebbe essere così, ma Gogobello è nato dall’idea (che secondo me si è rivelata vincente) di aumentare il nostro numero invitando i programmatori a vedere l’architettura di un chess engine allo stato grezzo.
    Spesso in passato infatti in passato molti programmatori si arenavano alle prime difficoltà. Attraverso l’aiuto di Fabio siamo riusciti a trovare un modo per farli entrare nel nostro ‘mondo’.

    Il nostro obiettivo non è quello di aumentare il numero dei componenti della categoria free o di quella originali, ma di divertirci con competizioni e scambi di esperienze.
    Ogni Gogobello che nascerà da Pedone base sarà un’opportunità per fare questo. Sta a noi e al programmatore stesso sfruttarla nel modo che si ritiene più giusto. Questo è il modo che abbiamo trovato, se ne hai di migliori, siamo tutt’orecchi 🙂

    Per il resto, io resto sempre della mia idea che questa divisione fra “puri” e “non puri” è una cavolata.

    Se io faccio un torneo solo per programmi originali non è perché non ritenga valido il metodo dei derivati, ma solo perché non posso mettere sullo stesso piano gente che per fare un programma ci mette due giorni (per fare un copia/incolla del codice di stockfish e 4 modifiche ai parametri), e gente che ci ha messo 2 anni (per fare un programma ‘loro’).
    La competizione deve essere equa, nessuno deve essere avvantaggiato. Vale in tutti gli sport, e qui, come in tutti gli altri sport, il discorso non cambia.

    Dal mio punto di vista se si prende la decisione di dividere fra originali e non, e si vuole tenere una linea DURA contro i copiatori, si accettano solo programmi con i sorgenti disponibili, per tutti gli altri dato che non posso verificare -> non sono originali.
    la distinzione fra punti elo guadagnati etc mi sembra una cavolata.

    Il concetto di linea *dura* non esiste perchè le decisioni non vengono mai prese da me, nè da Stefano o da altri singoli, ma dal gruppo, per cui mi spiace che la ritieni dura come linea, ma per noi-gruppo è normale.
    Abbiamo fatto una bella selezione al tempo prima di potere avere come technical consultant nientemeno che Mark Watkins. Di conseguenza se abbiamo qualche dubbio su qualche programma non è un limite il fatto che i sorgenti non siano open source.

    Bye!

    LL

    #7986

    sasachess
    Partecipante

    Se io faccio un torneo solo per programmi originali non è perché non ritenga valido il metodo dei derivati, ma solo perché non posso mettere sullo stesso piano gente che per fare un programma ci mette due giorni (per fare un copia/incolla del codice di stockfish e 4 modifiche ai parametri), e gente che ci ha messo 2 anni (per fare un programma ‘loro’).
    La competizione deve essere equa, nessuno deve essere avvantaggiato. Vale in tutti gli sport, e qui, come in tutti gli altri sport, il discorso non cambia.

    Non credo si possa mettere sullo stesso piano un engine derivato da uno Starter Engine con uno come Stockfish da “punto di arrivo”.
    Pedone base ha il grande pregio della rappresentazione in Quad Bitboard e un generatore di mosse molto veloce, ma ricerca e valutazione sono del tutto elementari. Un conto è partire da un engine base che ti invoglia a imparare e a migliorare implementando mille altre cose, un conto è lavorare praticamente su di un clone.

Stai vedendo 15 articoli - dal 1 a 15 (di 30 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