Forum pubblico/privato: Pubblico
Permessi di scrittura: Utenti registrati
Giorno: 29/08/2016, 17:22:20
nuovo deepfish mz
Mi rivolgo in particolare all'esimio Maurizio.
E' possibile nonché plausibile che tu trovi il tempo di sviluppare una versione mz di stockfish7 con tutti i prunings, nullmove, lmr e quant'altro disabilitati, diciamo uno stockfish7 praticamente bruteforce?
Alla maniera della versione 4.1, ma partendo stavolta da sf7?
LucasChess10 sta per uscire, forse un mesetto, forse meno, ed abbiamo bisogno di un motorone che però sia più adatto all'analisi che non al gioco puro, possibilmente superiore al deepfish 4.1 mz che hai realizzato qualche annetto fa.
Inutile dire che chiunque contribuisca al LucasChess viene citato sia nel sito che in qualche menù del programma.
Questo superanalizzatore ci serve per far andare nella maniera più efficace possibile un nuovo sistema che ho ideato io stesso, che sfrutta l'analisi a motore di una partita per ricavare una performance elo da una partita, ma anche da una singola mossa, o anche fase per fase della partita...
A dire il vero io posseggo una versione di Rodent II del mio amico Pawel Koziol, che egli ha sviluppato appositamente per me e LC, che in qualche modo si avvicina al bruteforce, ma che oggettivamente non può sfidare in assoluto stockfish7.
Attendo news, aloha.
Giorno: 05/02/2023, 20:55:32
Link sponsorizzati
Giorno: 31/08/2016, 22:52:12
Ciao ti ho preparato al volo una versione DeepFish
basata sull'ultima SRC: "Optimize order of a few conditions in search"
Optimize order of a..
SRC+POPCNT+BMI2
DeepFishMZ
ciao.gif
http://outskirts.altervista.org/forum/index.php
Giorno: 01/09/2016, 09:08:49
Questa versione di deepfish mz sarà lo standard per le analisi in LUCASCHESS (anche se sarà sempre permesso a chi vuole di usare altri motori per analizzare, sia gratuiti che comprati, tipo komodo 10).
Per molti tools invece, per avere uno std esteso a tutto la gui, questo deepfish sarà il motore utilizzato per le analisi.
Sarai inserito tra i contributori del progetto, nell'apposita pagina nel sito, e nell'apposita finestrella nel programma.
ciao.gif
Giorno: 01/09/2016, 09:41:01
Grazie onorato di essere stato utile.
Se hai bisogno di altro io sono qui. smile.gif
http://outskirts.altervista.org/forum/index.php
Giorno: 03/09/2016, 08:26:36
In effetti Amos, potresti biggrin.gif
Il mio pudore mi ha impedito di farlo presente, perché non voglio rompere le scatols to anybody, però in effetti se facessi anche un 32bit non ci starebbe male, in quanti alcuni (ormai pochi ma penso ci siano ancora) potrebbero avere un computer vecchiotto che non è in grado di far girare il deepfish a 64bit.
Inoltre se non chiedo veramente troppo, sarebbe oltremodo utile se sia nel nuovo 32bit che nel 64bit ci fosse ci fosse la possibilità di regolare il carico cpu in percentuale.
LUCASCHESS ha sempre avuto fin dalle origini la caratteristica di essere una gui molto leggera e adatta anche a computers antidiluviani; ecco perché avrei bisogno che l'evenutale deepfish analizzatore non stressi più di tanto la macchina ed inoltre, essendo una gui bella e ricca ok ma non proprio ultraresponsiva, almeno non come Fritz o Chessmaster, sarebbe moooooooooolto meglio se non ci fosse anche qualche motore che impalli tutto senzasperanza.gif

Adesso veniamo al punto: ti spiego come utilizzeremo deepfish 7 mz!
In primo luogo chi vorrà analizzare una partita nella maniera classica, mossa per mossa, o la singola mossa, potrà utilizzare appunto df7mz che con tutta probabilità sarà proprio il motore di default (ma l'utente potrà cambiarlo con tutti gli altri forniti, sono circa 40.......).
Df7mz però mi serve in particolar modo, però, e lì penso proprio che non sarà concesso all'utente di cambiare niente, per il nuovo tool che ho chiamato epc cioè elo-performance-calculator.
Cosa ho fatto:
1)ho fatto analizzare a df4.1mz quasi 2000 partite(ancora adesso ho un'arena che gira 8/9 ore al giorno facendo questo) e ricavato una correlazione tra errore medio per mossa ed elo del giocatore: è venuta fuori una cosa molto interessante e cioè che l'errore medio cresce al diminuire dell'elo (e questo era ovvio aspettarselo) ma quello che è interessante è l'andamento della curva; siccome l'argomento è molto complesso ed ha implicazioni matematiche mostruose non mi dilungo ma alla fine, grazie al prezioso aiuto di un amico tedesco che fa il matematico per campare, siamo arrivati alla definzione di un algoritmo interessante
2)il motore analizzatore viene considerato come std per le analisi, cioè df7mz, per cui tutte le mosse del giocatore che non corrispondono alla migliore di df7mz deve essere considerate un errore e il gap tra le due mosse usato per ricavare una performance elo di quella singola mossa
3)df7mz viene assunto come std ed in particolare valere 3400 punti elo umani, cioè a dire che in un ipotetico match contro carlsen, sulle 100 partite dovrebbe concedergli circa 2 punti: mi sembra senz'altro verosimile, anzi mi pare d'essere stato perfino generosetto con quello che molti si ostinano a ritenere campione del mondo...
4)dopo averci perso del giorni, il mio amico mi ha fornito una funzione che coincide magnificamente (anche se non perfettamente) coi risultati che ho trovato io:

epc = 3400 15(Δeval)^1.03

dove il Δeval equivale alla differenza in centipedoni tra la mossa pensata da df7mz e quella fatta dal giocatore (ovviamente possono essere anche uguali, ed in quel caso il giocatore avrebbe performato 3400 in quella mossa); tutte le performance derivanti da mosse orribili inferiori a 1000 vengono normalizzate a 1000 (tipico è il caso di chi non vede un matto in 9..., che magari il motore trova facile: non possiamo fare una colpa ad un essere umano che ha giocato una partita magnifica e poi non ti trova il matto in 9; magari ne fa un'altra che semplifica e vince il finale facilmente!)
5)calcolando la performance mossa per mossa, e facendo la media aritmetica otteniamo la performance per la partita: avremmo anche potuto utilizzare sigma, cioè la deviazione std per diminuire l'incidenza di quegli errori macroscopici ma di fatto inutili nel cambiare il corso della partita; il mio approccio mi sembra più logico
Giorno: 04/09/2016, 12:10:43
Se ho ben capito non credo sia possibile assegnare al motore una percentuale di carico.
In quanto viene gestito dai processi Idle e Full.
Infatti solo assegnando al motore un numero inferiore di core rispetto a quelli disponibili hai uno snellimento nel sistema.
Potresti se hai la possibilità di farlo, inserire una funzione di utilizzo intelligente della CPU e al limite anche una funzione che ti permetta di impostare la priorità, come nelle GUI Fritz.
Altro mi spiace ma non mi viene in mente.


DeepFishMZ 32-Bit

P.S hai un PM ciao.gif
http://outskirts.altervista.org/forum/index.php