Garrido bullón, ángel el ajedrez, mosca drosophila de la inteligencia artificial (uned,2006)
1. Ángel Garrido Bullón
Departamento de Matemáticas Fundamentales
Facultad de Ciencias de la UNED
EL AJEDREZ, MOSCA DROSOPHILA DE LA
INTELIGENCIA ARTIFICIAL
Abstract: From remote times, the history of the human being is a succesive chain
of steps, until the relative sofistication of the modern brains and their culture.
Paralelly, we will describe the evolution of more universal and probably most
prestigious game: the Chess. Many great thinkers should study the more efficient way
of win, personally or through a machine. In this line, the Artificial Intelligence
appears in the 20th Centhury, and principally from 1956, obtaining very impressing
results; many times, using the Chess as “drosophila fly” of AI. We comment here this
interconnection and the actual situation, with special incidence in the great educative
value of chess into the human mind, and the usefulness in the classroom exposition
of AI techniques.
XI CONGRESO INTERNACIONAL DE INFORMATICA EDUCATIVA
UNED, Madrid, 2006
1
2. HISTORIAS DEL AJEDREZ
Lo que se cuenta de los orígenes suele ser nebuloso y legendario. Se
entremezclan la fantasía y la necesidad de adjudicarse dioses y héroes.
Parece que los orígenes más remotos del ajedrez se remontan a unos seis
mil años. La zona donde apareció sería la limítrofe entre las actuales China
y Cachemira. Aquí podemos ver cómo fue su distribución, en una etapa
inicial:
Sólo que su forma era bastante diferente de como actualmente lo
conocemos. Y tampoco era un juego en sus principios, sino que se utilizaba
para las artes adivinatorias, revestido de un carácter bastante místico. Para
lo cual eran lanzadas las piezas sobre el tablero y según cómo caían, se
podía afirmar cuál era la situación del equilibrio actual entre el Yin y el
Yang.
Una de dichas artes adivinatorias chinas primitivas aún la podemos
encontrar en la obra clásica I Ching, también llamada el Libro de los
2
3. Cambios. Consta de 64 hexagramas. Y esto es un innegable preludio de las
64 casillas actuales de nuestro tablero.
En tiempos posteriores aún tenía formas muy distintas de la actual. Pero
iba perdiendo ese carácter místico de los orígenes. Así, era jugado en
Egipto, Grecia o Roma. Pues aparecen representadas personas jugándolo en
pinturas aparecidas en el interior de las Pirámides, en vasos o cráteras
griegas, etc.
Aunque en la forma más parecida a la nuestra, surge al principio de
nuestra Era, al Norte de la India. Se llamaba, en sánscrito, chaturanga.
Desde allí fue evolucionando de distinto modo, según cuál fuera la
dirección en que avanzase y cuál la cultura con que se encontraba, para
enraizarse en ella. Así, fue dando lugar a diversas “versiones”: el ajedrez
coreano, el “go” japonés, el “xia quing” de China o el “shatranj” de los
persas.
Por eso, más adelante, cuando apareció el Islam, en tierras de la actual
Arabia Saudí, y se fue extendiendo como un fuego abrasador que avanza
por el desierto, tras devorar el antiguo Imperio Persa-Sasánida, llevó
consigo el “shatranj” a las tierras del Norte de Africa, del Sur de Italia y de
la Península Ibérica.
En el mundo árabe se siguió desarrollando, y se escribieron incluso
tratados que intentaban sistematizarlo, comparándolo con las herramientas
matemáticas conocidas hasta la fecha.
Así, se hizo famoso en el siglo XI el tratado de Ar-Razi: Jugar al
ajedrez con elegancia. O en los reinos cristianos, el Libro de ajedrez, dados
y tablas, obra encargada por Alfonso X el Sabio, en 1283.
Se llegó incluso a considerar una de las artes obligadas en la formación
de un noble caballero. Así, el converso Pedro Alfonso (1062-1125), en su
obra Disciplina Clericalis, fijaba que esas artes debían ser: equitación,
arco, natación, cetrería, lucha, ajedrez y poesía.
3
4. Posiblemente sea legendaria la historia que transmite la tradición árabe
sobre la invención del ajedrez. Cuentan que un rey hindú, llamado Balhait,
se aburría infinitamente de tanto no hacer nada. Así que a un filósofo y
consejero suyo, Sassa, se le ocurrió que debía inventar algo para distraerle.
Para ese fin concreto se dice que diseñó el juego.
Al rey le gustó tanto que le propuso que pidiera lo que quisiese. El
filósofo comenzó diciendo que él era un hombre modesto, por lo que sólo
le pediría simples granos de trigo. Y le pidió, exactamente:
por la primera casilla0
2 1= ,
,
,
por la segunda casilla1
2 2=
por la tercera casilla2
2 4=
. . . . . . . . . . . . . . . . .
, por la casilla 64-ava63
2
En total:
= 2
63
63
0
1 2 4 ... 2 2i
i=
+ + + + = ∑
64
-1 granos de trigo
Se trata, pues, de la suma de los 64 primeros términos de la progresión
geométrica de primer término 1 y razón 2. Desde luego, el filósofo no era
nada tonto, pues se trataba de una cantidad tan grande que poniendo un
grano tras otro, bastarían para dar muchas vueltas a la Tierra.
Los cambios fundamentales que convirtieron el juego primitivo en el
ajedrez actual se observan a finales del siglo XV.
4
5. Hasta entonces, los peones sólo podían avanzar una posición en cada
movimiento, incluso al comienzo de la partida. Se admitió luego que fuesen
dos, si es que partían desde su posición inicial.
También la Dama (la pieza que hoy suele llamarse la Reina) era hasta
entonces muy estática, sin apenas movimientos admisibles. Se le dotó de
una gran movilidad. Con lo cual se convirtió en una de las piezas más
poderosas del tablero. Esto algunos lo relacionan con un preludio de lo que
luego sería la “liberación de la mujer”.
Dentro de la curiosa “prehistoria” de las máquinas diseñadas (o
supuestamente diseñadas) para jugar al ajedrez, tenemos el famoso caso del
Turco:
El Turco en acción
Que fue creado en el siglo XVIII. Lo hizo construir el Barón Von
Kempelen, aficionado a los artilugios mecánicos y natural de Bratislava.
Alcanzó gran notoriedad en la sociedad vienesa. Era la época de la
Emperatriz María Teresa.
Ese nombre, de “el Turco”, procedía de su representación como
muñeco de tamaño natural con los ropajes y el bigotón típicos de un
otomano.
5
6. Consiguió “vencer” este artilugio a grandes ajedrecistas del momento.
Incluso a personajes tan notorios como Napoleón Bonaparte o Benjamín
Franklin.
Pero al final, resultó ser un truco, más que un turco. Pues en realidad, la
gran mesa contenía un operario, el jugador polaco Worowski, que había
perdido las piernas en la guerra. Desde su refugio, desplazaba los resortes,
parece que muy sabiamente.
Aquí puede verse en un antiguo grabado, “con bicho dentro”, dicho sea
de broma:
El artilugio fue a parar a Filadelfia y allí se consumió en el gran
incendio de la ciudad, a mediados del siglo XIX.
Hoy en día puede verse una reproducción suya en un céntrico café de la
capital eslovaca.
Es cierto que su funcionamiento suscitase el interés del gran escritor
Edgar Allan Poe, que no tardó en descubrir el engaño.
Tras la desaparición del exitoso “Turco”, se trató de llenar el vacío
creado.
Charles Hopper, de Bristol, presentó para ello su creación “Ajeeb”,
también llamado “el Egipcio”, con la cual dio la vuelta al mundo:
6
7. Entre otros, se dice que “lo habitó” (o fue operado por) el gran
ajedrecista Pillbury.
Otro ingenio famoso fue el denominado “Mephisto”, también en el siglo
XIX. Este era manejado a distancia por grandes jugadores de la época.
Quien realmente creó una máquina de jugar al ajedrez, eficaz y bastante
eficiente, fue nuestro ingeniero e inventor, el famoso don Leonardo Torres
Quevedo (en la imagen, su hijo Gonzalo, mostrando este invento de su
padre al matemático Norbert Wiener):
Pero quien realmente vino a dar al estudio del ajedrez su forma más
sistemática y rigurosa fue Whilhelm Steinitz. Este auténtico pensador había
nacido en Praga el año 1836.
7
8. Y con posterioridad, también realizaron grandes aportaciones algunos
Grandes Maestros, como el también matemático Emmanuel Lasker,
campeón del mundo desde 1906 hasta 1926.
O los ya más recientes:
Petrosian, Alekhine, Capablanca, Pomar, Spassky, Fischer, Karpov,
Kasparov, etc.
MAN vs MACHINE (El Hombre contra la Máquina)
Nos encontramos en Edimburgo, la capital de Escocia. Corre el año
de 1968. Se están celebrando unas Jornadas Científicas: las “Machine
Intelligence Workshop”.
Mas veamos lo que sucede en una de las mesas. Juegan dos caballeros:
uno es el famoso campeón escocés de ajedrez David Levy, y el otro es uno
de los más grandes cerebros humanos que contribuyeron a la Inteligencia
Artificial: John Mac Carthy.
Están jugando una partida de ajedrez. Termina ganando, lógicamente,
el profesional. Pero el matemático le desafía:
- No pasarán más de diez años sin que usted sea derrotado por una
máquina.
Se establecen apuestas (no en vano estamos en tierras anglosajonas): él
pone 250 libras esterlinas, 500 el organizador de las jornadas, y otras 250
un programador.
Es la llamada apuesta de Levy.
8
9. Transcurridos diez años, ya en 1978, se juega en la ciudad canadiense
de Toronto un torneo a la mejor de seis partidas. Por un lado, está
nuevamente David Levy. Y por el otro, uno de los programas de juego de
ajedrez más potentes del momento: el CHESS 4.7.
Volvió a ganar Levy. Cobrando la apuesta realizada (equivalente a
$3000), toda vez que habían transcurrido los diez años acordados.
Pero es bastante significativo que ya se dieran: dos Victorias, dos
Tablas y una Derrota.
Aún habría que esperar otros diez años, hasta que en 1988 IBM
diseñara un programa, el “Deep Thought” (Pensamiento Profundo), que
consiguiese derrotar a un Gran Maestro, Bent Larsen, por un rotundo
tanteo de cuatro partidas a cero. Esto sucedió en el Open American.
Al año siguiente, ya estaba trabajando IBM en una versión mucho más
potente: la del famoso DEEP BLUE, que antes se había llamado BIG
BLUE. Se trataba de un programa muy mejorado, escrito en C, bajo el
sistema operativo AIX. Este se implementaba sobre un ordenador con 256
procesadores dispuestos en tándem, siendo capaz de analizar dos millones
de posiciones por segundo.
En Marzo de 1989 había derrotado Kasparov al DEEP BLUE. Pero
este, a su vez, derrotó con suma facilidad al Maestro Internacional David
Levy, el de la famosa apuesta.
Mas la “prueba de fuego” se iba acercando. Con nuevas mejoras, esta
se realizó en Filadelfia. Fue en febrero del año 1996. Enfrente tenía
DEEP BLUE al super Gran Maestro: Gary Kasparov. En el global de la
partida, ganó Kasparov por cuatro a dos.
Pero al año siguiente (1997) se había conseguido mejorar más
todavía su hardware, optimizándolo con procesadores mucho más
9
10. rápidos. Ahora ya podía evaluar doscientos millones de movimientos por
segundo (por tanto, la velocidad se había centuplicado). Esto permitía
calcular un árbol completo de diez variantes, con una profundidad de diez
jugadas en diez minutos. Si el árbol de variantes se reducía a cinco, era
posible calcular con una profundidad de dieciséis jugadas a ritmo de
torneo.
El “Libro de Variantes” fue mejorado por el Gran Maestro Joel
Benjamin, y en ello también intervino el Gran Maestro español Miguel
Illescas.
Así, se llegó a un clamoroso empate, a falta de una partida,
venciendo Deep Blue en esta última.
Fue una de esas noticias que dieron la vuelta al mundo. También fue
una excelente operación de marketing, pues las acciones de IBM subieron
en la Bolsa como la espuma.
Como siempre, algunos agoreros comenzaron a hablar de la “derrota
de la Humanidad”, de los negros y tristes presagios que amenazaban la
civilización, etc. Pero en verdad era un gran honor que cerebros humanos
hubieran llegado a conseguir una versión tan lograda de ellos mismos.
Esto fue reconocido mediante la concesión del prestigioso premio:
“Allen Newell Medal for Research Excellence”, con el que se galardonó a
los creadores y programadores de DEEP THOUGHT, CHESS 4.7,
MACHACK VI, DEEP BLUE... Estos últimos (de IBM) ganaron,
además, el “Fredkin Award”, por un importe de $100.000.
Siguiendo con los enfrentamientos hombre-máquina, llegamos al que
tuvo lugar en Bilbao, en 2004.
Se trataba de un torneo en el que por un lado había tres programas de
ajedrez: FRITZ 8, DEEP JUNIOR e HYDRA, y del otro tres fuertes
10
11. jugadores: Topalov (Gran Maestro), Ponomariov (GM también) y
Karjakin (el GM más joven de la historia, con 12 años).
Se utilizaron plataformas distintas para ejecutar los programas:
- el FRITZ 8, sobre un ordenador portátil con procesador Centrino,
a 1.7 GHz
- el DEEP JUNIOR, sobre un ordenador Xeon, con 4 procesadores,
a 2.8 GHz cada uno, manejado desde Inglaterra.
- el HYDRA, que era una plataforma de ajedrez, la cual integraba
un hardware especialmente diseñado para este programa.
Disponía de 16 procesadores en paralelo. A través de ella se
jugaba desde los Emiratos Árabes Unidos.
Con toda esta parafernalia, se jugaron cuatro sesiones, llegando a
que implementadas en las distintas plataformas:
Máquinas Grandes Maestros
- en la primera 2.5 vs 0.5
- en la segunda 1 vs 2
- en la tercera 2.5 vs 1
___________ ______________
En total 6 vs 3.5
Así que volvieron a ganar ampliamente las “máquinas”.
Debemos recordar que cada jugador se anota 0.5, si hace Tablas.
Mientras que se apunta 1 el “bando” de quien vence. De ahí que no todas
las puntuaciones sean enteras.
11
12. EL AJEDREZ Y LA I. A.
Se puede decir sin exageración que el juego del Ajedrez es la
mosca “drosophila melanogaster” de la Inteligencia Artificial. Esto
quiere decir que así como esta “mosca del vino” es omnipresente en la
investigación biológica, en los estudios sobre la herencia (por ejemplo),
así lo es el ajedrez cuando se indagan en I. A. los procedimientos,
métodos, algoritmos, su optimización, etc. Una especie de “piedra de
toque” para medir la eficacia y la eficiencia de los sistemas. La frase feliz
de la mosca la dijo un matemático ruso que trabajaba en I.A., Alexander
Krondrov, en 1956.
Ya en los comienzos de esta Nueva Ciencia se buscaba crear
programas para jugar al ajedrez y optimizarlos lo más posible. Para ello
fueron claves ciertos pensadores cuyos nombres aparecen por doquier:
Wiener, von Neumann, Shannon, Turing, Simon, Minsky, Mac Carthy...
Antes hubo otros grandes pensadores, muy dignos de mención, como
Charles Babbage, que estudió algunos algoritmos para ganar una partida.
Incluso las conocidas máquinas de calcular de Pascal o Leibnitz en cierto
modo son precursoras.
Ya se dijo que Torres Quevedo diseñó la primera máquina que
funcionaba realmente para jugar al ajedrez, un autómata que permitía dar
mate al contrario con Torre y Rey, desde cualquier posición inicial.
Insistimos en que se construyó de modo efectivo y de hecho, aún puede
verse –funcionando- en el Colegio de Ingenieros de Caminos, Canales y
Puertos de Madrid. Este gran científico, por cierto, es el único español
que figura en la importante relación de los Computer Pioneers.
12
13. En cuanto a los orígenes de la Inteligencia Artificial, estos se suelen
establecer en la Conferencia de Darmouth, de 1956, donde acudió la
mayoría de los grandes cerebros dedicados al avance de la I. A.
Los antes mencionados, en muchos casos, serían sus precursores.
Como es el caso de Alan Mathison Turing, que antes de esa fecha tuvo
lugar su breve existencia (1912-1954). Fue uno de los más grandes
matemáticos que hayan existido nunca, al menos en los tiempos
modernos.
A él le debemos muchas de las herramientas no sólo de la I. A., sino
de la Teoría de Autómatas, que permiten analizar los problemas
fundamentales de Complejidad y Computabilidad. Como son las
Máquinas de Turing, modelo universal dentro del estudio de Autómatas, o
el Test de Turing, que permite conocer si el comportamiento de una
máquina puede ser considerado inteligente, etc.
Otra de las contribuciones de Turing a la ciencia y a nuestro mundo
actual fue su trabajo en Bletchley Park, mansión victoriana a mitad de
camino entre Oxford y Cambridge. Allí se concentraron muchos brillantes
matemáticos; bastantes de ellos de origen polaco y judíos, que llegaron
huyendo del nazismo, entonces en expansión, aparentemente imparable.
Realizaron una tarea agotadora, vital para acortar la Segunda Guerra
Mundial. Con Turing descifraron, primero, con relativa facilidad, el
código utilizado por la aviación de la Wehrmacht.
Pero no resultó tan sencillo el descifrado de los mensajes encriptados
para los submarinos alemanes, mediante la Máquina Enigma, con
numerosos rotores, que se fueron complicando con el tiempo.
Fue clave el trabajo de Turing para “romper” el hoy famoso código
Enigma. Porque en su tiempo era alto secreto a qué se dedicaba Turing, y
no sería hasta 1970 cuando esta información fuera desclasificada. Para
13
14. hacer factible ese trabajo fueron diseñadas las máquinas o computadoras
“Bombe” y “Colossus”, precursoras de los desarrollos posteriores en
Computación.
Alan Mathison Turing
Sería el propio Turing quien utilizara el juego de ajedrez como un
ejemplo de lo que podía llegar a dominarse a través del uso de la
computadora, ya en 1945. Entonces, se hablaba de “inteligencia de
máquina”.
Tres años más tarde, Turing elaboró un esbozo del primer programa
para jugar al ajedrez. Y en 1950 escribió de modo completo y efectivo
dicho programa.
Ejemplar de la famosa máquina Enigma
14
15. Otra brillante contribución al estudio matemático de las
estrategias fue la del gran matemático húngaro Janos Von Neumann
(1903-1957), creador de la Game Theory.
Janos v. Neumann
Este vio las posibilidades que ofrecía para el análisis de situaciones
económicas o de estrategia. Lo hizo constar en su famoso libro, escrito
junto con Oskar Morgersten.
Como caso particular de los juegos de suma cero entre dos adversarios
con información perfecta se incluye, lógicamente, el ajedrez.
Sería injusto no mencionar también a otro gran matemático, al padre
de la Teoría de la Información, Claude Shannon (1916-2001):
El describió, en marzo de 1949, cómo debería programarse un
ordenador para conseguir procedimientos eficientes de llegar a mate en
dos jugadas.
Se implementó en una máquina digital Ferranti.
15
16. Al año siguiente publicó un artículo en el Philosophical Magazine:
“Programing a computer for playing chess”, que es considerado el primer
“paper” sobre ajedrez por ordenador.
PROGRAMACION DE LOS JUEGOS DE AJEDREZ
En nuestros días se precisa una interfaz gráfica, para cualquiera de los
programas destinados al juego de ajedrez. Esto es porque lo necesita la
comunicación del usuario con el ordenador.
Pero no ha sido siempre así, porque en un pasado nada remoto esa
comunicación se establecía a través de la información codificada en tarjetas
de cartulina perforadas. Por cierto, que el ya mencionado Von Neumann
fue el introductor de ese soporte. Era un judío de Budapest que previendo
el avance de los nazis en Europa, se fue a Estados Unidos, donde brilló
considerablemente. Su padre, banquero húngaro, había financiado, entre
otras, una fábrica del sector textil donde se introdujeron las tarjetas
perforadas para la automatización del proceso en los telares.
También necesita el programa un modo de representar lo que va
sucediendo en la partida. Asimismo, debe almacenar en memoria el estado
de las casillas del tablero. Esto es, va a precisar una estructura de datos que
almacene si una casilla está o no ocupada, y caso de estarlo, con qué pieza.
Pero también va a necesitar informaciones complementarias, como si
una pieza está o no enrocada, si este enroque es corto o largo, etc.
Saber esto va a permitir al generador de jugadas conocer las jugadas
admisibles, desde la posición actual de las piezas. Con lo cual podrá
ensayar el Algoritmo de Búsqueda y elegir entre ellas.
16
17. Suele tomarse como modelo de almacenamiento el de una matriz 8x8,
el más sencillo. Cada uno de los elementos de la matriz representaría una
de las 64 casillas.
Supongamos la matriz de posición mencionada, 8x8, es decir,
compuesta por 64 casillas. Lo primero que cabe preguntar es por dónde
deberían empezar a contarse las filas y las columnas.
Esto es algo que ha ido evolucionando con el tiempo. Así, antes se
decía: CD x P4R, para indicar que “el Caballo de Dama, o Reina, toma el
Peón Cuatro de Rey”. Pero esta notación se ha precisado, volviéndose
algebraica.
Con esto se evitan problemas tales como que C es la inicial de caballo
en castellano, pero tal vez K (de Knight, caballero) en inglés, o H (de
Horse, caballo), no siendo así, pues la inicial K se reserva para el Rey
(King), y entonces el Caballero es N, etc.
Un galimatías que se puede obviar haciendo que la notación sea
algebraica.
Se nombran las columnas de izquierda a derecha así:
a, b, c, ..., h.
Mientras que las filas lo hacen desde abajo hacia arriba:
8
7
. . .
1
Por tanto, las fichas del tablero quedarían identificadas así, observando
que se trata de un par de coordenadas:
17
18. 8 8 8 8 8 8 8
7 7 7 7 7 7 7
6 6 6 6 6 6 6
5 5 5 5 5 5 5
4 4 4 4 4 4 4
3 3 3 3 3 3 3
2 2 2 2 2 2 2
1 1 1 1 1 1 1 1
a b c d e f g h
a b c d e f g h
a b c d e f g h
a b c d e f g h
a b c d e f g h
a b c d e f g h
a b c d e f g h
a b c d e f g h
8
7
6
5
4
3
2
De modo que con esta nueva notación, la jugada antes comentada sería:
C x e5, o sustituyendo la C por el dibujo esquemático de la pieza, y así se
evitaría la indeterminación del idioma.
Obispo (bishop), forma medieval del alfil. Es una pieza de marfil, de finales del siglo X.
Aún se llama así en los países anglosajones. Colección del British Museum de Londres.
Los valores de las piezas son, para las Blancas:
Peón: 1; Caballo (o Caballero, Knigth): 2; Alfil (Obispo, Bishop): 3;
Torre (Elefante): 4; Dama (Reina): 5; Rey: 6.
Peón (pawn) de marfil del ajedrez de Carlomagno. Es del siglo XI
18
19. Mientras que lógicamente, para las Negras se asignan los valores
opuestos.
Reiteramos que el Ajedrez es un Juego con Dos Adversarios, de
Información Perfecta y de Suma Cero, lo cual quiere decir que ambos
adversarios disponen de toda la información en todo momento, que es
visible sobre el tablero, y que aquello que beneficia a un jugador perjudica
en la misma medida al contrario.
De manera que cuando en un tablero de 64 casillas escribimos:
[ ][ ]11 1 1 4P P= =
tratamos de decir que en la casilla “a 1” está situada una Torre Blanca.
Mientras que si por el contrario, hubiéramos puesto:
[ ][ ]81 8 1 4P P= = −
esto querría decir que en la casilla “a 8” hay una Torre Negra.
Para saber si el movimiento proyectado de las piezas las “sacaría del
tablero” (realizando, por tanto, movimientos no permisibles), se suele
considerar otro de dimensiones mayores (por ejemplo, 10x12), donde el
resto de las casillas serían virtuales.
Existen otros símbolos para contener información abreviada de las
jugadas, como son:
x: captura
0 – 0: enroque corto
19
20. 0 – 0 – 0: enroque largo
=: posición igualada
+=: ventaja de la Blancas
=+: ventaja de las Negras
!: jugada buena
?: jugada mala
!?: jugada interesante, pero poco clara
?!: jugada dudosa
+: jaque
++: jaque mate
La Representación se agiliza introduciendo los llamados bitboards.
Estos nos permiten representar la información de modo “económico”. Y
también ejecutar cualquier operación booleana (AND, OR, etc.) necesaria
para obtener un dato.
Cada bitboard es un vector unidimensional de 64 bits, figurando en
ellos un valor 1, si la casilla está ocupada, y un valor 0, si la casilla no lo
está.
Es bien sabido que los ordenadores se manejan por bytes, cada uno de
los cuales está compuesto por 8 bits. Más concretamente, en la Arquitectura
de Computadores actual, los ordenadores personales manejan datos de 32
bits, lo cual equivale a 4 bytes.
Lo bueno que tienen los bitboards es que cada uno de ellos puede ser
tratado como una “palabra” por el ordenador, lo cual agiliza notablemente
los pasos.
Los procedimientos de búsqueda, en I. A., pueden ser de dos tipos:
20
21. Blind Search o Heuristic Search
según dispongamos o no de conocimiento del Dominio.
La Búsqueda Heurística es clave para los programas de ajedrez y en
general, para los Problemas de Búsqueda con dos Adversarios.
La posibilidad de discriminar entre caminos o variantes nos la da la
llamada función de evaluación heurística, abreviadamente fev, que por
ejemplo, para el caso del algoritmo A* se desdobla en suma de dos: la
primera de ellas nos informa de cuántos enlaces han sido recorridos, o
equivalentemente, de cuántos nodos han sido seleccionados y expandidos,
desde el nodo-raíz hasta el nodo-actual, mientras que la segunda hace una
estimación de cuántos enlaces quedan por recorrer o nodos por explorar,
desde el nodo-actual hasta el nodo-meta.
Esta fev viene a ser al programa de ajedrez lo que el conocimiento es a
la mente humana, cuando esta trata de identificar un hecho. Porque en una
partida de ajedrez y por tanto, en un programa para jugarlo, resulta de vital
importancia el conocer la posición y evaluarla. De tal evaluación habrá dos
posibles “lecturas”, una según cada jugador, MAX o MIN, Blancas o
Negras.
Aquí aparece la fev. Con ella sabremos cuál es la mejor estrategia para
progresar en el Árbol de Búsqueda, partiendo del nodo-actual, o de la
situación actual de la partida.
La fev (f) puede plantearse como una función polinómica,
introduciendo “pesos”, es decir, será ponderada. Una posible expresión
para la misma será:
EVAL(i): k*RM + l*CC + m*MP + n*CI + p*PP + q*SR + r*AM =
= f (jugada i-ésima)
21
22. con k, l, m, n, p, q, r, s, parámetros reales no-negativos.
Estos nos señalan “cuánto cuenta”, es decir, el “peso” de cada factor
dentro de la fev.
Dichos “factores” (sugeridos en parte por Shannon) son:
RM: relación de material aún disponible
CC: control y ocupación de las casillas centrales
MP: movilidad de las piezas
CI: control sobre las casillas importantes
PP: posibilidad de promocionar peones
SR: seguridad del Rey
AM: amenaza de “mate”
Se puede establecer cuál es la MP, por ejemplo, comparando la posición
actual del tablero (o bitboard) con una serie de tableros predefinidos.
En los Programas actuales aparecen distintas fev, según cuál sea la fase
en que se encuentre el juego: la de apertura, la media o la final.
Con esto se consigue que la heurística sea más eficiente, puesto que se
evitan aquellas variantes que son absurdas.
El Algoritmo que se utiliza es del tipo MINIMAX (minimización -
maximización), donde como sabemos, se van alternando en el juego dos
competidores, MAX y MIN. El primero de ellos intenta maximizar la
función, lo cual le beneficia, mientras que el segundo aplica la estrategia
contraria, es decir, trata de minimizar la función, con lo cual perjudica al
contrario y por tanto, sale beneficiado él mismo.
22
23. Pero hay un problema añadido: el de la llamada “explosión
combinatoria”, que hace imposible explorar todas las variantes, por lo que
se deben descartar las que sabemos inútiles.
Para un factor de ramificación (número medio de sucesores de cada
nodo) igual a 35 y límite de profundidad (o longitud promedio del juego,
número máximo de sucesores expandidos de cada nodo) igual a 50
movimientos, el árbol de búsqueda tendrá del orden de:
50*2 154
35 10 nodos
un número mucho mayor que el que se estima de átomos para todo el
Universo.
Su reducción, tan drástica como necesaria, se consigue mediante el
Procedimiento de Poda alfa-beta (alpha-beta pruning algorithm). Fue
creado por tres científicos de la Universidad Carnegie - Mellon: Allen
Newell, John Shaw y Herbert Simon, en 1958.
Aquí podemos ver un ejemplo sencillo:
23
24. Se trata de un Algoritmo que va almacenando con cada llamada
recursiva dos entradas: alfa y beta. Se representa por medio de un “doble-
contador”, un par que va mostrándonos ambos valores.
Mediante esta información adicional y actualizada, dicho algoritmo va a
evaluar cada una de las posiciones, según avanzamos en el juego. “Alfa”
representaría el valor de la mejor jugada para las Blancas encontrada hasta
el momento, medida a través de f. Por su parte, “Beta” nos informa del
valor de la mejor jugada de las Negras hasta ahora.
En cada paso se comprueba si el valor de alfa es menor que el de beta.
Cuando esto se incumple (α β), se produce una poda, que será de tipo alfa,
si estamos en un nivel MAX, y de tipo beta, si estamos en un nivel MIN. El
valor que se devuelve es “el otro”: el de beta, para una poda alfa, y el de
alfa, para una poda beta.
≥
Al llegar a la poda este Algoritmo prescinde del resto de la rama: todos
los nodos que penden de aquel en que se produce la poda son abandonados.
Con ello evitamos que las Negras aprovechen esa variante, que las
favorecería.
La poda alfa-beta aligera muy considerablemente el Árbol de Búsqueda.
Así, el número de nodos visitados va a quedar en la raíz cuadrada de los
necesarios caso de haber expandido todos. Por ejemplo, si se trata de un
árbol medio de un millón de nodos, con la poda se quedará en mil, que no
es poca eficiencia.
Fases del Juego de Ajedrez
Antes hicimos mención a estas, que como dijimos, eran las de:
- Apertura
24
25. - Fase Media del Juego
- Fase Final
Algunos las interpretan como las tres del Teatro Clásico:
- Exposición
- Desarrollo o Nudo
- Desenlace o Resolución
La Teoría de Aperturas es una verdadera ciencia, con una acumulación
enorme de jugadas de inicio, ensayadas y bien conocidas, tanto que hasta
reciben nombre propio.
Están recogidas en voluminosos manuales y también compiladas en
bases de datos. Abarcan desde las más inocentes, de principiante, hasta las
más enrevesadas, famosas por ser de Grandes Maestros.
Dichas Aperturas se dividen en cinco grupos: A, B, C, D, E, y cada una
de ellas se subdivide en 99 subgrupos, y estos a su vez en distintas
variantes.
Cuando estamos en la fase media, las piezas ya no todas ocupan su
posición original. Ahí es donde empiezan las “sutilezas”.
La situación en la que nos encontramos dependerá, lógicamente, de
cuál haya sido la apertura elegida. Pueden darse situaciones más “abiertas”,
con diagonales y/o columnas por las que avanzar, o bien otras más
“cerradas”, que obligan a otro tipo de juego, más estratégico.
Cuando sólo quedan peones y pocas de las otras piezas sobre el tablero,
hemos entrado en la fase final. El objetivo será promocionar los peones
25
26. propios, para recuperar las piezas clave, sin permitir que promocionen los
ajenos.
El valor de las piezas es relativo a la fase en la que nos encontremos.
Por ejemplo, un peón tiene poco valor al principio, pero este crece según
avanza el juego, pudiendo en la última fase llegar a ser decisivo. Valiendo
más incluso que otras piezas, al poder recuperar piezas perdidas, como la
Reina.
En la fase media será clave la posesión o no de determinadas piezas,
dado que esto puede implicar la pérdida de la partida.
Algo de lo que podemos encontrar en Internet sobre Ajedrez
Hay en Internet dos programas, que podemos descargar de modo
gratuito: el potente CRAFTY:
ftp://ftp.cis.uab.edu/pub/hyatt/
Y el GNU, programa de repositorio gratuito de software:
http://www.gnu.org
Pero existen, además, otras herramientas y programas gratuitos, que
permiten analizar bases de datos, editarlas, crearlas, visualizarlas, en PGN.
El más famoso es el WINBOARD:
http://www.tim-mann.org/chess.html
26
27. Se trata de una interfaz gráfica.
Y en cuanto a sitios de Internet para jugar al ajedrez, tenemos: Ajedrez
21, de la academia (EDAMI) del Gran Maestro español de ajedrez Miguel
Illescas:
www.ajedrez21.com
También ICC (Internet Chess Club), que nos permite el juego a
cualquier nivel. Eso sí, en inglés:
www.chessclub.com
O el también gratuito y en inglés: FICS (Free Internet Chess Server):
www.freechess.comT
Potencial educativo del juego de ajedrez
Es bien conocido el valor formativo del Ajedrez. Tanto que no creo
que sea necesario repetirlo; mucho menos para un público tan experto en
temas educativos.
Por una parte, es una buena clase de Historia Medieval, que nos
muestra lo poco que valía entonces un peón (el pueblo llano), cómo
estaban por encima las clases de los caballeros y el alto clero (los
27
28. obispos). Al fondo, bien resguardado, casi intangible en su trono, el Rey,
contemplando desde lejos cómo otros se batían por él.
El Ajedrez es un juego de estrategia, de lo que pudiéramos llamar
“inteligencia pura”. Por ello, su práctica resulta beneficiosa para mejorar
el rendimiento en áreas educativas patentes, como son las Matemáticas.
Pero eso resulta extensible a otras disciplinas.
El cerebro funciona en buena parte, como sabemos, mediante el
sistema de reconocimiento de patrones, y esto es precisamente lo que
hace el jugador (o el estudiante) con la información de la que dispone. Lo
cual repite mucho más veloz y seguro el ordenador, con sus Libros de
Apertura, de Variantes y de Finales de Juego, que compilados, le vamos
proporcionando.
Apreciar el Ajedrez y practicarlo tienen, sin duda, un alto valor
formativo. Y hoy se le añade el gran desafío de la continua mejora de los
ordenadores y programas, para hacer mucho más rápido lo que nosotros
hacemos.
Esto es también ilustrativo: darlo a conocer en las aulas, porque una
nueva Revolución Científica se está produciendo ante nosotros.
Diagrama de Flujo para Programas de Juego de Ajedrez
En realidad, cuando se elabora un programa para el Juego de Ajedrez se
está resolviendo un problema concreto de I. A. Por una parte, se ha de
diseñar un organigrama que lo describa, y por otra, un algoritmo que lo
secuencie. Teniendo presente en todo momento las situaciones que pueden
presentarse.
28
29. Ya dijimos que el Algoritmo era del tipo MINIMAX (incluido dentro
de la Búsqueda con dos adversarios) y que para cortar variantes
innecesarias o absurdas, se utilizaba el Procedimiento de Poda alfa-beta.
Lo que viene a esquematizar la situación es un árbol de decisiones, que
busca la jugada apropiada, dentro de la secuencia óptima.
Podemos ver en la última imagen de este trabajo la forma que adopta
ese organigrama simplificado (o Diagrama de flujo del Juego de Ajedrez).
Bibliografía:
Es tan abundante que resulta difícil aconsejar sólo unos pocos textos
sobre Ajedrez. No hay tantos sobre Inteligencia Artificial.
Por citar algunos, estos podrían ser:
- GUTMAN, D. R.: Metáforas de Ajedrez. Ed. La Casa del Ajedrez.
Madrid, 2005.
- HOFSTADTER, D.: Gödel, Escher, Bach. Ed. Anagrama. Barcelona.
En su capítulo XVIII habla del juego de ajedrez y de la Inteligencia
Artificial.
- MIRA et al.: Aspectos básicos de la Inteligencia Artificial. Ed. Sanz y
Torres, Madrid.
- MURRAY, H. J. R.: A History of Chess. Benjamín Press.
Northhampton, MA, 1985.
29