Alan Turing: El genio que descifró el código nazi e inventó la computadora

¿Sabías que Alan Turing, genio matemático e informático británico, inventó la computadora y, además, ayudó a derrotar a los nazis? Descubre todos los grandes aportes de Alan Turing en este nuevo blog.

Diseño web
8 minutos
Hace 2 años
Alan Turing: El genio que descifró el código nazi e inventó la computadora

¡Accede a cientos de cursos
con solo un pago al año!

Blog Microbanner

En 1936, 10 años antes de que se construya la primera computadora, un hombre la creó en su mente. Y ese producto de su imaginación sirvió de base para toda la informática hasta nuestros días.

Ese mismo hombre encontró la forma de romper los códigos nazis y ayudó a que la Segunda Guerra Mundial terminara dos años antes y a salvar, indirectamente, a catorce millones de vidas. El mismo hombre fue quien diseñó la prueba más importante para determinar si una computadora puede pensar o no. Y pasar ese test ha sido el objetivo de la inteligencia artificial hasta nuestros días: 70 años después.

Se considera una de las mentes más brillantes de la historia y se llama Alan Turing. Ponte cómodo para leer y aprender, porque estás en EDteam y en español, nadie te explica mejor.

1. La máquina de Turing

Juventud

Alan Turing nació el 23 de junio de 1912 en Londres, fue hijo de una familia adinerada, pero casi no veía a sus padres porque ellos trabajaban en la India (en los tiempos en que India era colonia británica), así que Turing estudió en internados, donde se aficionó por las matemáticas y luego ingresó al King’s College (o colegio del rey) de Cambridge, una de las universidades más importantes del Reino Unido.

El problema de la decisión de Hilbert

En esos tiempos, David Hilbert era el matemático más importante en Europa y estaba obsesionado con definir un lenguaje formal que expresara todas las matemáticas a través de símbolos. En la opinión de Hilbert, y que era respaldada por casi todos los matemáticos de su tiempo, en la matemática no existía nada supuesto ni indemostrable. Por poner un ejemplo, en 1910, Bertrand Russel y Alfred North Whitehead publicaron “Principia Mathematica”, un libro en el que ¡se tomaron 360 páginas solo para demostrar que uno más uno es dos!

Para definir toda la matemática, Hilbert planteó tres preguntas (que supuestamente debían contestarse con: sí, sí y sí):

  1. ¿Las matemáticas son completas?
  2. ¿Las matemáticas son coherentes?
  3. ¿Existe un conjunto de pasos para determinar si un enunciado es verdadero o falso?

Esta última pregunta es la que se conoce como el Problema de la decisión o Entscheidungsproblem, y buscaba que no existieran enunciados imposibles de demostrar, como la conjetura de Golbach o la conjetura de Collatz, que si no sabes qué son, puedes googlearlas, ya que son muy fáciles de entender pero imposibles de demostrar.

Teorema de la incompletitud de Godel

Kurt Godel, a los 25 años, presentó su famoso teorema de la incompletitud, que dice que las matemáticas son un sistema incompleto y que para poder resolver todos sus problemas, tenemos que aceptar cosas no demostrables e incluso inventarnos respuestas.

Un ejemplo clásico son las paradojas del tipo: Esta afirmación es falsa, que si es verdadera, entonces es falsa y viceversa.

Con este teorema, Godel respondía con no y no a las dos primeras preguntas de Hilbert. Y de paso, puso patas arriba al mundo de las matemáticas.

On computable numbers

¿Y qué tiene que ver todo esto con Turing? ¡Tiene todo que ver! Porque Turing respondió que no a la tercera pregunta de Hilbert y lo hizo con una computadora, ¡10 años antes de que se construya la primera computadora!

¿Cómo es esto posible? Sucede que en 1936, Turing escribió un ensayo titulado “On computable numbers”, que, en sencillo, decía que existen dos tipos de números: los computables (que se pueden calcular con una serie de pasos o algoritmo) y números no computables (de los que no existe algoritmo alguno para llegar a ellos).

Esto respondía con un no a la última pregunta de Hilbert y dio inicio a la era de la informática porque para responder a esa pregunta inventó una computadora.

La máquina de Turing

En esos tiempos, las computadoras eran seres humanos que hacían cálculos siguiendo una serie de instrucciones. Entonces, Turing pensó que podía diseñar una máquina que haga lo mismo que una computadora humana: resolver cualquier problema lógico si se le dan una serie de instrucciones.

