ChessBase 17 - Mega package - Edition 2024
It is the program of choice for anyone who loves the game and wants to know more about it. Start your personal success story with ChessBase and enjoy the game even more.
1) En la
ventana de diálogo de los parámetros del módulo Rybka 3, establezca el archivo
en el que se almacenarán las tablas hash (Persistent Hash File)
Para ello pulse el botón con los puntos suspensivos que está a
la derecha. Debe seleccionar el archivo propiamente
dicho, es decir, no sirve con indicar un directorio o carpeta.
Los archivos de almacenamiento de las tablas hash persistentes
tienen la extensión ".rph".
2)
Ponga una marca de comprobación en la casilla de habilitación de
las tablas hash persistentes (Persistent Hash
Enabled)
3) Establezca el
archivo en el que se guardarán las tablas hash (Saved Hash File)
Debe seleccionar el archivo propiamente dicho, es decir, no
sirve con indicar un directorio o carpeta. Los archivos
de almacenamiento de las tablas hash persistentes tienen la extensión
".rsh".
4)
Cuando haya realizado un análisis en profundidad de alguna posición concreta y
quiera que Rybka pueda acceder a ese trabajo
posteriormente, pulse el botón Save Hash
en la ventana de diálogo de los parámetros del módulo.
5)
Cuando quiera recuperar los análisis guardados en el paso 3,
asegúrese de que hay una marca de
comprobación en la casilla de conservación de análisis (Preserve Analysis)
y haga clic en el botón de carga de las tablas hash (Load Hash)
El resto de este
documento es para usuarios avanzados.
Tablas hash
Todos los
programas de ajedrez modernos de alto nivel emplean lo que se denomina tablas
hash o tablas de transposición. Se denomina "hashing"
a un algoritmo bien conocido con amplias aplicaciones, que en
los programas de ajedrez se emplea para almacenar conclusiones sobre posiciones
examinadas durante el proceso de búsqueda. El módulo se
beneficia de esas conclusiones cuando tiene que revisar las posiciones
posteriormente, bien en las iteraciones subsiguientes o
bien debido a trasposiciones. Esa información es muy
valiosa y contribuye enormemente a la eficiencia de la búsqueda de jugadas.
El problema es que las tablas hash tienen una limitación de
tamaño: deben adecuarse a la memoria del ordenador.
El contenido de las tablas de transposición se está descartando
constantemente en favor de datos con prioridad más alta.
En este proceso de priorización, hay una fuerte preferencia por las entradas más
recientes y las más antiguas normalmente no duran mucho.
Sin embargo, en algunos casos a los usuarios les gustaría tener
la posibilidad de que el módulo pudiese aprovechar el trabajo realizado algún
tiempo atrás. Dicho en otras palabras, les gustaría poder
mantener las entradas antiguas de las tablas hash. Rybka
lo permite de tres formas distintas.
Almacenamiento de los análisis
Una opción de los usuarios de Rybka para
ayudarlos a lograr eso es por medio del parámetro del módulo llamado
conservación del análisis (Preserve Analysis)
Cuando se activa, Rybka
da más prioridad a las entradas de alta calidad (es
decir, más profundas) y menos prioridad a las más
recientes. Ese esquema de prioridades es menos eficiente
desde el punto de vista de la disputa de partidas, en las que las posiciones
surgen una vez y pronto quedan atrás. Durante el análisis
interactivo, en el que el usuario vuelve una y otra vez sobre unas pocas
posiciones, es más eficiente.
La conservación del
análisis, sin embargo, no es una solución universal.
En primer lugar, al cabo de un tiempo tiene la tendencia a
llenar las tablas hash con entradas antiguas de alta calidad que interfieren con
los análisis eficientes de nuevas posiciones. Por este
motivo, cuando se realizan análisis con la opción de conservación del análisis
(Preserve
Analysis) es mejor limpiar las
tablas hash al cambiar a una posición completamente nueva.
En segundo lugar, la conservación del análisis no permite que se
guarden los análisis de una sesión para otra. Tampoco
permite a los usuarios compartir, fundir y catalogar sus análisis.
Para eso están las tablas hash persistentes.
Propagación ascendente y descendente
Antes de entrar en el tema de las tablas
hash persistentes propiamente dichas, consideremos la
cuestión de cuándo queremos más que Rybka recuerde sus
análisis anteriores.
Hay dos posibilidades.
En primer lugar está lo que se llama propagación descendente.
En este escenario, Rybka ha analizado
alguna posición inicial con gran detalle y queremos que recuerde los pequeños
detalles que reunió en el transcurso de ese análisis. Por
ejemplo, hicimos que Rybka analizase
una posición de partida durante tres horas y ahora fundamentalmente queremos que
examine sus análisis para esa posición de partida, esperando que recuerde
rápidamente todo, en vez de tener que recrearlo. El
término propagación descendente se refiere al hecho de que el análisis debe
recordarse en un punto posterior (es decir, más bajo en el árbol de
variantes) con respecto a la posición en la que se
realizó el análisis original.
La segunda
posibilidad es lo que se llama propagación ascendente. En
ella Rybka tiene que llegar a una conclusión sobre una
posición y queremos que la recuerde cuando luego le pidamos que analice una
posición anterior.
El término propagación ascendente se
refiere a que el análisis debería recordarse en un momento que está "corriente
arriba" (es decir, más alto en el árbol de variantes)
con respecto a la posición en la que se realizó el análisis
original.
Resulta que el mecanismo que se necesita
para abordar la propagación descendente es completamente distinto del que se
requiere para la propagación ascendente.
Uso
y operación
Guardar y cargar tablas hash
La propagación descendente tiene la propiedad de que las
conclusiones a recordar tienen un gran volumen. El árbol
de búsqueda tiene forma de... en fin, de árbol, con un
tamaño geométrico. No es posible almacenar todos los
análisis descendentes que se hacen en una sola máquina y mucho menos fundir la
información proveniente de varios usuarios. Solo es
factible guardar esos análisis para una posición única o un conjunto de
posiciones relacionadas.
En Rybka
esa funcionalidad se obtiene por medio de un mecanismo simple de almacenamiento
y carga de tablas hash.
Cuando el usuario emplea el parámetro
del módulo para guardar las tablas hash (Hash Save),
Rybka almacena el contenido de las
tablas hashs en ese instante en la ruta establecida en Saved Hash File.
Cuando el usuario solicita la carga de tablas hash en los
parámetros del módulo (Hash Load), Rybka recupera
el contenido de las tablas hash que se hubiera guardado
en la ruta referida.
Una secuencia genérica de uso
sería:
1a) Rybka analiza
durante largo tiempo una posición interesante (o varias posiciones próximas en
el árbol de variantes)
o
1b)
Con la conservación del análisis (preserve
analysis) activada,
el usuario analiza interactivamente con Rybka
un conjunto de posiciones próximas en el árbol de variantes.
2)
El usuario invoca la rutina de almacenamiento de las tablas hash
(Save Hash) para guardar el contenido de las
tablas hash.
3)
Posteriormente, el usuario solicita la carga de las tablas hash (Load Hash)
para restaurar el contenido de las tablas hash y reanudar el
trabajo.
Los usuarios avanzados pueden crear
auténticas bibliotecas de tablas de hash sobre sus áreas de investigación
favoritas. También pueden compartir los archivos con
otros usuarios.
Actualmente esta funcionalidad no
admite el reajuste de tamaño o fusión. Cuando se carga el
archivo de las tablas hash, las tablas que estén en uso se modifican para
ajustarse al tamaño del archivo. La fusión no es una
operación crítica aquí, ya que deberían mantenerse distintos archivos para las
distintas posiciones.
Tablas hash persistentes
La propagación ascendente tiene la grata propiedad de que las
conclusiones que tienen que almacenarse tienen un volumen menor.
De hecho, para los propósitos de la propagación ascendente,
dos horas de análisis de una posición raíz podrían en teoría
presentarse completamente con una sola entrada, para la
posición de partida propiamente dicha. Esto nos permite
ser más ambiciosos: para la propagación ascendente
queremos guardar todo, automáticamente y para siempre. Y queremos ser capaces de
fundirlo con cualquier cosa que hayan hecho otros usuarios.
Para eso están las tablas hash persistentes.
Las operaciones de las tablas hash persistentes son sencillas:
-
El usuario debería establecer en el parámetro del módulo
Persistent Hash File la ruta hasta el archivo en el que
quiera almacenar las tablas hash persistentes.
-
El usuario debe poner una marca de
comprobación en la casilla de habilitación de las tablas hash persistentes
(Persistent Hash
Enabled)
- El archivo de las
tablas hash persistentes siempre se mantiene en el disco y se accede a él
directamente allí. Puede ser tan grande como el disco
duro. El rendimiento del disco duro no es problema ya que
el número de accesos es muy reducido en comparación con el tamaño del árbol de
búsqueda.
- Cuando existe un archivo de tablas
hash persistentes en la ruta especificada, se usa al cargar el módulo.
Cuando no existe el archivo, se crea uno vacío automáticamente.
-
Para desactivar las tablas hash persistentes, quite la marca de
la opción de habilitación de las tablas hash persistentes
(Persistent Hash
Enabled), que es como está por
omisión.
- El parámetro del módulo para establecer
el tamaño de la las tablas hash persistentes (Persistent Hash Size)
se emplea en dos escenarios:
1) Cuando se carga el módulo sin que exista un archivo de tablas hash persistentes en la ruta especificada, se crea un archivo del tamaño especificado.
2) Cuando se activa el botón de redimensionamiento de las tablas hash persistentes (Persistent Hash Resize), el archivo se redimensiona con el tamaño especificado.
- El parámetro del módulo de reinicio de las tablas hash
persistentes (Persistent Hash Reset) elimina el
contenido del archivo de las tablas hash persistentes.
-
Para fundir dos archivos de tablas hash persistentes,
indique cuál es y dónde esta el archivo a incorporar (Persistent Hash Merge File)
y haga clic en el botón de realizar la fusión de
archivos (Persistent Hash Do
Merge). Los dos archivos no tienen
porque tener el mismo tamaño.
La información refundida estará
contenida en el archivo de tablas hash persistentes principal,
cuyo tamaño no variará.
- El
parámetro de profundidad de escritura en las tablas hash persistentes (Persistent Hash Write Depth)
controla la frecuencia con que se
escribe en el archivo de tabla hash persistente durante la búsqueda.
Cuanto más alto sea el valor, menor será la frecuencia de
escritura.
- El parámetro de profundidad de juego
en la tabla hash persistente (Persistent Hash Play Depth)
ordena que el módulo juegue en una partida un movimiento
automáticamente, sin pensarlo más si la posición ya está
en la tabla hash persistente con al menos la profundidad especificada.
Para obtener el mejor rendimiento, este ajuste debería adecuarse
al control de tiempo.
Mantenimiento
de
las
tablas
hash
persistentes
La forma más sencilla de que los usuarios manejen las tablas
hash persistentes es fijarla una vez, la primera vez que
usan Rybka, fundirlas periódicamente con otras tablas
hash permanentes cuando tienen oportunidad y dejar que todo lo demás funcione
sin ninguna interferencia.
No obstante hay un
motivo para realizar el mantenimiento de las tablas hash persistentes.
Cada pocas semanas, el usuario puede archivar su tabla hash
persistente en uso (Puede hacerse con una simple copia
del archivo) y luego refundirlo con su archivo anterior.
En ciertos casos eso mejorará el
rendimiento.
Además hay razones para mantener
distintas tablas hash persistentes para posiciones distintas.
Al contrario que en el caso de la propagación descendente (es
decir, archivo y carga de tablas hash), en el que es
fundamentalmente obligado, para las tablas hash
persistentes este tipo de mantenimiento dará un beneficio mucho menos,
que posiblemente no compense el esfuerzo adicional.
Este tema necesita ser investigado más.
Versión multiprocesador: Deep Rybka 3 99,90 euros Versión para un procesador: Rybka 3 49,99 euros Libro de aperturas de Rybka 3 24,99 euros
Rybka 3 incluye una base de datos de un millón de partidas y la compra del
programa conlleva un año de acceso al servidor
Playchess.com.
Rybka 3 es un módulo UCI, que incluye las versiones para sistemas operativos de
32 y 64-bit. Rybka puede configurarse como módulo por defecto en ChessBase 10.