Cajal Y Los Laboratorios De La Junta Para Ampliacin De
Total Page:16
File Type:pdf, Size:1020Kb
3.6. EN TORNO AL AJEDRECISTA DE TORRES QUEVEDO. EL AJEDREZ EN LA HISTORIA DE LA COMPUTACIÓN Javier de Lope Asiaín Dpto. Inteligencia Artificial. Universidad Politécnica de Madrid. El ajedrez siempre ha sido considerado como el juego de juegos y circulan innumerables y bonitas leyendas relacionadas con su nacimiento, como la que indica que fue creado para demostrar a un rey que él solo, sin sus súbditos, no sería capaz de hacer nada, sobre sus componentes, el tablero, lo que representa cada una de las figuras, etc., o incluso como simple arte en la creación de juegos de piezas y tablero de los más caros y refinados materiales. Por otra parte, la inteligencia artificial en sus inicios siempre pretendía enfrentarse problemas en los que fuese necesaria una notable ración de inteligencia para resolverlos, pero que a la vez estuviesen perfectamente descritos en un mundo simulado, perdiendo así parte de lo que actualmente se entiende por inteligencia, es decir, eliminando toda la percepción el mundo exterior. Los juegos han sido fundamentales en el desarrollo de lo que se conoce como inteligencia artificial clásica. El entorno de juego, por ejemplo, el tablero, es perfectamente representable en un ordenador. Los objetivos están bien definidos, ganar a los adversarios. Las reglas del juego también están bien definidas y es seguro que no podrá suceder nada diferente, nuevo o imprevisto ya que en ese caso se consideraría ilegal. No es extraño, por tanto, que dado ese acercamiento del mundo de la inteligencia artificial al de los juegos, se haya tomado como referencia durante muchos años el ajedrez. El matemático ruso Alexander Kronrod ya lo definió hace algunos años como la drosophila melanogaster, la mosca de la fruta de la inteligencia artificial porque gracias a su gran dificultad es posible elaborar y probar muchas de las técnicas y estrategias que posteriormente pueden ser exportadas a otros ámbitos de investigación. Habitualmente, se toma como primer referente de una máquina que era capaz de jugar al ajedrez por sí sola a un ingenio mecánico creado por Wolfgang von Kempelen conocido como “el Turco” (Maelzel Chess Automaton) a mediados del siglo XVIII, la fecha exacta es un tanto confusa, pero las fuentes lo suelen datar en un año cercano a 1760. El Turco se trataba de un dispositivo puramente mecánico con apariencia de un turco que era capaz de disputar partidas completas de ajedrez. Von Kempelen solía mostrar las presuntas habilidades de su máquina tanto en ferias como en reuniones de la alta sociedad en la que permitía que las personas que allí se encontraban 326 J. de Lope Asiaín jugasen partidas contra su autómata. Quizá, la partida más famosa y referida de las disputadas fue la que entabló contra el propio Napoleón. El Turco estuvo en funcionamiento durante cerca de setenta años sirviendo de admiración a todas las personas que presenciaban el espectáculo, pero con el tiempo se descubrió que el presunto autómata capaz de desarrollar un juego inteligente se trataba de un fraude: los engranajes estaban realmente gobernados por una persona que se encontraba en su interior, según una leyenda, un fugitivo con las piernas amputadas. Si bien no nos sirve como una verdadera máquina inteligente capaz de resolver las partidas por ella misma, sí debe al menos hacerse referencia a ella por el valor de lo que es el propio ingenio estrictamente mecánico, que lamentablemente se perdió en un incendio, y porque sin lugar a dudas se trata de una referencia inicial obligada siempre que se traten temas de ajedrez por computadora desde un punto de vista histórico. Hecho este apunte inicial, el primer dispositivo que funcionaba en la realidad de forma autónoma se debe a Leonardo Torres y Quevedo y data de finales del siglo XIX, aproximadamente entre 1890 y 1914. Se trata de un dispositivo electromecánico que es capaz de disputar finales de rey-torre por el bando de las blancas contra rey negro que, como es sabido, es un final favorable al bando de las blancas. El autómata mueve las piezas blancas y es capaz de dar mate a un oponente humano en pocos movimientos, concretamente en unas 63 jugadas de media para el caso más desfavorable, es decir, el caso en el que el lado de las blancas no partan de una ventaja posicional inicial. El autómata en sí estaba basado en un conjunto de reglas concretas para el final de rey-torre contra rey que, como ya mencionamos antes, se trata de un En torno al ajedrecista de Torres Quevedo 327 final muy estudiado en ajedrez, en el que tiene la ventaja el jugador que tiene la torre. Si bien se trata de una partida muy simple y en la que habitualmente se da por vencedor al jugador que lleve la torre, tenemos que destacar que para el periodo en el que construyó se trataba de una solución muy destacable y avanzada. Probablemente, fue a partir de 1950 cuando con la ayuda de Claude Shannon se definieron las bases de lo que podrían ser verdaderas máquinas que jugasen al ajedrez y, en general, a casi cualquier tipo de juego de los que consideramos inteligentes. Shannon que contribuyó tanto en el desarrollo como en las bases de otras muchas disciplinas íntimamente relacionadas con la computación y las telecomunicaciones, describió cuáles eran las bases teóricas de un juego como el ajedrez y cómo se podía afrontar el problema de escribir un programa que jugase a al ajedrez para los ordenadores de la época. 328 J. de Lope Asiaín Básicamente, Shannon afirmaba que el ajedrez es un juego finito, en el que tarde o temprano, por la propia aplicación de las reglas de movimiento de cada una de las piezas de ambos bandos que están sobre el tablero se llega a una situación de victoria, derrota o tablas, situación de empate de ambos bandos en el ajedrez. Ser finito significa que existe un número finito de posiciones y que de cada una de éstas puede llegarse a un número finito de nuevas posiciones que, como dijimos anteriormente, están perfectamente definidas por las reglas de movimiento de las piezas. Entonces, el problema puede o, mejor dicho, podría resolverse recorriendo lo que se conoce como árbol de juego y seleccionando la alternativa del primer nivel del árbol que hace que el jugador para el que se está considerando o calculando el movimiento llegue a una posición de victoria. Un hipotético árbol de juego completo para el ajedrez estaría formado en su nivel superior o raíz por un nodo que representase el tablero con todas las piezas colocadas en su posición inicial. El segundo nivel estaría formado por todas los tableros a los que se puede llegar a partir de éste, como en el ajedrez el bando de las blancas es el que sale, se trataría los veinte tableros que fuesen salidas legales -otra cosa es que fuesen buenas o razonables- para el lado de las blancas: avanzar los ocho peones a la siguiente fila, avanzar los ocho peones dos filas y salir con los dos caballos en sus dos movimientos posibles. El siguiente nivel del árbol de juego estaría formado por las posibles contestaciones del jugador de negras a cada uno de los movimientos iniciales del jugador de blancas, por lo que a este nivel tendríamos otros veinte movimientos posibles para cada uno de los veinte movimientos iniciales. Y así sucesivamente. Como puede suponerse, el desarrollo completo del árbol de juego para el juego del ajedrez es inviable tanto en la época de Shannon como en la actualidad. Si consideramos que para un tablero cualquiera pueden realizarse una media de 32 movimientos1 y que una partida puede suponer también de media unos 40 movimientos por cada bando, podemos intuir que el número de nodos hoja en el último nivel de este árbol de juego medio sería de 3280, que es aproximadamente igual a 10120. Si la cifra no nos ha convencido a simple vista, podemos añadir que un siglo son 1016 microsegundos, por lo que si fuésemos capaces de generar una alternativa cada microsegundo, serían necesarios unos cuantos siglos para generar el árbol de juego completo. Desde el punto de vista de la ocupación en espacio de almacenamiento y de los mecanismos de acceso a la información se podrían hacer comentarios similares. Dada esta imposibilidad de generar el árbol de juego completo, Shannon enuncia dos posibles estrategias que se pueden seguir a la hora de reducir el proceso de búsqueda en el árbol de juego. La primera de ellas, a la que él mismo se refería como estrategia de tipo A, se basa en considerar el árbol de juego hasta una cierta profundidad para posteriormente determinar 1 Ya hemos visto que inicialmente partimos con veinte movimientos, para finales y el resto de la apertura normalmente son menos también, pero en el juego medio el número de movimientos puede ser considerablemente elevado. En torno al ajedrecista de Torres Quevedo 329 heurísticamente cuánto de bueno es un tablero con relación a un jugador, concretamente, para el jugador que se está intentando determinar su mejor jugada. De esta forma, estamos introduciendo dos de los componentes básicos de un motor de búsqueda heurística genérico como son el expansor de los nodos, lo que se denomina como generador de movimientos en juegos, y la propia heurística o función de evaluación. El generador de movimientos es un módulo muy importante y es el que se atribuye la mayor parte del consumo computacional en todo el proceso. Es el encargado de generar las siguientes posibilidades de tableros a partir de un tablero dado por la simple aplicación de las reglas del juego. Por así decirlo, es un módulo en el que reside el movimiento acerca de los movimientos legales de las piezas.