Hay que tener en cuenta que la máquina de Turing es solo un modelo teórico que Turing jamás construyó y que fue la base para las primeras computadoras de la historia, e incluso, las de la actualidad.

La máquina de Turing tenía un funcionamiento increíblemente sencillo pero a la vez eficaz:

  1. Consistía en una cinta de papel que puede ser infinita

    funcionamiento-maquina-Alan-Turing-EDteam.png

  2. Esta cinta está dividida en cuadros del mismo tamaño

    como-funciona-maquina-Alan-Turing.png

  3. Cada cuadro podía tener un cero, un uno, o un espacio en blanco.

    funcionamiento-de-la-maquina-de-Alan-Turing-EDteam.png

  4. También tenía un cabezal que leería el cuadro en el que se encontraba (solo uno a la vez) y que además podía borrar y escribir en ese cuadro (sí, un CRUD completo). Ese cabezal también puede moverse hacia adelante o hacia atrás en la cinta.

    maquina-alan-turing-funcionamiento-EDteam.png

  5. Dentro del cabezal hay una pequeña memoria interna que contiene los estados.

    maquina-alan-turing-EDteam.png

  6. Cada vez que el cabezal lee un cuadro pasa lo siguiente:

    1. Escribe un nuevo valor en ese cuadro (o lo borra o lo deja tal cual)
    2. Cambia de estado
    3. Se mueve a la derecha o a la izquierda.
  7. ¿Y cómo sabe si escribir, borrar o dejar igual el valor del cuadro? Además, ¿cómo sabría a qué estado cambiar? ¿O si moverse a la izquierda o a la derecha? Gracias a algo que Turing llamó “Tabla de instrucciones”, pero que hoy conocemos simplemente como “programa” o “algoritmo”. Esa tabla de instrucciones sería el primer lenguaje ensamblador de la historia.

  8. Por ejemplo, la siguiente tabla de instrucciones dice que, si el cabezal está en el estado $q_1$ y el símbolo leído es 0, escriba 0 en el cuadro y pase al estado $q_2$. Si está en el estado $q_2$ y lee $1$, debe moverse dos veces a la derecha ($Right, Right$), imprimir 1 ($P1$) y luego pasar al estado $q_3$

la-maquina-de-alan-turing-EDteam.png

Con este modelo, que era una abstracción de una computadora, Turing demostró que con el conjunto adecuado de instrucciones, la máquina podría resolver cualquier problema. Y este sencillo modelo, aunque no lo creas, es la base de todas las computadoras, hasta las actuales.

En 2012, por el aniversario 100 del nacimiento de Turing, Google lanzó un doodle con una pequeña máquina de Turing.

2. Los códigos Nazi (Enigma y Tunny)

Bletchley Park

Cuando estalló la Segunda Guerra Mundial en 1939, Turing fue convocado a la Goverment Code & Cypher School (GC&CS) para trabajar en el descifrado de las comunicaciones alemanas. El grupo de codebreakers (o criptoanalistas) se instaló en una antigua mansión llamada Bletchley Park, al norte de Londres, en donde trabajaban organizados en cabañas.

En 1940, Francia se rindió ante Alemania y el Reino Unido se quedó sin aliados en Europa. El plan alemán era sitiar de hambre al Reino Unido, rodeándolo de submarinos que hundirían a los barcos que llevaban suministros como combustible, armas o comida. La única manera de evitar que eso pasara era interceptar y descifrar las comunicaciones alemanas para saber la posición de los submarinos y desviar a los barcos.

Pero había un problema: los submarinos se comunicaban con una máquina llamada Enigma que se creía indescifrable. Esta era parecida a una máquina de escribir y tenía varias versiones, de las cuales, la más segura era la de los submarinos.

¿Cómo funcionaba Enigma?

En sencillo, la máquina Enigma remplazaba una letra por otra, así de fácil. El operador pulsaba una letra en el teclado y otra se iluminaba en el panel.

como-funcionaba-enigma-EDteam.png

