lucaNaddei

Risposte al Forum Create

Stai vedendo 15 articoli - dal 1 a 15 (di 22 totali)
  • Autore
    Articoli
  • in risposta a: Perft #12183

    lucaNaddei
    Membro

    Giochicchiando con il perft di Uragano3D_X64 su un I7-3770 3.4Ghz

    rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq –
    perft 1 20 00.00,03 errors=0
    perft 2 400 00.00,03 errors=0
    perft 3 8902 00.00,03 errors=0
    perft 4 197281 00.00,03 errors=0
    perft 5 4865609 00.00,06 errors=0
    perft 6 119060324 00.00,34 errors=0
    perft 7 3195901860 00.04,78 errors=0
    (ovviamente barando)

    Uragano3D_X64 genera mosse pseudolegali, quindi deve fare make/unmake a depth 0

    in risposta a: Perft #12171

    lucaNaddei
    Membro

    Uragano3D_X64 accetta la sfida 😀

    in risposta a: AlphaZero e compagnia bella #11824

    lucaNaddei
    Membro

    Oggi nell’ambito di una conferenza sull’AI c’era la possibilità di fare domande via streaming ad un ricercatore che ha fatto parte del team di AlphaGO. Gli ho chiesto se durante la fase di autoapprendimento di AlphaZero il software aggiornava solo i parametri della rete neurale o se avesse anche immagazzinato i dati delle partite per riutilizzarli in fase di ricerca (come pattern); lui mi ha risposto che non è stato salvato nessun dato ed il software ha solo aggiornato i parametri.

    Rispondendo ad un altro ragazzo, che poi ho scoperto essere un amico di Edo Manino, ha detto testualmente che è una “Fake News” il fatto che AlphaGo abbia autoappreso totalmente la tecnica del GO conoscendo solo le regole del gioco, ma ha affermato che nella prima fase dell’apprendimento c’era un team umano che valutava la bontà delle mosse dell’engine.

    Da quanto ho capito lui ha fatto parte solo del team di AlphaGo.

    LucaN

    in risposta a: re-deepening #11380

    lucaNaddei
    Membro

    Stefano, chiedo venia, stiamo parlando di due cose diverse.
    Quando ho sentito parlare di rilanciare la ricerca alla profondità precedente l’ho associata a quello che facevo io (tradito anche da Andrea che lo aveva associato ad una specie di IID), poi non capendo ho riletto bene il tuo post ed ho realizzato.

    Comunque alcune cose restano valide:
    Stefano dice: Se prendessi -100 come limite inferiore, rischierei di trovarmi tutte le mosse a depth 4 di nuovo a -INFINITO!
    Beh questo vorrebbe dire che per ora è ancora la tua bestmove.

    Stefano dice: sto ripetendo depth 4 per trovare la miglior mossa da analizzare.
    Se il problema è una presa fuori dall’orizzonte ripetere depth4 non ti darà mai una nuova bestmove ma solo mosse casuali.
    Se a depth4 c’è una forchetta sulla scacchiera, per cui a depth6 ti ritroverai con un pezzo in meno, potrai pure scartare la bestmove, ma qualunque altra seconda mossa non sarà in grado di “valutare” la forchetta esattamente come la tua ex bestmove.
    Io faccio questo “passo indietro” solo per riempire le hash ed avere un ordinamento migliore, ma l’ordinamento inteso non come ordinamento alla radice, ma dei nodi interni mai precedentemente visitati, nodi che poi andrò a rianalizzare all’iterazione successiva.

    Stefano dice: Non avendo la quiescenza…
    Sono fermamente convinto che un motore che analizza a profondità fissa depth6 + 4depth di quiescenza vinca agevolmente contro un motore che analizza a depth10 senza quiescenza (usando anche una frazione del tempo); se hai poco tempo a disposizione prova questa come modifica.

    in risposta a: re-deepening #11378

    lucaNaddei
    Membro

    IL concetto è sempre lo stesso, sia che tu abbia alfa-beta che il tuo alfa-gemma (che da quello che ho capito è un alfa beta “srotolato” e non ricorsivo); quando il programma si accorge che la mossa che riteneva migliore non è poi così buona, comincia a “pensare”, lasciandoti sospeso con una bestmove che non è poi così “best”.
    Più e scarsa la nuova valutazione di questa mossa più la finestra resta ampia e quindi più tempo impiegherà per terminare la ricerca alla profondità corrente.

    A questo punto la priorità 1 è: trovare un’altra mossa e verificare che porti ad un punteggio migliore.
    Non capisco perchè dici di non considerare il valore certo della mossa “degradata”, se passa da +20 a prof4 a -100 a prof6 io quel -100 me lo tengo, anche perchè se è stata analizzata come prima mossa (gran parte dei casi) anche a liv4, non posso sapere quanto le seconde e terze mosse siano corrette come valori; magari restituiscono +10 ma valgono tutte -infinito e scopro che la mia mossa “degradata” è l’unica che non porta al matto.

    Dimenticavo una cosa importantissima, quando succede che una bestmove degrada, vuol dire che ci sono guai in vista, quindi bisogna comunque ASSOLUTAMENTE finire di analizzare la profondità per tutte le mosse (nell’esempio che stiamo facendo la prof6).
    Nel 99% dei casi la bestmove degrada non perchè è scarsa lei come mossa, ma perchè c’è una minaccia da parare da qualche altra parte che non si può apprezzare alla profondità precedente.

    in risposta a: re-deepening #11367

    lucaNaddei
    Membro

    E’ una buona soluzione.
    Quando implementai questa cosa Uragano guadagnò oltre 100 punti.

    Praticamente in Uragano (ed anche piccolino) quando nella nuova iterazione la mia “Best Move” ha un sensibile calo di valutazione, riduco di 1 la profondità (ovvero torno alla profondità precedente) per le restanti mosse.
    Terminata la ricerca a profondità P-1 Avrò due casi: (1) la “best move” è la stessa, pazienza ho perso tempo (molto poco, le hash hanno lavorato) (2) la “best move” è un’altra, bene! il tempo perso è ampiamente ripagato da una mossa forse più affidabile ma soprattutto dalle hash che ora contengono dati che mi serviranno ad ordinare meglio le mosse alla profondità successiva (quella originaria).

    Andrea dice: Sembra una specie di Internal Iterative Deepening applicato alla radice. –> ESATTO!

    Stefano dice: L’iterazione alla profondità precedente dovrebbe risultare veloce, grazie alla TT –> NO, se cambia la Best Move.
    Rifare la mossa alla profondità inferiore serve proprio a riempire le hash (soprattutto per l’ordinamento), in quanto alfa beta avrà potato ampiamente i rami sotto la PV forte della sua valutazione.

    Stefano dice: un’idea potrebbe essere quella di usare come minimo il valore della seconda miglior mossa –> NEMMENO
    Il valore della seconda mossa è assolutamente aleatorio con alfa-beta (o meglio è corretto solo se nella ricerca è stata analizzata prima di quella che poi è risultata la best move).

    Luca

    in risposta a: E adesso? #10814

    lucaNaddei
    Membro

    Logica cablata a mano, ma dipende dallo spazio che hai in casa :-))

    LN

    in risposta a: PICcolino #10809

    lucaNaddei
    Membro

    A volte ritorniamo…

    in risposta a: Commento su png #9609

    lucaNaddei
    Membro

    Cose che capitano fra engines.
    Evidentemente Ribka ha un bonus esageratamente alto per entrare in un finale di pedoni vinto e probabilmente quando entra in questo finale fa una valutazione statica e ferma la ricerca.

    Luca

    in risposta a: Rendere un motore forte, superare ELO 1800 #8762

    lucaNaddei
    Membro

    Si, hai ragione, può essere.

    Luca

    in risposta a: Rendere un motore forte, superare ELO 1800 #8760

    lucaNaddei
    Membro

    hai un evidente baco.
    La progressione dei tempi dovrebbe essere esponenziale (20x Р30x) mentre fra perft3 a perft4 ̬ alquanto anomala.
    Comunque il perft è un test per verificare il generatore, è importante il numero di mosse generate, non il tempo.
    Segui il consiglio di Luca Lissandrello.

    Luca N.

    in risposta a: LiliaChess #6629

    lucaNaddei
    Membro

    Ciao Carlo e Benvenuto
    Non posso che apprezzare l’etimologia del nome della tua GUI, sappi che non sei l’unico programmatore che si è passato notti di studio insieme ad Ελληνικός λογός ed il Rocci. 😉

    LucaN

    Gedeone
    Uragano3D
    PIC_colino (in gestazione)

    in risposta a: Nuova area di programmazione #5962

    lucaNaddei
    Membro

    [quote=5946]
    Tralaltro ho scoperto che avevo pure fatto altri giochi, solo che sono in qbasic e non girano sotto windows <img

    [/quote]

    Hem i miei due sono in formato iOS, li devo ricompilare (e rigraficare) per Windows.
    Promesso che per prima di Natale sono pronti e uploadati 🙂

    LucaN

    in risposta a: Nuova area di programmazione #5923

    lucaNaddei
    Membro

    [quote=5918]Ragazzi, io non so se una decisione potrebbe portare ad un miglioramento o no; siamo un gruppo, per questo chiedo spesso il vostro parere.<br>
    Nessuno ha la sfera magica, io so solo che sono andato avanti sfruttando sempre tutte le risorse a mia disposizione.<br>
    Penso che se il mio omonimo può mettere a disposizione qualcosa, sarà sicuramente utile, quindi ben venga la forza 4 e tutto il resto!

    Bye!
    [/quote]

    Non capisco forse ci siamo fraintesi, leggendo la paginetta degli engines alternativi che avevi appena creato, mi sembrava che l’idea base fosse che ognuno sviluppasse un gioco diverso per poter offrire un più vasto assortimento di sfidanti di silicio nelle sfide uomo-macchina, e non per sfidarci fra noi.
    In quest’ottica ti ho detto di aggiungere a mio nome quei giochi, in quanto di entrambi ho giá sviluppato i motori e possiamo aggiungerli da subito all’ “offerta” del G6.

    LucaN

    in risposta a: Nuova area di programmazione #5917

    lucaNaddei
    Membro

    [quote=5915]
    Ho creato una bozza di quanto accennato su http://www.g-sei.org/engines-alternativi/

    Bye!
    [/quote]

    Puoi tranquillamente aggiungere Gomoku e Forza4 per quanto mi riguarda
    Per le regole metto giù due righe e te le mando poi
    Inoltre devo scavare nella mie vecchie librerie di sorgenti, dovrei avere qualche altro motore di giochino che non mi ricordo nemmeno più.
    LucaN

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