HOMBRE vs MÁQUINA (2005).
Los contendientes:
Michael 'Mickey' Adams
Edad: 33
Peso: 64 kg
Máximo de jugadas por segundo: 1,4
Aspectos salientes de su carrera: 10 veces el "Mejor Jugador
Británico del Año", Gran Maestro a los 17, #3 FIDE en 2002.
Computadora "La destructora" Hydra
Edad: 2
Peso: 550 kg
Máximo de jugadas por segundo: 200 millones
Aspectos salientes de su carrera: Actualmente, la máquina de ajedrez más
poderosa del planeta.
Bromas aparte, a continuación quisiera compartir con ustedes una
traducción que realicé al español sobre un artículo en inglés publicado
en
http://tournament.hydrachess.com/faq.php
que apareciera antes de que comenzara el reciente match. Espero que les
resulte de interés.
***************************************************************
--> ¿Por qué contra el GM Adams y no contra Kasparov o Anand?
Jugamos contra el GM Adams porque el match es en Londres, y como
adversario buscamos un "héroe local". Pensamos que el GM Adams
es uno de los mejores jugadores - quizá sea el mejor - contra una
computadora. Él tiene un estilo posicional muy sólido; Adams puede jugar
como Adams. Kasparov es uno de los mejores jugadores de todas las épocas;
pero, contra HYDRA, no puede jugar como Kasparov. Cuando aparece la
táctica, cuando se llega a posiciones agudas, HYDRA es mejor que
Kasparov. Creemos que sólo se puede matar a HYDRA suavemente. Además, el
GM Adams es un verdadero caballero.
Pensamos que el match también será un acontecimiento agradable para
todos. Si el encuentro de Londres genera un cierto interés, también
quisiéramos jugar contra otros jugadores de primera fila. Es cuestión de
encontrar patrocinadores.
--> ¿Cuáles son sus expectativas para el match?
Según lo dicho más arriba, el GM Adams es un adversario muy difícil para
cualquier programa. Sin embargo, somos optimistas que HYDRA logrará una
clara ubicación contra seres humanos. Dos triunfos para HYDRA, y cuatro
tablas.
--> ¿Ustedes han programado especialmente contra el GM Adams?
No. Jugamos como de costumbre contra Shredder o Fritz, así como contra
una combinación del experto ajedrecístico en HYDRA, el GM Lutz, más la
ayuda de Shredder+Fritz+HYDRA. La meta es mejorar el estilo de juego
activo y dinámico de HYDRA. Ésta fue nuestra meta desde el principio del
proyecto y no está relacionada directamente con el GM Adams. Simplemente,
HYDRA jugará su juego. Asumimos que el GM Adams intentará hacer lo
mismo.
--> ¿Se ha hecho alguna preparación especial en las
aperturas?
No, no directamente. El libro de aperturas de HYDRA es muy pequeño;
típicamente, 10 movimientos.
Después de las primeras 10 jugadas nosotros dejamos al monstruo sin
restricciones y confiamos en la fuerza de juego del programa. Conocemos
las líneas de aperturas preferidas del GM Adams y tratamos de jugar las
variantes más activas. Pero no hay intentos de desarrollar algunas
novedades o celadas de apertura. Pensamos que hoy en día es casi
imposible encontrar realmente buenas alternativas en las primeras 10
jugadas. HYDRA encontrará algunas novedades por cuenta propia después del
10mo movimiento.
--> ¿Con cuántos procesadores está funcionando HYDRA?
HYDRA consiste en un grupo de 64 procesadores (CPUs) Xeon. Pero, para el
match de Adams estamos utilizando solamente 32 de ellos. La parte crítica
de tiempo del programa funciona en tarjetas especiales de hardware
diseñadas para ese fin. Actualmente, disponemos de 32 de ellas
"solamente".
--> ¿Cuál es la clave de los recientes éxitos de HYDRA?
Los integrantes del equipo de HYDRA provienen y viven en diversos países.
Nuestras lenguas maternas son diferentes, somos miembros de diversos
grupos religiosos y tenemos distintas formaciones profesionales. Pero,
somos un equipo con una meta común. El equipo de HYDRA es la prueba de
que el "choque de culturas" puede ser muy productivo y
beneficioso. Todo lo que exige es la capacidad de aceptar diversos
enfoques culturales y la buena voluntad de aprender unos de
otros.
--> ¿Cómo compararía HYDRA con Deep Blue?
La arquitectura básica es igual. Ambos son sistemas mixtos de software y
hardware. La primera parte de búsqueda se hace a través de software, la
última - la parte crítica de tiempo - se realiza en tarjetas especiales
de hardware diseñadas para ese propósito. El tipo de estas tarjetas
especiales de hardware es diferente en ambas computadoras: DEEP BLUE usó
las llamadas tarjetas ASICs (Application Specific Integrated Circuits),
mientras que HYDRA utiliza FPGAs (Field Programmable Gate Arrays). Un
ASIC es hardware tradicional. Una vez que están diseñadas se les hace una
máscara y después de ello ya no se pueden cambiar más. Sin embargo, las
tarjetas FPGAs se pueden reprogramar con lenguaje de programación de alto
nivel. Las ASICs son más rápidas que las FPGAs, pero no son tan
flexibles. Uno puede configurar un programa de FPGA de la misma manera
que un programa convencional del ajedrez. Las FPGAs combinan lo mejor de
ambos mundos.
--> ¿Tiene HYDRA la fuerza de DEEP BLUE?
Pensamos que HYDRA es considerablemente más fuerte. El equipo DEEP BLUE
tenía un fuerte "background" en diseño de "hardware",
pero carecía de la larga experiencia en computadoras de ajedrez que
tienen los miembros del equipo de HYDRA. Nosotros sabíamos desde el
principio qué es importante y qué es poco importante en computadoras de
ajedrez. Además las FPGAs son más fáciles de programar y especialmente de
configurar que las ASICs. Un ejemplo es el diferente mecanismo de la
análisis: DEEP BLUE e HYDRA tienen casi la misma velocidad. En posiciones
típicas, DEEP BLUE analizaba 12 "plies" (semijugadas), mientras
que HYDRA realiza 18 "plies" en su búsqueda. DEEP BLUE fue el
último analista basado en "fuerza bruta". Cada combinación
posible era analizada hasta 12 "plies". HYDRA utiliza técnicas
de eliminación ("pruning techniques") sofisticadas. Ella no
pierde recursos para las variantes irrelevantes. La poda de variantes
conlleva el riesgo de pasar por alto algunas combinaciones, pero la mayor
profundidad que se logra en el análisis compensa este riesgo con creces.
También, HYDRA utiliza la máquina de multiprocesador mucho más
eficientemente. El Sr. Ulf Lorenz, integrante del equipo HYDRA, es
especialista en este campo. La Universidad de Paderborn, en la que él
trabaja, es uno de los principales centros de investigación para la
computación en paralelo.
En HYDRA, la evaluación es más dinámica que en DEEP BLUE. A los factores
posicionales se les asigna valores más altos y resultan tener mayor
exactitud. El arquitecto jefe de DEEP BLUE, F. Hsu, observó que los
valores asignados al "ataque al rey" eran demasiado bajos en
DEEP BLUE; pero, no podían ser cambiados fácilmente debido a algunas
decisiones iniciales de diseño. En cambio, el diseño de HYDRA no tiene
estas restricciones. El GM alemán Robert Huebner escribió en un análisis
del match "Hombres vs Máquinas" de Bilbao 2004, "HYDRA
parece ser el único programa que juega sistemáticamente 'ataque al
Rey'".
--> ¿Es HYDRA algo revolucionario o una evolución de DEEP
BLUE?
Es el paso siguiente en la evolución de los programas de ajedrez. Hemos
mejorado muchos detalles; HYDRA usa nueva tecnología de hardware (FPGAs),
pero nuestro punto de partida fue DEEP BLUE. Estamos adelante en un
punto: hemos creado la primera computadora de alta performance (CAP) que
utiliza, con éxito, la tecnología FPGA (Field Programmable Gate
Arrays).
--> ¿Es HYDRA sólo un programa del ajedrez o solamente una proyecto
piloto para una nueva clase de computadoras de alta performance?
Nuestra meta era diseñar el motor de ajedrez ("chess-engine")
más fuerte de la historia. Pero, hemos creado una muy potente y económica
computadora de alta performance. El motor de ajedrez del HYDRA es la
prueba, y esta CAP no es precisamente un monigote, sino una máquina
exitosa.
--> ¿Puede usted decir algo sobre la evaluación ajedrecística de
HYDRA?
Es básicamente una evaluación dinámica. "Evaluación dinámica"
significa lo siguiente: Para ambos bandos se solicita un generador de
jugadas. De esta información uno puede calcular cosas simples como la
movilidad (número de jugadas legales para cada bando), pero también
asuntos más serios como "ataque al Rey", "clavada de
piezas", "control del centro", ... Por supuesto, hay
algunos parámetros para la "estructura de peones" y el
"peón pasado". Pero, la parte dinámica es la más importante. La
información dinámica resulta costosa de calcular mediante
"software"; en cambio, es relativamente barata y rápida
mediante "hardware". El HYDRA-FPGA necesita solamente 2 ciclos
de reloj (no a 3 gigahertz, sino simplemente a 55 MHz). Esta información
dinámica completa distingue a HYDRA de los programas de PC. Estos últimos
también tienen una evaluación dinámica, pero en los computadores
personales uno tiene que lograr un compromiso entre velocidad y exactitud
de la evaluación.
--> "Yo supongo que HYDRA no aprende a jugar mejor al ajedrez,
excepto quizá nada más allá de recordar sus propias partidas. ¿O sí
aprende?"
HYDRA no tiene implementado ningún mecanismo automático de aprendizaje;
es el equipo de trabajo el que aprende de la (mala) experiencia. Jugamos
partidas contra Shredder, Fritz y contra el experto ajedrecístico de
HYDRA, el GM Lutz, con Shredder & Fritz. Después examinamos las
partidas e intentamos identificar debilidades. Puede ocurrir que el valor
de alguna característica de la evaluación sea incorrecto, o que la
característica misma tenga alguna falla, o bien que haya alguna
característica que no esté presente. Luego, o bien ajustamos los
parámetros o implementamos/mejoramos la característica. Posteriormente,
volvemos a jugar ... No es gran ciencia, pero un montón de trabajo y 15
años de experiencia en programación de ajedrez. Pensamos que la
configuración automática no puede aun competir con esta experiencia.
Pero, quizás, algún día las computadoras no sólo sean los mejores
ajedrecistas sino también los mejores programadores del ajedrez.
Entonces, configuraremos de la misma manera el algoritmo de
aprendizaje.
--> ¿"Encuentra mejores resultados con algoritmos más complicados
o con menos complicados"?
Un aspecto importante del arte de la programación de computadoras en
ajedrez es encontrar la solución posible más simple y especialmente la
más general. En los comienzos de la computación en ajedrez, se
introdujeron un montón de reglas que intentaban podar líneas sin interés.
Entonces alguien tuvo la idea siguiente: "pasar" (ceder la
mano) y hacer una búsqueda superficial. Si el adversario no puede refutar
el movimiento que se pasa, no tiene sentido probar con jugadas legales.
Ésta es la llamada "heurística de jugada-nula". Una regla muy
general, aparte de la detección de Zugzwang, pero allí no hay involucrado
ningún conocimiento directo de ajedrez.
Lo mismo vale para la evaluación. No tiene sentido implementar en un
programa millones de reglas especiales de ajedrez. Habrá siempre alguna
regla importante que falte, y es prácticamente imposible especificar el
conocimiento humano de una manera exacta. Para dar un ejemplo: Los
jugadores humanos fuertes saben generalmente para cada tipo de posición,
cómo atacar al Rey (o evitar el ataque adversario a su propio rey). HYDRA
no tiene este conocimiento especial. Una parte importante de la
evaluación de HYDRA es un concepto general de "ataque al Rey".
En pocas palabras, qué piezas atacan y cuáles defienden al Rey. La
búsqueda intenta optimizar sus propias posibilidades de ataque y reduce
al mínimo las de su adversario. El conocido GM Robert Huebner observó que
HYDRA juega un sistemático planeado ataque al Rey. Esto no es enteramente
cierto. El programa no tiene ninguna noción directa de un plan. El
proceso de optimización de análisis tiene un efecto similar que aquél del
plan el de los humanos. HYDRA juega según un plan sin tener uno.
***************************************************************
Saludos para todos,
Julio González Cabillón
|
Mié, 6 de Jul, 2005 11:11 pm
Julio Gonzalez Cabillon <escaque@...>
mathematicorum
Sin conexión Enviar mensaje
|