Lo complejo era que tenía cientos de miles de millones de combinaciones posibles. Así es como funcionaba:

  1. Enigma tenía tres rotores que cambiaban una letra por otra. Antes de empezar a cifrar un mensaje el operador giraba los rotores a una posición determinada.

  2. Además tenía unos clavijeros que formaban parejas de letras para remplazarlas.

    como-funcionaba-enigma-nazis-EDteam.png

  3. Entonces, cuando un operador pulsaba una letra en el teclado, esta se transformaba por otra en el clavijero.

    enigma-nazis-turing-como-funcionaba-EDteam.png

  4. Luego se transformaba por otra en el primer rotor, por otra en el segundo rotor y por otra en el tercer rotor. Cada vez que un rotor cambiaba una letra, también cambiaba de posición, cambiando toda la configuración de la máquina.

    enigma-funcionamiento-EDteam.png

  5. Después se hacía todo el proceso al revés. Primero los rotores (que volvían a cambiar de posición cada vez que cambiaban una letra).

    funcionamiento-enigma-nazis.png

  6. Luego los clavijeros:

    funcionamiento-enigma-nazis-EDteam.png

  7. Y el resultado se iluminaba en el panel.

    como-funciona-el-codigo-enigma-nazis-EDteam.png

  8. El operario de la máquina iba anotando cada letra iluminada y una vez que tenía el mensaje resultante, lo enviaba por código morse al receptor, que hacía el proceso a la inversa: introducía el mensaje cifrado en Enigma y en el panel de luces aparecían las letras del mensaje.

¿Cómo se descifró Enigma?

Para descifrar Enigma se necesitaba saber la posición de los rotores y de los clavijeros. Y considerando la cantidad de combinaciones posibles, ir probando una por una no era una opción (los operadores nazis sabían las posiciones porque recibían las instrucciones al inicio de cada mes).

Así que los codebreakers analizaban los mensajes para encontrar palabras que tenían mucha probabilidad de aparecer (como Hail Hitler). Y puesto que una letra nunca se cifraba como sí misma, podían buscar manualmente si existían repeticiones para descartar esa opción o aceptar esa opción.

Por ejemplo, si suponemos que se ha cifrado EDteam por XAMXQJ podemos descartar esa opción porque la misma letra E que se repite en el mensaje original, se repite también en el mensaje cifrado.

como-se-descifró-enigma-alan-turing-EDteam.png

Pero aun así, el avance era muy lento y eran pocos los mensajes que podían descifrarse, así que Turing diseño una máquina llamada Bombe, inspirada en otra máquina que habían creado antes los polacos para descifrar una versión menos segura de Enigma.

Y puesto que Enigma se descifraba con la misma Enigma, la Bombe de Turing era una réplica de 36 máquinas Enigma con sus rotores y clavijeros. A esta máquina se le introducían las configuraciones que se suponía que debería tener la máquina y esta descartaba la opción si encontraba colisiones o letras repetidas, como te expliqué más arriba. Este trabajo de reconfigurar y recablear las bombas era muy arduo y se trajeron a más de dos mil mujeres a Bletchey Park para que la máquina trabajara 24 horas, los siete días a la semana.

Pero todo no el trabajo se hizo en Bletchley Park, ya que se ejecutaron operaciones militares para apoderarse de las instrucciones de Enigma de los barcos y submarinos. Y aunque nunca se obtuvieron las instrucciones completas, solo fragmentos, porque los alemanes tenían la orden de deshacerse de Enigma y sus instrucciones si eran atacados, aun así Turing logró deducir las partes faltantes a pura fuerza mental.

Llegó un punto en que los codebreakers leían los mensajes al mismo tiempo que los receptores alemanes. Gracias a esto, los submarinos no pudieron derribar más barcos y para evitar sospechas, el gobierno británico filtró la información falsa de que tenían un nuevo tipo de radar que detectaba la posición de los submarinos.

Tunny, Coloso y el fin de la guerra

Luego de Enigma, los alemanes crearon una máquina superior llamada Lorenz (que los británicos llamaron Tunny) que no podía ser descifrada por las bombas de Turing, pues se requería el poder de una máquina electrónica (las bombas eran electromecánicas). Así que se convocó a Tommy Flowers a Bletchley Park, quien trabajó en la creación de la primera computadora electrónica de la historia: Colossus, y que estuvo basada en el diseño de la máquina de Turing.

El equipo de Flowers construyó Colossus en 11 meses y se usaron las mismas estrategias de Turing en el descifrado de los mensajes nazis, solo que con mayor poder de cómputo.

Colossus empezó a funcionar en 1943 y se descifraron mensajes del mismísimo Hitler. Así se supo que la guerra estaba a punto de terminar, ya que sus generales le pedían permiso para retirarse y Hitler se los negaba.

Gracias a estas filtraciones, los alemanes se quedaron sin combustible y puestos estratégicos. El 6 de junio de 1944, las tropas aliadas (entre las que se encontraba Estados Unidos) desembarcaron en Normandía (en el día D), haciéndole creer a los alemanes que desembarcarían al norte, en Calais.

