mauro.riccardi

Risposte al Forum Create

Stai vedendo 15 articoli - dal 1 a 15 (di 160 totali)
  • Autore
    Articoli
  • in risposta a: AlphaZero e compagnia bella #11825

    Ok, però per AlphaGo Zero (e poi Alpha Zero) hanno tolto anche quel contributo umano, vedi per esempio il link su wikipedia.

    in risposta a: AlphaZero e compagnia bella #11778

    Queste breaking news mi stanno facendo uno strano effetto: ho iniziato a programmare un chess engine per imparare meglio a giocare a Scacchi *io*, per avere un ausilio computazionale fatto da me, i motori esistenti non mi davano altro che PV e valutazioni numeriche…solo che non sapevo bene cosa cercavo.
    Infatti il mio sorgente è un vero e proprio inferno dantesco di minchiate (come dicono nella vicina Francia), che ho cercato di far virare verso un qualcosa di decente e più tradizionale, con risultati un po’…vabbe’, fate voi… 🙂

    Ad un certo punto avevo iniziato ad interessarmi di ricerca “tipo” alfabeta, ma su giochi con elementi casuali (mi interessavano le AI per giochi strategici – tipo warhammer, per intenderci), e avevo intercettato da qualche parte la MCTS (qualche articolo, forse, non ricordo), che per la mia formazione aveva perfettamente senso! Avevo iniziato a implementarla per una specie di book learning, ma Chexa è troppo inefficiente come velocità di calcolo perché facessi passi avanti. Altro progetto mai realizzato è quello usare MCTS per valutare le posizioni in termini di finali raggiungibili (e anche lì c’era il muro computazionale…).

    Poi sono arrivati i successi per i motori MCTS che hanno raggiunto risultati top of the crop prima nel Go, e poi negli Scacchi (e credo siano da quelle parti anche nello Shogi). Da un lato sono contento che esista uno strumento come alphazero, che usa proprio quelle idee (finalmente nuove, nel settore) e le applica IN GENERALE. Dall’altro so che non c’è verso che io riesca ad usarle nel piccolo, il che mi toglie un po’ motivazione.

    Certo che ho visto certe partite contro stockfish e lo stile di gioco di alphazero è davvero impressionante, per cui la parte agonistica di me dice: “ma chi se ne frega, birra e poltrona e godiamoci lo spettacolo!” 🙂
    Peraltro probabilmente riusciamo ad imparare finalmente qualcosa da come gioca “il mostro”, per cui da scacchista esulto!

    In fondo in fondo però penso che stanno succedendo cose che possono condizionare il futuro della nostra civiltà in maniera radicale, e che questi cambiamenti vadano governati in anticipo (cioè ORA): c’è chi è fiducioso (come Kasparov) e chi invece è più preoccupato (vedi per esempio Cathy O’Neil).
    Ma tutto ciò va oltre la CC, ovviamente…

    in risposta a: Scegliere la GUI per lo sviluppo #11777

    Io sono un talebano di xboard…per esempio Arena in molti casi ha dei glitch con il protocollo xboard che me la fanno odiare…però continuo ad avercela e ogni tanto la uso pure (soprattutto per certi match, o per qualche test volante).
    Se senti il bisogno di cambiare spesso potrebbe essere utile tenerle tutte, delle volte anche io vado a periodi: il prodotto perfetto non esiste in nessun campo, per cui alcune “feature” (in senso lato) le sopporto meglio in certi periodi, a discapito di feature presentate da altri programmi, e così oriento la scelta. Poi dopo qualche mese cambio io, e faccio la scelta opposta…
    😉

    in risposta a: Una mano #11305

    Conta pure me nel novero: html e javascript li tengo abbastanza spesso a portata di mano, per cui no problem a contribuire. L’inglese lo uso abbastanza abitualmente.

    Per i video invece non saprei da dove iniziare, ma qualcosa la posso pure imparare (dipende sempre da cosa intendi tu per realizzazione video…): per questo capitolo partirei da qualcosa di molto semplice, visto che in vita mia al massimo sono arrivato a mettere dei sottotitoli con virtualdub… 🙂

    Fammi sapere come contribuire (tanto ci vediamo comunque al torneo mercoledì 😉 ).

    bye^2, mr

    in risposta a: E adesso? #10811

    Se si vota, voto per GA/NN!

    bye^2, mr

    in risposta a: Libri scacchi #10560

    Molto IMHO:

    – sulle strutture di pedoni c’è un libro vecchio ma secondo me bello, e molto chiaro: ovviamente le idee moderne avranno fatto tanti passi avanti, ma da qualche parte uno deve pure iniziare…il libro è quello di Hans Kmoch “I Pedoni anima degli scacchi”. Tieni comunque conto che è argomento molto dibattuto e ribattuto, anche spesso come argomento nei libri di aperture, o sul mediogioco, con interi capitoli (per cui dovresti spulciarti il libro intero…un pezzo qui e uno là…).

    – sui finali c’è il mondo, ma ho sentito parlare bene di quello di Silman (che credo si chiami Chess Endgames o qualcosa di simile): pare sia molto completo e didattico; altrimenti ci sono i libri russi, spesso sono più settoriali (tipo “Teoria dei finali di Torre” di Smyslov e Levenfisch, per dire), solo che richiedono tanto studio prima di addivenire ad una qualche forma di sintesi…e come non menzionare il libro di Dvoretsky – solo che mi sa che è un pò pesante…

    bye^2, mr

    in risposta a: Linguaggio Rust #10496

    Ciao,

    anche io qualche tempo fa avevo pensato di provare Rust per riscrivere Chexa: cambiando linguaggio sarei stato costretto a fare un vero rewrite, il che mi farebbe un gran bene (me lo dico/ripeto ormai da anni)…

    Però devo dire che mentre lo studiavo la voglia andava scemando: il fatto è che ogni linguaggio di programmazione ha i suoi tradeoff; accetti degli svantaggi per ottenere dei vantaggi. Rust è un linguaggio nato con la programmazione di sistema in mente. Per quello scopo ha tantissimi vantaggi.

    Il dubbio che mi andava crescendo mentre lo studiavo era “ma a conti fatti mi conviene?”.
    Riguardo alla velocità non credevo mi avrebbe dato poi tantissimo: ad esempio non mi è chiaro se i tipi “boxed” impattano sulle performance in maniera significativa…
    Il C è praticamente assembly portabile, con le ovvie difficoltà che ciò causa, ma in cambio ti rende un controllo quasi completo sulla macchina. Devi cedere parte del secondo se vuoi programmare in un linguaggio più moderno, imho. Quindi non è nemmeno (soltanto) una faccenda di prestazioni, per me.

    Detto questo, egoisticamente sono contento che qualcuno stia provando a (ri)scrivere un motore in Rust, che è la cosa che non ho avuto volontà/fegato di fare io, pur essendo curioso di sapere come va a finire 🙂

    Per cui farò il tifo per te 😉

    in risposta a: Test di Logica dei motori… #10209

    In questo momento non ho la possibilità di analizzare la partita, ma ti rispondo per linee generali per quella che è la mia esperienza: per analizzare una posizione controversa di questo genere conviene “interrogare” il motore, cioè forzare la linea di gioco che intendi verificare, e poi cercare di confutare il gioco con il quale il motore neutralizza la mossa da analizzare. Si scopre così facendo che molto spesso hanno ragione i motori, il che però nulla toglie alla bellezza di una mossa “da antologia”: questo perché gli Scacchi sono anche Arte e Lotta, per cui anche se il sacrificio di Timman non è inappuntabile dal punto di vista analitico resta comunque una gran mossa dal punto di vista estetico e agonistico.

    Altre volte invece si scopre con meraviglia che un GM di 40 anni fa trova una mossa in partita viva che richede a un motore molto più tempo, e anche quelle son soddisfazioni 😉

    Il tutto ovviamente IMHO… 🙂

    in risposta a: Alfa-beta a Montecarlo? #9333

    Uhm, molto interessante. Ma parlano solo dell’algoritmo? Voglio dire, ad una lettura superficiale mi sembra che non abbiano fatto test “in vivo”, ma magari mi sono perso un pezzo?

    In vista del rewrite del mio motore che ho in programma direi che potrei anche fare qualche prova…chissa’…

    bye^2, mr

    in risposta a: Primo tentativo con CLOP: è FLOP! #9122

    Confermo: stessa fenomenologia, poi una volta regredito alla versione precedente è tornato a funzionare…

    bye^2, mr

    in risposta a: Strategic Quiescence Search #8452

    Se una mossa non e’ tattica il valore usato per il pruning e’ praticamente il massimo differenziale nella eval raggiunto dalla mossa, opportunamente “invecchiato”, mentre per le mosse tattiche sostanzialmente consideri il cambio di materiale (con qualche ritocco). Mosse non tattiche che hanno avuto successo molte volte durante la ricerca vengono considerate meritevoli di approfondimento (quindi non sono prunate), mentre il merito di quelle tattiche e’ sostanzialmente il guadagno immediato di materiale (a parte gli scacchi).

    In effetti quest’ultima parte mi piace meno, io personalmente uso da parecchio per le mosse non tattiche una history simile a questa che usa una combinazione lineare delle varie componenti della staticval (che pero’ non mi soddisfa, ma non ho mai avuto il tempo di approfondire il discorso), non in QSearch, nella fase immediatamente prima, nelle ultime ply prima della QS (mi sembra che la versione attuale di Chexa faccia questa cosa nelle ultime 4 ply, ma a memoria non ricordo); praticamente se non “meritano” e sono ordinate in basso le pruno nelle ultime ply (parametri tunati tempo fa, ma vasto margine per improvements…); per le mosse tattiche invece uso la SEE, soprattutto in QSearch, perche’ mi sembra piu’ stabile. Again, ho fatto pochi test, per cui…

    Insomma, il punto e’ trovare un punteggio di “merito” delle varie mosse, che possa farti “mettere sullo stesso piano” le mosse tattiche e le mosse non tattiche, solo che loro lo fanno in QS, altri modernamente lo fanno prima. In modo (da quello che ci capisco io) da diminuire gradualmente il numero di mosse visitate per ogni nodo, dalla search normale alla QS.

    Boh, ‘na cosa del genere 🙂

    bye^2, mr

    in risposta a: Organizziamo l' I.G.T 2015 #8445

    Al LTB il wifi c’e’. Non e’ esattamente il tubo dell’acqua, ma e’ ragionevole per cio’ per cui ci servirebbe.
    Il problema li’ sarebbe quello delle date e della disponibilita’ della sala…

    bye^2, mr

    in risposta a: Server 64 bit #8343

    Ciao, se serve posso inviare Chexa in versione senza estensioni vettoriali, mi basta ricompilare.

    @Stefano: si’, normalmente uno dovrebbe fare cosi’, solo che in questo modo hai un eseguibile piu’ grande, e imho un penalty delle prestazioni, visto che avresti un sacco di branch inutili. Non a caso ci sono tantissimi programmi che vengono distribuiti in piu’ versioni, per cui mi sono adeguato 🙂
    Peraltro Chexa se non ha quelle istruzioni crasha immediatamente, quindi non si perde nemmeno tanto tempo ;-P

    in risposta a: La gestione dei programmi basati su starter engine #8027

    Scusate il ritardo:

    [quote=8026]
    Se si dovesse decidere diversamente allora, per coerenza, dovremmo togliere lo starter engine o segnalare che è a solo scopo dimostrativo e che non può essere usato come base di partenza per sviluppare un proprio engine.[/quote]

    Non ci vedo niente di strano per la verita’. Non e’ il primo caso e non sara’ l’ultimo in cui qualcuno propone un programma dimostrativo. E faccio notare che cio’ non sminuisce affatto il contributo di chi propone questo materiale (nel caso specifico il nostro Fabio).

    Sottoscrivo in pieno quanto detto da Edoardo in questo thread, per me lo starter kit va inteso come materiale di studio. Voto per quest’ultima opzione.

    Just my two eurocents.

    bye^2, mr

    PS Go Rosetta go! 🙂

    in risposta a: Hidden SEE #7789

    [quote=7780]

    Hidden SEE va aggiunto all’MVV-LVA: in pratica metti in cima la ricattura con il pezzo di minor valore e ordini le restanti con il MVV-LVA.

    Ok, devo pensarci un po’ per digerire meglio le conseguenze della frase :-)

    [/quote]

    Piu’ ci penso e piu’ penso che sia una idea da provare…mumble…la ricattura piu’ economica…cheaper recapture ordering 🙂

    Thx for sharing, quando trovo tempo e forze la provo e poi ti fo sapere.

    bye^2, mr

Stai vedendo 15 articoli - dal 1 a 15 (di 160 totali)
© 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