Forum pubblico/privato: Pubblico
Permessi di scrittura: Utenti registrati
Giorno: 20/01/2016, 22:31:01
STRANEZZA???
Ma secondo voi è possibile che un motore, sullo stesso hardware e con lo stesso settaggio dia valutazioni diverse in momenti diversi?? Mi spiego meglio, ho fatto analizzare una mia posizione a tempo lungo e due giorni dopo ho ripetuto l'analisi con lo stesso motore, lo stesso PC, gli stessi settaggi e la stessa profondità. Ebbene i risultati sono diversi per le due analisi, sebbene di pochissimi centesimi.
Giorno: 28/03/2023, 09:49:53
Link sponsorizzati
Giorno: 21/01/2016, 15:18:48
Si è normale. Dipende da fattori stocastici.
"...whenever you have to make a rook move and both rooks are available for said move - you should evaluate which rook to move and, once you have made up your mind... MOVE THE OTHER ONE!!!" - GM Oscar Panno
Giorno: 21/01/2016, 19:20:59
Proprio così! E questa "stranezza" dei motori diventa una faccenda fastidiosissima quando si cerca di avere un minimo di oggettività scientifica nei test tattici, perché quei pochi centesimi di differenza nella funzione di valutazione possono rendere i tempi di soluzione delle posizioni più complesse molto diversi fra un tentativo e l'altro, o addirittura far sì che la soluzione talvolta venga trovata in tempi accettabili e talaltra non venga trovata affatto! dho.gifdho.gifdho.gif

Con i processori Intel delle ultime generazioni, inoltre, e soprattutto sui laptop, la funzione "turbo bost" produce un ulteriore fattore di incertezza sulla frequenza di clock, che può differire fino al 20-30% del valore nominale fra processore "freddo" e processore "caldo". mmmm.gifmmmm.gifmmmm.gif

È quello che, qualche anno fa chiamammo scherzosamente "effetto butterfly" (o "effetto C..." come lo ribattezzò Carotino): una farfalla batte le ali a Pechino (o giù di lì) e innesca un tornado in Arizona ... biggrin.gifbiggrin.gif

ciao.gifciao.gif
"TB or not TB..."
Giorno: 21/01/2016, 22:37:30
..la farfalla era in Amazzonia, inizialmente, come poi fosse arrivata a Pechino sarà perchè ha seguito un "percorso stocastico"...cioè ci è capitata per caso matematico...quasi stocastico
Ad ogni modo, scrive Alfaprimo
Si è normale. Dipende da fattori stocastici.

Ma Alfaprimo sa cosa sono i fattori stocastici ed in quale contesto scientifico è possibile
applicarli ?... mi chiedo e gli chiedo.
Ha un qualche dottorato anche lui ?
Giorno: 22/01/2016, 16:37:26
Seleuco di Seleucia: Ho un dottorato in Matematica...
e tu?
"...whenever you have to make a rook move and both rooks are available for said move - you should evaluate which rook to move and, once you have made up your mind... MOVE THE OTHER ONE!!!" - GM Oscar Panno
Giorno: 22/01/2016, 18:03:31
Sarebbe bello se almeno in analisi infinita il risultato tendesse a essere deterministico. Invece... stocastico! biggrin.gif
"W l'analphabeta pruning!"
Giorno: 23/01/2016, 14:30:25
Come contrastare la epidemia fesserologica sui forum di scacchi - modelli deterministici e modelli stocastici. Leggendo la pagina linkata prego di fare molta attenzione quando si parla di input ed output.

Nel frattempo ho chiesto ad un mio amico 'contadino' di farmi un esempio di come lui mette in opera i modelli citati e quale risposta dare a Malkolinge.
La sua analisi è stata illuminante, e la riporterò quanto prima.
Giorno: 25/01/2016, 13:23:50
Quiz
Lancio un quiz.

La risposta di Alfaprimo non è corretta.

Qualcuno sa dare una risposta a Malkolinge che, leggendo tra le righe, scrive : ...ho fatto analizzare una mia posizione a tempo lungo e due giorni dopo ho ripetuto l'analisi con lo stesso motore, lo stesso PC, gli stessi settaggi e la stessa profondità. Ebbene i risultati sono diversi per le due analisi, sebbene di pochissimi centesimi.

Rileggendo tutti i post precedenti si trovano le chiavi per risolvere il quiz...non occorre essere titolati in materie scientifiche, basta solo quel tanto di acume logico.

Una piccola traccia... il commento sarcastico di Pcm72 è corretto, anche se non risponde al quiz.

Post scriptum - secondo quiz ( facoltativo per gli amici scacchisti meteorologi...solo titolati - no perditempo)
Perchhè la farfalla citata da Luigi non può essere pechinese ma può solo essere centro-sud americana ?
Ecco, in questo caso la risposta si collega a modelli stocastici, ma niente a che vedere con la domanda di Malkolinge
Giorno: 02/02/2016, 00:28:16
Risposta al quiz

