Bien, amigos, apriétense el cinturón para esto, porque es una idea bastante
brillante. De hecho es una de esas ocurrencias brillantes "obvias", en
las que uno se da un golpe en la frente y dice: "¿Por qué no se me ocurrió?"
Rybka tiene un nuevo modo de análisis llamado "Análisis
compartido". En esencia se trata de un par de módulos de ajedrez "gemelos"
que analizan simultáneamente. No es ninguna novedad; un antiguo programa de
ajedrez de 1990 empleaba esa técnica para ofrecer análisis instantáneos de la
partida tan pronto como se terminaba de jugar contra él. No obstante, el
análisis compartido de Rybka ofrece un giro interesante de esa antigua
idea.
Antes de continuar, debemos hacer un rápido repaso del tema de las tablas de
transposición o tablas hash. Cuando un módulo de ajedrez otea la multitud
de posibilidades que tiene por delante, almacena las posiciones que ya ha
evaluado (y su valoración numérica) en las tablas hash. Así, si en algún otro
momento de la búsqueda encuentra la misma posición (debido a un orden diferente
de jugadas, conocido como
transposición) no gastará tiempo en evaluarla otra vez: simplemente usa la
valoración almacenada cuando la analizó anteriormente.
El análisis compartido se emplea al estudiar una sola posición. Arranque el
módulo en el formato de análisis infinito (ALT-F2) empleando uno de los módulos
de Rybka. Luego haga clic derecho en el panel del módulo para acceder al
menú contextual desplegable y seleccione en él "Análisis compartido".
Verá que cambia el panel de análisis, pareciéndose al siguiente:
El panel se divide en dos. Y esto es lo que ha pasado: el módulo de ajedrez original (que
se muestra en la parte superior de la ilustración de más arriba) cede la mitad
de los ciclos del procesador de su ordenador. El programa luego inicia una
segunda "invocación" del mismo módulo de ajedrez, que utiliza la
capacidad de procesamiento liberada; en otras palabras, el programa arranca una
copia idéntica del mismo módulo de ajedrez. Luego ambos módulos comienzan a
analizar la posición, empleando cada uno la mitad de la capacidad de
procesamiento del ordenador.
"¡Vaya chollo!", les estoy oyendo decir. "Están haciendo la
misma cosa". Bueeeno, no exactamente. El primer módulo de ajedrez queda "bloqueado"
en la posición inicial que estaba analizando cuando se inició el análisis
compartido, pero el segundo módulo de ajedrez (en la parte inferior del panel en
la ilustración de más arriba, designado con una B en el nombre) es libre para
analizar distintas posiciones si usted mueve el cursor en el panel de notación
avanzando por la partida. No obstante, este segundo módulo irá almacenando
sus análisis en las mismas tablas hash, que comparte con el módulo "A".
Tómense un minuto para ver si pueden imaginarse a donde apunta todo esto.
Esperaré...
...
¿Se rinden? Iniciemos el análisis compartido y luego usemos las teclas de
cursor o los botones de reproducción para avanzar en la partida pongamos que
tres jugadas. El módulo "A" seguirá analizando la posición inicial (la
que estaba en el tablero cuando iniciamos la función de análisis compartido),
pero el módulo "B" estará analizando la posición que hay en el tablero
tres jugadas más tarde y almacenando sus valoraciones en las tablas hash que
comparte con el módulo "A". En teoría el módulo "B" estará
siempre tres jugadas por delante de su "gemelo", por lo tanto siempre estará
almacenando en las tablas hash posiciones que el módulo "A" no habrá
alcanzado aún. Pero cuando el módulo "A" llegue a ese punto,
encontrará un lote completo de posiciones que ya han sido analizadas. eso
permitirá al módulo "A" analizar muchas más posiciones muy rápidamente
e investigar con más profundidad que si estuviese funcionando sola. Es como una
unidad militar que envía a una patrulla de reconocimiento por delante para
informar sobre el terreno y las posiciones enemigas que encuentra.
En resumen, el módulo B está facilitando análisis adicionales al módulo A:
En la ilustración de la parte superior se puede ver que el módulo "A"
sigue analizando la posición inicial (tras la jugada 15 de las negras) y que
está mostrando el análisis en negrita (para recordarnos que este es el
análisis principal) Pero hemos avanzado tres jugadas en la notación, como
podemos ver en el panel de análisis del módulo "B"; ese módulo Rybka
está analizando desde la jugada 18 de las negras) está almacenando esas
posiciones en las mistas tablas hash que el módulo "A", de forma que
cuando éste encuentre dichas posiciones no tendrá que analizarlas: ya tendrá
acceso a dichas valoraciones.
Para salir del modo de análisis compartido, hagan clic derecho en el panel
del módulo "B" y seleccionen "Cerrar"
en el menú desplegable.
No es solo brillante. Es una locura. Pero es una de esas ideas
geniales de darse un golpe en la frente, porque casi es demasiado obvia ahora
que alguien la ha puesto en práctica.
Como última pista en relación con el análisis compartido, es mejor usarlo con
tablas hash de gran tamaño (tan grandes como sean posibles sin interferir en el
rendimiento del sistema operativo).
Recuerden que el tamaño de las tablas hash se establece en el diálogo de
selección del módulo (que se activa pulsando F3 en la ventana de tablero
principal)
¡Hasta la próxima semana, diviértanse!
© 2008, Steven A. Lopez. Reservados todos los derechos.
Enlaces:
Precios
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.
Encargue ya Rybka