Alan Turing y Ajedrez Dr. Luis Gerardo de la Fraga E-mail: fraga@cs.cinvestav.mx Departamento de Computación Cinvestav 28 de junio, 2012 Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 1/42
Contenido 1. Motivación 2. Reglas del juego 3. Programas que juegan ajedrez 4. Algoritmo minimax. Poda alfa beta 5. Conclusiones Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 2/42
Motivación Alan Mathison Turing (1912-1954) en su artículo Digital Computers Applied to Games [1, 2] se pregunta si puede construirse una máquina que juegue razonablemente bien ajedrez. Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 3/42
Las intenciones de Turing era más filosóficas al preguntarse él mismo si Se podría construir una máquina que conteste preguntas de forma que pueda ser imposible distinguir sus respuestas de aquellas hechas por un humano? Se podría construir una máquina que pueda tener sentimientos tal como tú y yo los tenemos? Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 4/42
Motivos prácticos para estudiar el ajedrez Es un tema muy importante para los procesos de toma de decisiones [3] Si las computadoras no pueden resolver un problema de toma de decisiones en un área que se conoce perfectamente (como el ajedrez), como puede asegurarse que las computadoras tomarán mejores decisiones que los humanos en otros dominios complejos? (con reglas mal definidas o con un grado alto de incertidumbre) [3]. En ajedrez existen estándares bien establecidos para medir el rendimiento (escala de calificaciones, pruebas y medidas de rendimiento relativo). Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 5/42
Desde el punto de vista científico/ingenieril: Es un reto, tal máquina puede construirse hasta que no se demuestre lo contrario. Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 6/42
En su artículo, Turing presenta la idea de pseudocódigo: Si uno puede expresar en español sin ambigüedades, con la ayuda de símbolos matemáticos si se requiere, cómo un cálculo será realizado, entonces será siempre posible programar una computadora digital que haga esos cálculos, suponiendo que la capacidad de almacenamiento es adecuada. Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 7/42
El juego de ajedrez en 10 minutos Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 8/42
Piezas del juego 1. Peones (Valor 1) 2. Caballo (3) 3. Alfil (3.5) 4. Torre (5) 5. Dama (10) 6. Rey (4) Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 9/42
8 7 6 5 4 0Z0Z0O0Z 3 2 0Z0O0Z0Z 1 a b c d e f g h Notación: Los peones pueden moverse como d2d4 o f4f5 Generalmente no se escribe la posición inicial: d4 o f5 Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 10/42
8 7 6 5 Z0ZNZ0Z0 4 3 2 1 a b c d e f g h Notación: Nc7 o Ne7 o Nf6 o Nf4 o... Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 11/42
8 7 6 5 Z0ZBZ0Z0 4 3 2 1 a b c d e f g h Notación: Ba8 o Bg8 o Ba2 o Bh1 o... Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 12/42
8 7 6 5 4 3 ZRZ0Z0Z0 2 1 a b c d e f g h Notación: Ra3 o Rb8 o Rh3 o Rb1 o... Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 13/42
8 7 6 5 4 3 Z0Z0L0Z0 2 1 L0Z0Z0Z0 a b c d e f g h Notación: Qa3 o Qa7 o Qe8 o Qh6 o... Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 14/42
8 7 6 5 4 3 Z0ZKZ0Z0 2 1 J0Z0Z0Z0 a b c d e f g h Notación: Kd4 o Ke4 o Ke3 o Ke2 o... Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 15/42
Posición inicial de las piezas en el tablero: 8 rmblkans 7 opopopop 6 5 4 3 2 POPOPOPO 1 SNAQJBMR a b c d e f g h Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 16/42
Algunos movimientos: 8 7 6 0Z0Z0m0Z 5 Z0ZpZpZp 4 0ZpO0OPZ 3 Z0O0Z0Z0 2 0Z0ZBZ0Z 1 a b c d e f g h Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 17/42
Fases del juego 1. Apertura 2. Juego medio 3. Final Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 18/42
Componentes de un programa que juegue ajedrez 1. Descriptor del tablero 2. Generador de movimientos 3. Búsqueda y poda en el árbol de decisiones 4. Evaluador de la posición Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 19/42
Todavía no se conoce cual es la forma más eficiente de representar todas las tablas y estructuras de datos necesarias para describir un tablero de ajedrez [3] Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 20/42
Existen del orden de 10 100 posibles continuaciones en el juego de ajedrez, lo cual es mucho más que el número de partículas en el universo [4] Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 21/42
Algoritmo minimax (1/3) a1 A B C D b1 b2 b3 c1 c2 a2 a3 c3 d1 d3 d2 Paso 1: Construir el árbol Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 22/42
Algoritmo minimax (2/3) a1 A B C D b1 b2 b3 c1 c2 a2 a3 c3 d1 d3 d2 3 12 8 2 4 6 14 5 2 Paso 2: Evaluar las hojas Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 23/42
Algoritmo minimax (3/3) MAX a1 A MIN B 3 C 2 D 2 b1 b3 c1 c3 d1 d3 b2 c2 d2 a2 3 a3 3 12 8 2 4 6 14 5 2 Paso 3: Escoger la mejor opción Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 24/42
Poda alfa beta No se deben de checar todas las posibles continuaciones del juego. Usando el algoritmo alfa-beta se reducen las posibilidades a 10 100 = 10 50 Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 25/42
Problemas Efecto horizonte Plan para el final del juego Errores de evaluación Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 26/42
Efecto horizonte [5] 8 7 ZpZPZpop 6 kzpz0z0z 5 4 3 Z0ZPOPOP 2 rz0z0z0z 1 Z0Z0Z0ZK a b c d e f g h Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 27/42
Plan para el final del juego [3] 8 0Z0Z0j0a 7 Z0Z0Z0ZP 6 0ZBZKO0O 5 4 3 o0z0z0z0 2 PZ0Z0Z0Z 1 a b c d e f g h Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 28/42
Finales de las partidas Las computadoras han sido utilizadas para analizar exhaustivamente los finales de las partidas Se han obtenido resultados novedosos Las tablas existen para 3, 4, 5, 6 y algunas con 7 piezas (incluidos lo dos reyes) Ken Thompson demostró que en general RAA gana a RC, pero se necesitan menos de 67 movimientos para hacer jaque mate o capturar el caballo. Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 29/42
Errores de evaluación [3] 8 0ZnZkZrZ 7 o0z0z0z0 6 0Z0A0SpZ 5 Z0O0ZpJp 4 3 Z0Z0O0O0 2 0Z0Z0O0O 1 a b c d e f g h 45 RXg6? RXg6 46 KXg6 NXd6 47 cxd6 Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 30/42
8 0Z0ZkZ0Z 7 o0z0z0z0 6 0Z0O0ZKZ 5 Z0Z0ZpZp 4 3 Z0Z0O0O0 2 0Z0Z0O0O 1 a b c d e f g h Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 31/42
En las décadas de 1970 y 1980 no era aún claro que las computadoras podrían ganar a un humano En 1996, Garry Kásparov perdió la primera partida ante Deep Thought En mayo de 1997, Deep Blue venció a Kásparov 3 1/2 2 1/2. Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 32/42
Usaba fuerza bruta para jugar. Tenía 30 nodos RS/6000 SP Thin, Y cada nodo era un microprocesador P2SC a 120 MHz Además de 480 chips VLSI Fue escrito en C Se ejecutaba en el S.O. AIX Evaluaba 120 millones de posiciones por segundo Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 33/42
El gambito de rey resuelto (1/2) En el artículo [4] de abril de 2012, Vasik Rajlich, el creador de Rybka, anunció que se ha resuelto la apertura gambito de rey El resultado es con una confianza del 99.99999999% (o con un posible error del 1 10 8 ) Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 34/42
El gambito de rey resuelto (2/2) No se realizar toda la búsqueda. Cuando Rybka analiza una posición, consideraron que si es mayor a 5.12, la posición siempre llevaba a ganar, y si es menor que -5.12 siempre se pierde. Esto lo demostraron por muestreo aleatorio de este tipo se posiciones: siempre se ganó se empezó en una posición con valor +5.12, o perdió con -5.12 Se usó el equivalente de 10,750,000 horas de tiempo de un solo CPU Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 35/42
8 rmblkans 7 opopopop 6 5 4 3 2 POPOPOPO 1 SNAQJBMR a b c d e f g h Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 36/42
8 rmblkans 7 opopopop 6 5 4 0Z0ZPZ0Z 3 2 POPO0OPO 1 SNAQJBMR a b c d e f g h 1.e4 Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 36/42
8 rmblkans 7 opopzpop 6 5 Z0Z0o0Z0 4 0Z0ZPZ0Z 3 2 POPO0OPO 1 SNAQJBMR a b c d e f g h 1...e5 Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 36/42
8 rmblkans 7 opopzpop 6 5 Z0Z0o0Z0 4 0Z0ZPO0Z 3 2 POPO0ZPO 1 SNAQJBMR a b c d e f g h 2.f4 Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 36/42
8 rmblkans 7 opopzpop 6 5 4 0Z0ZPo0Z 3 2 POPO0ZPO 1 SNAQJBMR a b c d e f g h 2...eXf4 Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 36/42
8 rmblkans 7 opopzpop 6 5 4 0Z0ZPo0Z 3 2 POPOBZPO 1 SNAQJ0MR a b c d e f g h 3.Be2 Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 36/42
Conclusiones (1/3) El juego de ajedrez debe usarse para fines recreativos (!Es un juego!) Aprender ajedrez tiene grandes beneficios pedagógicos El Parlamento Europeo aprobó el 13 de marzo de 2012 una resolución a favor de incluir este deporte en las escuelas. Sea cual sea la edad del niño, el ajedrez puede mejorar su concentración, paciencia y persistencia; y puede ayudarle a desarrollar el sentido de la creatividad, la intuición, la memoria y las competencias, dice la declaración [6]. Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 37/42
Conclusiones (2/3) La teoría de juegos ha resuelto el juego de damas [7] Los programas actuales de ajedrez juegan a nivel de gran maestro Se propone jugar el ajedrez 960 para evitar los trucos en la apertura Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 38/42
Ajedrez 960 8 bmranjrl 7 opopopop 6 5 4 3 2 POPOPOPO 1 ANSBMKSQ a b c d e f g h Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 39/42
Conclusiones (3/3) El ajedrez pasó de nunca un programa ganará a un humano a las computadoras juegan mejor que cualquier humano No se ha dilucidado aún la manera en que nuestro cerebro piensa Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 40/42
B.V. Bowden, editor. Symposium on Digital Computing Machines, chapter Faster than thought. London Pitman, 1971. D.C. Ince, editor. Mechanical Intelligence, collected works of A.M. Turing. North-Holland, 1992. G. Kearsley. Encyclopedia of artificial intelligence, volume 1, chapter Computer Chess Methods. 1987. F. Friedel. Rajlich: Busting the king s gambit, this time for sure. Chess Base News, Abril 2012. http://www.chessbase.com/newsdetail.asp?newsid=8047. Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 41/42
S. Russel and P. Norving. Inteligencia Artificial, un enfoque moderno. Pearson Prentice-Hall, 2nd edition, 2004. Pilar Álvarez. Aprobado en ajedrez. Periódico El Pais (España), 1 de mayo 2012. http://www.elpais.com. J. Schaeffer, N. Burch, Y. Björnsson, A. Kishimoto, M. Müller, R. Lake, P. Lu, and S. Sutphen. Checkers is solved. Science, 317(5844):1518 1522, 7 Sep. 2007. DOI: 10.1126/science.1144079. Dr. Luis Gerardo de la Fraga Simposio Turing 2012 Alan Turing y Ajedrez 42/42