El desembarco de Normandía fue el inicio del fin de la guerra, pues menos de un año después, el 8 de mayo de 1945, Alemania se rindió (Hitler se había suicidado una semana antes).

La guerra había terminado.

Luego de la guerra, los Colosos de Flowers fueron destruidos por orden del gobierno y los codebrekers despedidos. No solo eso, sino que nunca recibieron nunca el reconocimiento que merecían por haber adelantado en 2 años el final de la guerra y salvar indirectamente la vida de 14 millones de personas.

Y si eso te parece mucho, tenían prohibido decirle a alguien en qué habían estado trabajando, desde 1939 a 1945, para mantener el secreto de Bletchey Park.

Turing nunca pudo contarle de sus logros ni a su propia madre. Y todo su trabajo quedó en estricto secreto hasta el año 2000, cuando se reveló un informe escrito por tres criptoanalistas compañeros de Turing.

3. La computadora de Turing

Luego de la guerra, Turing se unió al Laboratorio Nacional de Física (o NPL) por convocatoria de John Womersley, que había leído “On computable numbers” y quería construir la computadora de Turing, pero electrónica. A esta computadora se le llamó ACE (Automatic Computing Engine) y trabajarían en ella los dos genios de Bletchley Park: Martin Flowers en la construcción y Alan Turing en el diseño.

El objetivo de Turing era que la computadora fuera más rápida, no por hardware, sino por su diseño lógico. Con estos dos genios juntos, el camino estaba servido para hacer realidad la primera computadora de Turing (el Colosus no lo era porque tenía una única función, no era universal).

Lamentablemente, Flowers fue presionado para restaurar el sistema telefónico de Gran Bretaña y abandonó el proyecto (nadie sabía que era un genio de las computadoras). Luego vino Harry Huskey desde Estados Unidos, quien propuso crear una versión pequeña del ACE, a la que llamó Test Assembly, pero a Turing no le gustó la idea, así que no trabajó en ella. Y en eso estaban hasta que llegó un nuevo director al departamento de electrónica que mató el proyecto Test assembly por pura hambre de poder.

Turing, cansado, se va del NPL y acepta una oferta de Max Newman para trabajar con él en Manchester. Finalmente, el proyecto ACE quedó en manos de Jim Wilkinson, quien terminó de construir un piloto del ACE en 1951 (que Turing nunca usó) y a partir de ese piloto se crearon otras computadoras como el DEUCE y el Bendix G-15.

El ACE pudo ser la primera computadora universal de la historia, pero por tonterías burocráticas, se demoró tanto que Estados Unidos ganó esa carrera.

4. La inteligencia artificial y el test de Turing

En 1950, Turing escribió su segundo tratado cumbre: “Computing machinery and intelligence”, donde se planteaba la pregunta: ¿Las máquinas piensan?. Turing creía que, puesto que una computadora sigue una secuencia de pasos lógicos, y es lo mismo que hacemos los seres humanos, entonces las computadoras podrían pensar.

Puesto que, para definir si una máquina pueden pensar, debemos definir primero de qué tipo de máquinas estamos hablando y qué entendemos por pensamiento, Turing diseñó una prueba que eliminaba todos los debates.

Esta prueba se llamó “El juego de la imitación”, aunque la historia lo recuerda como “El test de Turing” y consistía en lo siguiente:

  1. Tenemos un tres jugadores: un juez, una máquina y una persona.
  2. El juez, la máquina y la persona se encuentran en habitaciones separadas y no pueden verse ni oírse, solo se pueden comunicar por texto.
  3. Entonces, el juez podría preguntar por turnos, tanto a la persona como a la máquina, y si al finalizar no puede diferenciar quién es la máquina y quien la persona, la máquina ha pasado el test y puede pensar.

como-funcionaba-el-test-de-alan-turing-EDteam.png

Obviamente, esta propuesta causó mucho rechazo, incluso entre otros especialistas de la tecnología, quienes se burlaban de Turing. Pero con el tiempo, este test se convirtió en un clásico de la inteligencia artificial y se buscó siempre superarlo.

Como ejemplo, antes que Steve Jobs muera le mostraron el prototipo de Siri y Jobs le hizo el test de Turing, aunque Siri no lo pasó. Alan Turing había pronosticado que faltaban 100 años para superar este test, o sea, para el año 2050.

Pues se equivocó, porque el test de Turing se superó en el 2014, 64 años después, por el chatbot Eugene Goostman que logró engañar al tercio de los jueces en un certamen. Si bien hubo mucha discrepancia por si realmente había pasado o no el test de Turing, podemos decir con certeza que para 2023, y con la explosión de la IA generativa, el test de Turing ha sido ampliamente superado.

