Turochamp es un programa de ajedrez desarrollado por Alan Turing y David Champernowne en 1948. Fue creado como parte de una investigación realizada por la pareja sobre informática y aprendizaje automático. Turochamp es capaz de jugar una partida de ajedrez completa contra un jugador humano en un nivel bajo de juego calculando todos los movimientos potenciales y todos los movimientos potenciales del jugador en respuesta, asignando valores de puntos a cada estado del juego y seleccionando el movimiento con el promedio más alto. posible valor en puntos.
Turochamp | |
---|---|
Desarrollador (es) | Alan Turing y David Champernowne |
Género (s) | Ajedrez de computadora |
Modo (s) | Un solo jugador |
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/6/60/TUROCHAMP_vs_Glennie%2C_1952.gif/330px-TUROCHAMP_vs_Glennie%2C_1952.gif)
Turochamp es el primer juego de computadora conocido que entró en desarrollo, pero Turing y Champernowne nunca lo completaron, ya que su algoritmo era demasiado complejo para ser ejecutado por las primeras computadoras de la época, como el Motor de Computación Automática . Turing intentó convertir el programa en código ejecutable para la computadora Ferranti Mark 1 de 1951 en Manchester, pero no pudo hacerlo. Turing jugó un partido contra el científico informático Alick Glennie usando el programa en el verano de 1952, ejecutándolo manualmente paso a paso, pero a su muerte en 1954 todavía no había podido ejecutar el programa en una computadora real. Champernowne no continuó con el proyecto y no se conservó el diseño del programa original. A pesar de que nunca se ha ejecutado en una computadora, el programa es candidato para el primer programa de ajedrez; Se diseñaron o propusieron varios otros programas de ajedrez aproximadamente al mismo tiempo, incluido otro que Turing intentó ejecutar sin éxito en el Ferranti Mark 1. El primer programa exitoso en 1951, también desarrollado para el Mark 1, fue directamente inspirado por Turochamp , y fue capaz sólo de resolver problemas de " pareja en dos ". En 2012 se construyó una recreación de Turochamp para la Conferencia del Centenario de Alan Turing . Esta versión se utilizó en una partida con el gran maestro de ajedrez Garry Kasparov , quien dio un discurso de apertura en la conferencia.
Como se Juega
Turochamp simula un juego de ajedrez contra el jugador aceptando los movimientos del jugador como entrada y emitiendo su movimiento en respuesta. El algoritmo del programa utiliza una heurística de dos movimientos para determinar el mejor movimiento a realizar: calcula todos los movimientos potenciales que puede realizar, luego todas las posibles respuestas de los jugadores que podrían realizarse a su vez, asigna un valor en puntos a cada resultado. estado, luego hace el movimiento con el promedio más alto de puntos resultantes. [1] [2] [3] Los puntos se determinan en función de varios criterios, como la movilidad de cada pieza, la seguridad de cada pieza, la amenaza de jaque mate, el valor de la pieza del jugador si se toma y varios otros factores. Los diferentes movimientos reciben diferentes valores de puntos; por ejemplo, tomar la reina recibe 10 puntos pero un peón solo un punto, y colocar al rey en jaque recibe un punto o la mitad de un punto según la disposición del tablero. [4] Según Champernowne, el algoritmo está diseñado principalmente en torno a la decisión de tomar una pieza o no; Según Turing, la jugabilidad resultante produce un juego de ajedrez de bajo nivel, que él consideró acorde con su nivel de habilidad promedio descrito por él mismo en el juego. [1] [4]
Historia
Alan Turing fue un matemático , informático , lógico , criptoanalista , filósofo y biólogo teórico inglés . [5] Turing fue muy influyente en el desarrollo de la informática teórica , proporcionando una formalización de los conceptos de algoritmo y computación con la máquina de Turing , que puede considerarse un modelo de una computadora de propósito general . [6] [7] [8] Turing es ampliamente considerado como el padre de la informática teórica y la inteligencia artificial . [9] A partir de 1941, mientras trabajaba en criptoanálisis en tiempos de guerra en Bletchley Park , Turing comenzó a discutir con sus colegas la posibilidad de que una máquina pudiera jugar al ajedrez o realizar otras tareas "inteligentes", así como la idea de una computadora para resolver un problema mediante la búsqueda de todas las posibles soluciones utilizando una heurística o un algoritmo. [10] [11] Parte del trabajo de criptoanálisis de Turing, como en el Bombe , se realizó a través de este modelo de una máquina de computación que buscaba posibilidades para una solución. [11] Continuó discutiendo la idea con sus colegas durante la guerra, como con el estadístico económico DG Champernowne en 1944, y en 1945 estaba convencido de que una máquina capaz de realizar cálculos generales sería teóricamente capaz de replicar cualquier cosa que un cerebro humano. podría hacer, incluso jugar al ajedrez. [10] [12]
Después de la Segunda Guerra Mundial , Turing trabajó en el Laboratorio Nacional de Física (NPL), donde diseñó el Motor de Computación Automática (ACE), uno de los primeros diseños para una computadora con programa almacenado. En 1946, Turing escribió un informe para el NPL titulado "Calculadora electrónica propuesta" que describía varios proyectos para los que planeaba utilizar el ACE; uno de ellos era un programa para jugar al ajedrez. Al año siguiente, dio una lectura en la London Mathematical Society en la que presentó la idea de que una máquina programada para jugar al ajedrez podía aprender por sí misma y adquirir su propia experiencia. Posteriormente, en 1948, escribió un nuevo informe para la NPL, titulado "Maquinaria inteligente", que sugería una forma de ajedrez de imitación. [13]
A finales del verano de 1948, Turing y Champernowne, entonces su colega en el King's College de Cambridge , idearon un sistema de reglas teóricas para determinar los siguientes golpes de una partida de ajedrez. Diseñaron un programa que implementaría un algoritmo que seguiría estas reglas, aunque el programa era demasiado complejo para poder ejecutarse en el ACE o en cualquier otra computadora de la época. [1] El programa se llamó Turochamp , una combinación de sus apellidos. [13] A veces se informa erróneamente como "Turbochamp". [14] Según Champernowne, su esposa jugó un juego simulado contra el programa, apodado la "máquina de papel", y perdió. [13] [15] Turing intentó convertir el programa en código ejecutable para la computadora Ferranti Mark 1 de 1951 en Manchester, pero no pudo hacerlo debido a la complejidad del código. [14] Según Jack Copeland , autor de varios libros sobre Turing, no le preocupaba que el programa no pudiera ejecutarse, ya que estaba convencido de que la velocidad y la sofisticación de las computadoras pronto aumentarían para hacerlo posible. [16] En el verano de 1952, Turing jugó un partido contra el científico informático Alick Glennie usando el programa, ejecutándolo manualmente paso a paso. El partido, que fue grabado, tuvo al programa de Turochamp perdiendo ante Glennie en 29 movimientos, y cada uno de los movimientos del programa tomó hasta 30 minutos para evaluar. Aunque el partido demostró que el programa podía jugar de manera viable contra un humano en un juego completo, no se ejecutó en una computadora real antes de la muerte de Turing en 1954. [14]
Legado
Turochamp es candidato para el primer programa de ajedrez, aunque el programa original nunca se ejecutó en una computadora. Se diseñaron e intentaron varios otros programas de ajedrez aproximadamente al mismo tiempo, como en el artículo de Claude Shannon de 1950 Programando una computadora para jugar al ajedrez , las rutinas de ajedrez de Konrad Zuse se desarrollaron desde 1941 hasta 1945 para su propuesto lenguaje de programación Plankalkül , y Donald Michie y el programa de ajedrez Maquiavelo de Shaun Wylie , que Turing intentó ejecutar sin éxito en el Ferranti Mark I al mismo tiempo que Turochamp . [13] [17] [18] [19] En noviembre de 1951 Dietrich Prinz , que trabajaba en Ferranti y se inspiró en el trabajo de Turing en Turochamp , desarrolló el primer programa de ajedrez informático ejecutable para el Ferranti Mark I, que podía resolver " problemas de mate-en-dos ". [1]
El código y el algoritmo originales escritos por Turing y Champernowne no se han conservado. En 1980, Champernowne describió la forma en que trabajaba Turochamp , pero no pudo recordar todos los detalles de las reglas del juego. [1] [16] En 2012 se desarrolló una versión de Turochamp a partir de descripciones del algoritmo del juego como recreación simbólica. [20] Después de que la recreación inicial no pudo recrear el partido simulado de Turing contra Glennie, se consultó a varios expertos en ajedrez informático y contemporáneos de Turing para interpretar las descripciones del programa de Turing y Champernowne, incluido Ken Thompson , creador de la máquina de ajedrez Belle de 1983 y el Sistema operativo Unix . No pudieron encontrar la explicación de la desviación hasta que consultaron con Donald Michie, quien sugirió que Turing no se había preocupado por resolver meticulosamente qué movimiento recomendaría Turochamp . Con esto en mente, pudieron demostrar que desde el primer movimiento del juego, Turing se había desviado incorrectamente de los movimientos que parecían subóptimos sin calcular su valor en puntos. [a] La recreación resultante se presentó en la Conferencia del Centenario de Alan Turing del 22 al 25 de junio de 2012, en un partido con el gran maestro de ajedrez y ex campeón mundial Garry Kasparov . [21] Kasparov ganó la partida en 16 movimientos y felicitó al programa por su lugar en la historia y el "logro excepcional" de desarrollar un programa de ajedrez informático que funcione sin poder ejecutarlo en una computadora. [22]
Ver también
- Lista de software de ajedrez
- Lista de cosas que llevan el nombre de Alan Turing
Notas
- ^ Específicamente, Turing había abierto moviendo su peón 2 espacios a E4 ya que probablemente sintió que era el movimiento obviamente superior al moverlo un espacio a E3, cuando en realidad el algoritmo le da un valor de puntos más bajo ya que deja al rey teóricamente abierto a ataque desde E3, a pesar de que en ese punto del juego ninguna pieza contraria podría llegar a esa ubicación. [21]
Referencias
- ↑ a b c d e The Essential Turing , págs. 563-564
- ^ "David Champernowne (1912-2000)" . Revista ICGA . 23 (4): 262. Diciembre de 2000. doi : 10.3233 / ICG-2000-23419 .
- ^ Cochlin, Daniel (26 de junio de 2012). "Kasparov contra Turing" . Universidad de Manchester . Consultado el 9 de abril de 2019 .
- ^ a b Cómo juegan las computadoras al ajedrez , p. 35
- ^ "Turing, Alan Mathison" . Quién es quién . ukwhoswho.com ( edición en línea de Oxford University Press ). A & C Black, una impresión de Bloomsbury Publishing plc. 2017. doi : 10.1093 / ww / 9780199540884.013.U243891 . (se requiere suscripción o membresía a una biblioteca pública del Reino Unido ) (se requiere suscripción)
- ^ Newman, MHA (1955). "Alan Mathison Turing. 1912-1954" . Memorias biográficas de miembros de la Royal Society . 1 : 253-263. doi : 10.1098 / rsbm.1955.0019 . JSTOR 769256 .
- ^ Gray, Paul (29 de marzo de 1999). "Alan Turing - tiempo 100 personas del siglo" . Tiempo . Consultado el 7 de febrero de 2019 .
- ^ Introducción a la teoría de la computación , p. 37
- ^ Alan Turing: su trabajo e impacto , págs. 481–485
- ^ a b Hodges, Andrew (30 de septiembre de 2013). "Alan Turing" . Enciclopedia de Filosofía de Stanford . Universidad de Stanford . Consultado el 22 de mayo de 2019 .
- ^ a b Copeland, Jack ; Proudfoot, Diane (2012). "Alan Turing, fundador de la computadora moderna" . El diario de Rutherford . 1 (4). ISSN 1177-1380 .
- ^ Alan Turing: El enigma , p. 488
- ^ a b c d Alan Turing: Su trabajo e impacto , págs. 644–650
- ^ a b c Clark, Liat; Steadman, Ian (7 de junio de 2017). "Recordando a Alan Turing: desde el descifrado de códigos hasta la IA, Turing hizo del mundo lo que es hoy" . Cableado . Condé Nast . Consultado el 7 de febrero de 2019 .
- ^ Máquina de Papel "de Reconstrucción de Turing ' ' ". Revista ICGA . 40 (2): 1–8. Junio de 2018.
- ^ a b El filósofo de las Antípodas , págs. 13-14
- ^ Comenzó con Babbage: La génesis de la informática , p. 193
- ^ Profesor: Alan Turing Decodificado , cap. 9
- ^ Ajedrez y intuición de la máquina , p. 39
- ^ "Jugador del Siglo". Nuevo en ajedrez . Interquesa. Agosto de 1999. págs. 6–7. ISSN 0168-8782 .
- ^ a b Kasparov, Garry (junio de 2012). La reconstrucción de la 'máquina de papel' de Turing. Conferencia del centenario de Alan Turing . Manchester, Inglaterra . Consultado el 9 de abril de 2019 a través de VideoLectures.net .
- ^ Parnell, Brid-Aine (26 de junio de 2012). "El algoritmo de ajedrez escrito por Alan Turing se enfrenta a Kasparov" . El registro . Publicación de situaciones . Consultado el 9 de abril de 2019 .
Fuentes
- Hodges, Andrew (2014). Alan Turing: El enigma . Prensa de la Universidad de Princeton . ISBN 978-1-4008-6512-3.
- Castores, Anthony (2013). Cooper, S. Barry; van Leeuwen, Jan (eds.). Alan Turing: su trabajo e impacto . Elsevier . ISBN 978-0-12-386980-7.
- Oppy, Graham; Trakakis, Nick (2011). El filósofo de las Antípodas . Libros de Lexington . ISBN 978-0-7391-6655-0.
- Atkinson, George W. (1998). El ajedrez y la intuición de la máquina . Libros de intelecto. ISBN 978-1-871516-44-9.
- Copeland, B. Jack (2004). El Turing esencial . Prensa de la Universidad de Oxford . ISBN 978-0-19-825079-1.
- Levy, David; Recién nacido, Monty (2009). Cómo las computadoras juegan al ajedrez . Ishi Press . ISBN 978-4-87187-801-2.
- Sipser, Michael (2006). Introducción a la Teoría de la Computación . Publicación de PWS. ISBN 978-0-534-95097-2.
- Dasgupta, Subrata (2014). Comenzó con Babbage: la génesis de la informática . Prensa de la Universidad de Oxford . ISBN 978-0-19-930941-2.
- Turing, Dermot (2015). Prof: Alan Turing Decodificado . The History Press . ISBN 978-0-7509-6524-8.
enlaces externos
- Video del partido de ajedrez entre Garry Kasparov y la recreación de Turochamp
- Alan Turing vs Alick Glennie (1952) "Prueba de Turing" en Chessgames.com
- Turochamp (Computadora) vs Garry Kasparov (2012) en Chessgames.com
- PyTuroChamp en GitHub - Implementación de Python de código abierto de Turochamp
- Turochamp en un navegador web , basado en estaversión de Nim : nimTUROCHAMP en GitHub