ALAN MATHISON TURING
(1912-1954)
Uno de los padres de la computación
Alan Mathison Turing es, sin duda, uno de los padres de la ciencia de la computación4. Y no solo eso, por su impacto en el futuro, puede ser considerado sin problema como uno de los grandes científicos del siglo xx. El modelo matemático que representa la computación sería él quien lo haría conocido, pero desgraciadamente no en vida, ya que tuvo diversos problemas que truncaron una carrera que pudo dar mucho más. Aun cuanto todo lo que logró es enorme, mantengo una cierta tristeza por no saber todas las otras cosas que pudo haber logrado. Sin embargo, el nombre de Turing brilla en lo alto de la computación, pues fue él el que dio respuesta a una de las preguntas más fundamentales: «¿Qué es computable?». Tras responder a esa pregunta, nació todo lo demás.
1.1 PRIMEROS AÑOS
Nació en Maida Vale, Londres (Reino Unido), en 1912. Su padre, Julius Mathison Turing, fue miembro del servicio civil indio, y su madre, Ethel Sara Stoney, fue hija de un ingeniero de ferrocarriles de Madras5; la pareja se casaró en la India.
Turing estudió parte de su primaria, entre sus 10 y 13 años, en la escuela Hazelhurst Preparatory School, en el condado de Frant Sussex (hoy, East Sussex). Allí y a temprana edad mostró un interés por seguir sus propias ideas, así lo atestiguan algunos de sus biógrafos: «Parecía ser un alumno “medio o bueno” en la mayoría de las asignaturas, pero estaba muy ocupado en seguir sus propias ideas». Tuvo algunas incursiones en el ajedrez y en la sociedad de debate. Luego, a sus 13 años, haría un examen (Common Entrance Examination)6 para entrar a la escuela de Sherborne School.
Una anécdota es que, allá por 1926, había una huelga general que obligaba a Turing a correr 95 kilómetros de su casa a la escuela. Algo que para él no era tan difícil, pues era un gran atleta al que le apasionaba correr grandes distancias. En su nueva escuela tuvo problemas para adaptarse, y además fue muy criticado por su caligrafía en inglés. Pero muchos de los problemas surgieron porque Turing siempre fue un pensador libre, independiente, que buscaba sus propias soluciones a los problemas; es más, por ejemplo, en sus clases de matemáticas tuvo problemas con sus profesores porque no seguía los métodos que les enseñaban, él prefería inventar sus propias maneras para afrontar sus problemas.
A pesar de ello, en su escuela Sherborne School ganó casi todos los premios en matemáticas. Tales fueron su impulso, voluntad y obstinación que ya por aquellos años —antes incluso de tener 18 años— se había adentrado en las matemáticas avanzadas. Como atestigua uno de sus biógrafos, «leyó los trabajos de Einstein sobre la relatividad y también leyó sobre la mecánica cuántica en la obra de Eddington, La naturaleza del mundo físico» (O’Connor y Robertson, 2003). (Se podría inferir entonces que le hubieran parecido muy interesantes los avances en la computación cuántica, que comenzaron a ser un tema de investigación en la década de 1980 [y que hoy se mantiene más vigente que nunca y cambia por completo la forma de operar de la computación clásica propuesta por Turing]).
Turing, desde pequeño, fue solitario y retraído a sus propias ideas, a su propia creatividad. Años más tarde, por 1928, Turing tendría al que sería su único amigo de infancia, Christopher Morcom (un alumno de un año más que él), con el cual podía compartir su pasión por las matemáticas y las ciencias. Turing sentía una enorme estima por él, ya que habían conectado intelectualmente. Sin embargo, por desgracia Morcom murió en 1930 y, como muchos de sus biógrafos señalan, este hecho lo marcó para el resto de su vida.
En 1931 entró a estudiar matemáticas en el King’s College, en Cambridge (estaría aquí hasta 1934). Allí pudo sentirse mucho más a gusto que en sus anteriores escuelas, pues Cambridge es un lugar donde no es extraño encontrar a personas poco «convencionales» o, para decirlo de otra manera, personas con un gran deseo creativo y con una personalidad más introvertida. Ya en 1933 había tenido la oportunidad de leer a Bertrand Russell, su libro Introduction to mathematical philosophy; no obstante, no sabemos hasta qué punto este libro lo influyó. Lo cierto es que se podría suponer que sí, pues más adelante tuvo inclinaciones a escribir textos con una óptica filosófica. Algo donde Russell destacó.
Más o menos por esos mismos años, Turing también leyó a Von Neumann, y su trabajo sobre mecánica cuántica (un tema que también le apasionaba). Asimismo, comenzó a tener su primera aproximación a la lógica matemática, un área que gozaba de un fuerte desarrollo por esos años. Uno de sus biógrafos, Andrew Hodges, autor de una de las mejores biografías de Turing hasta la fecha, mencionó el interés de Turing por las matemáticas y la lógica, y demostró que una visión puramente logística era errónea (Hodges, 1997).
Por otro lado, era la época en que el partido nazi de Hitler había llegado al poder en Alemania, lo que puso en alerta a muchas naciones de Europa, y, como sabemos, más tarde vendrían tiempos de gran agitación. Por ello, ya en el Reino Unido había grupos que estaban en contra de una posible guerra, «Turing se unió al movimiento antibélico, pero no derivó hacia el marxismo, ni hacia el pacifismo, como ocurrió con muchos» (O’Connor y Robertson, 2003). Su labor, en cambio, consistió siempre más bien en apoyar a su país con su conocimiento teórico, principalmente en temas de criptografía, como veremos brevemente en las páginas que siguen.
1.2 EL PROBLEMA DE LA DECISIÓN
Graduado en 1934, Turing tuvo contacto con el trabajo de Kurt Gödel7 (teorema de incompletitud) y el problema propuesto por David Hilbert8 (conocido en alemán como Entscheidungsproblem, en español, problema de la decisión) sobre la decibilidad, el cual reza: «Dada una proposición matemática, ¿existe un algoritmo que pueda dar una respuesta a si la proposición es verdadera o falsa?». Turing comenzó a trabajar en este problema, que luego sería él que daría la respuesta a lo que es computable o no. Inició una nueva era.
En ese mismo periodo, 1935, fue elegido compañero (Fellow) de la King’s College, en Cambridge, por su trabajo de tesis llamado On the Gaussian error function, el cual probó resultados fundamentales en el área de la teoría de las probabilidades. A tal contribución se la conoce como el teorema del límite central. Por ello, en 1936 ganó el Premio Smith.
Volviendo al desafío propuesto por Hilbert, Turing, más tarde, haría una demostración negativa, es decir, expondría que tal algoritmo no existe, con lo que echaría por tierra la idea de Hilbert de demostrar la decibilidad de cualquier proposición matemática.
1.3 SOBRE LO QUE ES COMPUTABLE
1936 sería un año mágico para Turing —aunque probablemente él nunca alcanzó a vislumbrarlo—, ya que publicaría uno de los artículos más influyentes en la historia de la informática. Titulado On Computable Numbers, with an application to the Entscheidungsproblem, efectivamente marcaría el inicio de una nueva área del conocimiento. En él, Turing presentaría una máquina abstracta, un modelo matemático que representa el concepto de computar. En el artículo, Turing llama a este modelo a-machine (automatic machine), en la actualidad lo conocemos simplemente bajo el nombre de máquina de Turing.
Además, y para evitar confusiones, Turing no inventó el ordenador, más bien fue el artífice del modelo matemático de cómo se realiza la computación, esto es, su aporte fue teórico. Fue un lógico-matemático, no un ingeniero. Turing trabajó más con lápiz y papel que con aparatos físicos. Luego, otros grandes pensadores, a saber, Von Neumann, llevarían sus ideas a algo aplicado, a algo real, a algo concreto, ¿a qué? A la primera arquitectura del ordenador digital.
La máquina de Turing consiste en una cinta (infinita) compuesta de celdas, con un cabezal que puede ir escribiendo o borrando un símbolo en cualquier celda. Turing escribió:
Algunos de los símbolos anotados formarán la secuencia de cifras que es el decimal del número real que se está calculando. Los demás son solo notas aproximadas para «ayudar a la memoria». Solo estas notas aproximadas serán susceptibles de ser borradas.
[…] la máquina de cálculo es una máquina que puede hacer el trabajo de cualquier máquina de propósito especial, es decir, realizar cualquier trabajo de cálculo, si se le inserta una cinta con las «instrucciones» adecuadas. (Newman, 1955)
En el párrafo previo (en negrita) se puede ver que Turing demostró la existencia de una máquina universal, pues la idea de «inserta una cinta de instrucción» es similar a copiar el código de un programa en otro ordenador, compilarlo y ejecutarlo. En efecto, Turing daría los primeros bosquejos de lo que sería no tan solo el funcionamiento de un ordenador, sino también de lo que conocemos como lenguajes de programación9. (Cabe señalar que, cuando en su artículo Turing hablaba de máquina, se refería a una persona; por aquel entonces a una persona que hacía una tarea rutinaria para resolver un problema se la llamaba «computer» [que vendría siendo «computador» u «ordenador»]).
Algo notable y que inspiró la película Código Enigma10 es la labor secreta de Turing en la lucha contra la Alemania nazi en la Segunda Guerra Mundial. Cada bando debe tener un sistema de mensajería para comunicar las órdenes que se dan de un lugar a otro; por eso mismo, y para evitar que esos mensajes caigan en manos enemigas, es necesario un sistema de encriptado. Para ello, los nazis tenían la máquina Enigma, y por aquellos años dicho aparato parecía intratable, «las máquinas Enigma de la armada alemana eran mucho más difíciles de descifrar, pero este era el tipo de desafío con el que Turing disfrutaba», así pues, el trabajo de Turing fue decisivo en el triunfo de los aliados en el combate, pues consiguió, junto a otras personas, desencriptar los mensajes de Enigma.
Así, junto a otro matemático, William Gordon Welchman, Turing desarrolló la Bombe (véase la figura 1), una máquina que tomaba lo mejor de los trabajos que venían realizando los matemáticos polacos desde finales de 1940 (descifrando los códigos de Enigma de la Luftwaffe [fuerza área]). Con esta nueva máquina Turing incorporó métodos estadísticos que permitieron descifrar los códigos de la marina alemana en su estadía en Bletchley (O’Connor y Robertson, 2003).
Figura 1. Máquina electromecánica Bombe11.
Al término de la guerra, Turing fue invitado al National Physical Laboratory de Londres, para construir un nuevo ord...