5. Su procesamiento y muerte

Juicio y castigo a Turing

Alan Turing descubrió su homosexualidad durante su adolescencia, cuando se enamoró de un compañero llamado Cristopher, el cual murió de tuberculosis y le dejó una profunda herida. Sin embargo, su orientación sexual nunca fue un problema para él hasta diciembre de 1951, en la temporada en que Turing grababa un programa de radio para la BBC sobre las máquinas pensantes. Turing conoció a Arnold Murray y entabló una relación con él.

En esos días, Turing sufrió un robo en su casa (aparentemente de un amigo de Murray) y cuando hizo la denuncia en la policía, terminó confesando su relación homosexual. Para ese año, este tipo de relaciones era un delito en el Reino Unido (dejaría de serlo recién en 1967) así que Turing se enfrentaba a una pena de cárcel.

Max Newman, su mentor en Cambridge, declaró en el juicio e insistió en lo que se perdería la ciencia si Turing era llevado a prisión, por lo que se cambió la sentencia a 12 meses de libertad provisional y un tratamiento médico que consistía en inyectarle hormonas femeninas durante un año (una castración química), castigo que duró hasta mediados de 1953.

Esa fue la recompensa que recibió de su país luego de ayudar a salvarlo.

Muerte de Turing

Turing fue encontrado muerto la tarde del martes 8 de junio de 1954 por su ama de llaves, con un líquido blanco y espumoso alrededor de su boca, con el olor del cianuro y una manzana envenenada en su mesita de noche, con la huella de una mordida.

Se dice que Turing se suicidó después de haber caído en una profunda depresión por el tratamiento inhumano que recibió por su homosexualidad, que le ocasionó serios trastornos en su cuerpo. De ser así (y esta es la versión oficial) la muerte de Turing es una de las más grandes injusticias de la historia.

Sin embargo, la madre de Turing nunca aceptó la versión del suicidio, y existen teorías de que pudo aspirar cianuro de su laboratorio, o que la manzana se habría infectado sin que él lo notara. Incluso teorías más extremas dicen que pudo ser asesinado por agentes secretos rusos porque estaban en plena guerra fría. Pero son eso, teorías.

Cuando le preguntaron a Steve Jobs si el logo de Apple con la manzana mordida era un homenaje a Alan Turing, él dijo que no, que en realidad no conocía la historia y que era una coincidencia. Pero que le habría encantado que fuera cierto.

Perdón oficial

En 2009, Gordon Brown, primer ministro inglés, dio una disculpa pública a Turing; sin embargo, en 2012 el gobierno denegó el indulto, aduciendo que en 1953 la homosexualidad era un delito. ¡En 2012, cuando se cumplían 100 años de su nacimiento!

El perdón oficial llegó recién en 2013 por la reina Isabel II.

Y aun así, sin contar lo retrógrada que es ofrecerle una disculpa póstuma y luego negársela, es incorrecto hablar de perdón a Turing. Es el gobierno quien le debía disculpas a Turing y no al revés.

6. El legado de Alan Turing

legado-alan-turing-EDteam.png

Albert Einstein dijo una vez que la imaginación es más importante que el conocimiento. Y con Alan Turing esta afirmación se cumple al 100%. Turing diseñó las computadoras en su cabeza, resolvió en su mente los acertijos de la máquina Enigma y sí construyó las bombas, fue para acelerar la parte mecánica del trabajo. Turing también imaginó un test para evaluar la inteligencia artificial, 64 años antes de que este sea superado. ¡Sin duda la imaginación te puede llevar a donde el conocimiento no puede!

La historia de Turing también nos enseña el atraso que ocasionan los prejuicios contra las personas que piensan diferente. ¿Cuánto más habría hecho Turing de no haber muerto tan joven? Nunca lo sabremos. Pero es seguro que así como adelantó el fin de la guerra un par de años, habría adelantado el desarrollo de la tecnología por varios años.

Pocas personas han tenido tanto impacto en el mundo de la tecnología como Alan Turing y la computadora que estás usando para leer este blog, ya sea un celular, una tablet o una laptop, está basada en el diseño de Turing ¡de hace casi 90 años!

Hoy conoces su historia y su legado. Y cuando alguien te pregunte, ¿cómo sabes tanto sobre Alan Turing? Respóndele que lo aprendiste en EDteam.

Comentarios de los usuarios