Il valore dato ad un "nodo" non cambia ed è 'deterministico' , e non 'stocastico', come qualcuno ha scritto. Il motivo della domanda di Malkolinge è nella comunicazione tra la GUI ed il motore:
o meglio, l'input della GUI , l'output di risposta del motore ed i threads interni al motore (il generatore di mosse e gli algoritmi di ricerca e selezione). Il generatore di mosse crea i nodi (ogni nodo è come un diagramma) e la 'history' (la sequenza di mosse che si vede nella finestra della GUI) ed ha un suo passo indipendente dalla 'Search' - valutazione e selezione del nodo.
Questi threads 'viaggiano' alla velocità di nano secondi mentre quello della GUI verso il motore tra un millesimo ed un secondo.
Poniamo questo esempio inserendo un diagramma (un nodo) e lasciamo andare i motore fino alla 20a profondità.
Mossa al nero.
abcdefgh
8
8
7
7
6
6
5
5
4
4
3
3
2
2
1
1
abcdefgh
Fen: 4rrk1/1p1bb1pp/2p5/8/1PN2PP1/P3P2P/6B1/2RR2K1 w - - 0 1


Alla profondità stabilita il motore riporta -1.93

Ha ricevuto dalla GUI il comando "stop", secondo il protocollo UCI ed il motore
invia alla GUI
2016-02-01 23.15.31,281-->1:stop
2016-02-01 23.15.31,281<--1:info nodes 2581785 time 11068
2016-02-01 23.15.31,281<--1:bestmove d7e6 ponder c4a5

NB attenzione al numero dei nodi, perchè domani rifarò la stessa cosa con il motore alla 20a profondità riportando i dati per un confronto

Al momento è interessante vedere la valutazione del diagramma (nodo) che è -1.79

Eval term | White | Black | Total
| MG EG | MG EG | MG EG
----------------+-------------+-------------+-------------
Material | --- --- | --- --- | 1.57 1.91
Imbalance | --- --- | --- --- | -0.47 -0.47
Pawns | --- --- | --- --- | 0.14 0.09
Knights | 0.12 0.03 | 0.00 0.00 | 0.12 0.03
Bishop | -0.03 -0.09 | -0.09 -0.18 | 0.06 0.09
Rooks | 0.24 0.12 | 0.15 0.08 | 0.09 0.04
Queens | 0.00 0.00 | 0.00 0.00 | 0.00 0.00
Mobility | 0.43 1.28 | 0.38 1.10 | 0.05 0.18
King safety | 0.21 -0.12 | 0.36 -0.06 | -0.15 -0.06
Threats | 0.34 0.34 | 0.12 0.07 | 0.22 0.26
Passed pawns | -0.07 0.01 | 0.00 0.00 | -0.07 0.01
Space | 0.15 0.00 | 0.09 0.00 | 0.06 0.00
----------------+-------------+-------------+-------------
Total | --- --- | --- --- | 1.56 2.05
Total Evaluation: 1.79 (white side)

Post scriptum - Il nodo al quale si riferisce il motore è confermato...da 1.93. A domani e buonanotte

Eval term | White | Black | Total
| MG EG | MG EG | MG EG
----------------+-------------+-------------+-------------
Material | --- --- | --- --- | 1.19 2.62
Imbalance | --- --- | --- --- | -0.49 -0.49
Pawns | --- --- | --- --- | -0.13 -0.07
Knights | 0.24 0.07 | 0.00 0.00 | 0.24 0.07
Bishop | 0.01 -0.11 | -0.03 -0.09 | 0.04 -0.02
Rooks | 0.00 0.00 | 0.00 0.00 | 0.00 0.00
Queens | 0.00 0.00 | 0.00 0.00 | 0.00 0.00
Mobility | 0.39 0.38 | 0.30 0.21 | 0.09 0.17
King safety | -0.09 -0.06 | -0.02 -0.06 | -0.06 0.00
Threats | 0.12 0.07 | 0.17 0.17 | -0.05 -0.09
Passed pawns | -0.07 0.01 | 0.00 0.00 | -0.07 0.01
Space | 0.14 0.00 | 0.10 0.00 | 0.03 0.00
----------------+-------------+-------------+-------------
Total | --- --- | --- --- | 0.76 2.01
Total Evaluation: 1.93 (white side)
Giorno: 04/02/2016, 20:48:30
@Malkolinge

Prima di azzardare una risposta, chi prima di me ha postato, avrebbe dovuto chiederti :
- quante cpu
- quanti Ghz
- quale chess engine
- quale GUI

Ma, nonostante ciò, azzardo anch'io una risposta su base probabilistica.

Nel momento che hai dato lo "stop" non ti sei accorto che il valore letto in precedenzaa a quella data profondità si riferiva ad un upperbound o lowerbound (leggere un + o - accanto al numero di depth non dice che la profondità è stata 'scandagliata a fondo' ma solo che ci sono degli 'anfratti' di alti e bassi).
Lo "stop" dato dalla GUI al motore non vuol dire "Fermati!" ma "per favore, fermati quando ti è possibile" ( per quel discorso fatto in precedenza sui threads ) e questo implica che se per caso tu hai una multi cpu il motore darà l'ultimo valore trovato a quella profondità da quella cpu.

Altra cosa importante è che se per caso il valore importante del nodo salta in quel momento lo ritroviamo nel depth successivo...magari con una semi mossa in più selezionata fra quelle mosse legali che seguono alla precedente