Newsgroup: it.hobby.scacchi
Titolo: Rebel 12 sotto Fritz: tablebase, hashtable, ecc.

In un mio precedente post avevo scritto che Rebel 12 sotto Fritz 8
NON ha accesso alle tablebase, ma mi sono sbagliato.
In effetti, basta impostare una posizione da tablebase (ad esempio
ho impostato una posizione con R+A+A contro R) e il motore ti "spara"
subito il classico "#15" o cose del genere, a profondità 1. Ciò significa 
che ha letto le tablebase!
Quindi, il problema è solo che Rebel NON visualizza il numero degli accessi alle
tablebase, mentre Fritz, durante le analisi, li visualizza nella forma classica
"tb=x", dove "x" sta per il numero di accessi.
Altro problema: le hash table rimangono sempre impostate a 1 MB!
I valori possibili per le tablebase si trovano nel file rebel12.cpeini
che è un semplice file di testo.
La sintassi è:
hashtable=Integer(W1=512 KB|W2=4 MB|W3=13 MB|W4=28 MB|W5=40 MB|W6=60 MB|W7=100
MB|W8=200 MB|W9=400 MB)
Quindi:
W1= 512 KB
W2= 4 MB
ecc. ecc.
Il fatto è che tale variabile è già impostata nel file "wb2uci.eng" che è quello
che viene caricato prima del motore.
Nel mio, infatti, all'inizio della sezione [OPTIONS], trovo la stringa:
Program = Rebel12_CB.exe w6 rebel.eng
Quindi, Rebel dovrebbe partire con 60 MB di hash (W6), cosa che però non
succede!
Ho pensato che tale valore vada impostato nella "personalità" che Rebel si
carica all'avvio (quella predefinita è "Rebel.eng"), ma quando ho tentato di
aggiungere la stringa e poi di avviare Rebel, Fritz mi si è piantato
completamente e, anzi, una volta ho dovuto pure riavviare il computer :-((
Vediamo se qualche altro intrepido "sperimentatore" di IHS riesce a risolvere
questo mistero.
Saluti
Ivo

 Ivo

TB
Curiosità: se una posizione coperta da TB viene raggiunta nel corso di
un'analisi Rebel riesce a trarne giovamento oppure no?
L'aspetto più importante dell'uso delle TB è probabilmente questo.

 ha scritto nel messaggio
news:ipucovojb9gmn3s7q...@4ax.com...

Non capisco bene che intendi con '...coperta da TB...'.
Quando arrivi a una posizione con 6 o 7 pezzi Rebel, non supportando le TB
non le interroga, poi quando arrivi a 5 pezzi ( se tu le hai installate
ovviamente ) Fritz giocherà al posto del motore. Cmq il fatto che non
supporti le TB non significa necessariamente che giochi male i finali, mi è
capitato di vedere finali  giocati molto meglio da motori che non avevano le
TB rispetto a motori che le avevano. Per esempio Delfi, il migliore motore
italiano per Winboard, gioca benissimo i finali di Alfiere, e non ha le TB.
Ciao, Ciro

Non capisco bene che intendi con '...coperta da TB...'.
Faccio un esempio: posizione con 7 pezzi, 2 possibili cambi sulla
scacchiera, nessun obbiettivo immediato, neanche piccolo, dentro
l'orizzonte del programma.
Il programma analizza il primo cambio, interroga la TB, vede che dice
"matto in 37 mosse", analizza il secondo, la TB dice "patta".
Ovviamente un programma che ricerca le TB durante l'analisi esegue il
primo cambio di corsa, e dalla prossima mossa mette il pilota
automatico, forse un programma simile addirittura non prende per non
andare in una posizione sicuramente persa.
Se invece il pilota automatico entra soltanto dopo che il programma ha
scelto il secondo cambio, che per il motore di analisi generava una
posizione migliore, a quel punto quando Fritz passa alle TB la
posizione è ormai patta.
Mi pare che esista qualche programma che testa le TB durante
l'analisi, o ho capito male?


Ok, Fritz ( e quasi tutti i programmi che le implementano ) interrogano le
TB durante l'analisi, quindi non semplificano se finiscono in area TB
prendendo matto, anche a costo di perdere materiale. Lo si può capire dal
'grattugiamento' dell'HD! :-) Rebel non interroga le TB, non avendole
implementate. Quando si arriva nell'area TB l'interfaccia assume il
controllo, e gioca con le TB al posto del motore.
Ciao, Ciro

L'aspetto più importante dell'uso delle TB è probabilmente questo.
Il fatto e' che il programmatore di Rebel, Schroder,  non crede nelle
tablebase,
quindi non le ha implementate. Cosi' la risposta alla tua domanda
potrebbe essere "non viene peggiorato dalle tablebase".
Il verdetto sulla questione e' ancora aperto.
Se ricordo bene anche il programmatore di Tiger non "crede"
nelle tablebase. 
Ciao
ps.
aggiornamento ... googlando ho appena  scoperto che ..
http://www.chessbase.com/shop/product.asp?pid=102
"A clear weakness in earlier versions was to be found in the endgame.
Chess Tiger did not use the Nalimov endgame tablebases, because its
author was wont to slow down his program with hard disk accesses. This
has been changed in the current version, which has received a very
efficient implementation of tablebase lookups  so much so that there
is a net increase of search speed in spite of the hard disk activity "
In pratica Chess tiger ha cambiato idea.

nelle tablebase. 
Interessante: in sostanza, visto che non credo dubitino della loro
esattezza, immagino che ritengano che, tenuto conto del tempo perso
per consultarle valga la pena (leggi cambi il giudizio) un numero di
volte tanto ridotto da annullare ogni beneficio, magari addirittura
tanto ridotto da causare un danno.
Curiosamente (ma non tanto) i due collaborano: esiste anche qualcun
altro oltre a loro che ha sposato questa teoria o che, pur avendole
magari utilizzate, la pensi almeno in parte come loro?

magari utilizzate, la pensi almeno in parte come loro?
beh la maggiorparte dei programmi  le utilizzano ma mi ricordo che
loro asserivano che le posizioni in cui senza tablebase non si riesce
a programmare un algoritmo specifico per quel finale sono cosi' rare
da essere praticamente ininfluenti. questo vuol dire che si puo'
programmare una engine che, senza tablebase, faccia lo stesso le mosse
giuste nei finali di pochi pezzi, risparmiando tempo di accesso al
disco.