El legado de Alan Turing

A pesar de ser un personaje absolutamente decisivo en el desarrollo de la Segunda Guerra Mundial (sin él posiblemente hubiera durado más, con más pérdida de vidas, con más sufrimientos), a pesar de ser uno de los padres de la Computación (tanto a nivel teórico como práctico), a pesar de haber revolucionado completamente el criptoanálisis, a pesar de una vida agitada y controvertida, la figura de Alan Turing no ha empezado a ser conocida por el público (fuera de los círculos académicos) hasta hace relativamente poco.

Efectivamente, Alan Turing que nació en Inglaterra hace justamente cien años (es por ello que este 2012 es considerado internacionalmente como el año Turing) lideró el grupo de criptoanalistas británico que consiguió descifrar los mensajes alemanes que usaban la máquina Enigma que se creía inexpugnable. Para conseguir dicho objetivo realizó hasta cinco aportaciones fundamentales al criptoanálisis y participó en el diseño y construcción de Colossus lo que muchos consideran el primer ordenador de la historia. El software (aunque no existía software tal y como hoy lo conocemos) de Colossus fue obra del propio Turing y, sobre todo, de Bill Tutte, muy conocido posteriormente por sus aportaciones a la Teoría de Grafos. sí, si no hablo de grafos me da algo… 😉

Pero el interés de Turing por el criptoanálisis y la informática teórica (sobre todo a esta última) es anterior a la Segunda Guerra Mundial ya que una de sus aportaciones decisivas procede de 1936 cuando publicó un artículo que es una de las bases de dicha disciplina y que supuso el nacimiento del diseño de ordenadores con programas almacenados. En dicho artículo se describe lo que posteriormente se ha llamado una máquina de Turing.

Una máquina de Turing (que es un mero ejercicio mental, no una máquina real) básicamente está constituida por una cinta infinita dividida en casillas contiguas en las que podemos escribir un 0 o un 1 (o no escribir nada) y una cabeza lecto-escritora; esta máquina está gobernada por un programa (sucesión finita de instrucciones) que llevará a la cabeza lecto-escritora a realizar distintas operaciones simples (leer lo que pone la casilla correspondiente, moverse un lugar hacia la izquierda o la derecha, cambiar el valor de la casilla o dejarlo tal y como está). Uno puede pensar que una máquina tan simple está muy limitada, sin embargo es comúnmente aceptado que todo lo que puede hacer un ordenador moderno puede ser realizado por una máquina de Turing. El trabajo en el que Turing presentó su modelo de máquina teórica sentó las bases de lo que es conocido como arquitectura Von Neumann (que perdura hoy en día dividiendo un ordenador en software y hardware) y constituye uno de los tres trabajos fundamentales (y en cierto sentido equivalente) de la teoría de la computación (los otros dos son el famoso teorema de Gödel y el trabajo de Alonzo Church).

Aquí puede verse una máquina de Turing construida con LEGO. Y aquí, la edición de Monopoly en honor a nuestro personaje de hoy.

Pero más que de su máquina, vamos a hablar un poco sobre él. Como dijimos al principio, Turing fue un personaje decisivo en el desarrollo de la Segunda Guerra Mundial ya que fue uno de los líderes de Bletchley Park y sus trabajos permitieron descifrar la mayoría de los mensajes que se transmitían los alemanes. Con ello los aliados disponían de información de primer orden que fue usada en innumerables ocasiones para prepararse ante ataques alemanes o para infligir pérdidas en los flancos más débiles del enemigo. De hecho, su relación con la Inteligencia Militar británica comienza en septiembre de 1938 (un año antes de la guerra). Durante la guerra su labor se centró en descifrar los mensajes elaborados con la máquina Enigma (usada por la marina alemana), para ello diseñó el llamado Bombe, un precursor de los ordenadores diseñado con el objetivo específico de desencriptar mensajes de Enigma. El primer  Bombe entró en funcionamiento a comienzo de 1940 y al final de la guerra había más de doscientas bombas funcionando a pleno rendimiento.

En un ambiente excéntrico con tantos científicos reunidos como era el de Bletchley Park, Turing tenía fama de excéntrico, o sea que…  Una de sus excentricidades consistía en desplazarse a veces corriendo hasta Londres para las reuniones de alto nivel a las que era convocado (Londres está a 60 km de Bletchley Park), ya que era un fanático de recorrer largas distancias corriendo, lo que le llevó a ser un gran maratoniano (su marca en 1949, ya con 37 años, estaba alrededor de las 2 horas y 45 minutos lo cual era sólo unos 10 minutos más lento que el campeón olímpico de la época).

Alan Turing de niño

Aunque al fin y a la postre, la excentricidad que posiblemente llevaría a Turing a su muerte fue su carácter de homosexual. A través de una denuncia que presentó por un robo que había sufrido en su hogar (por parte de un amante ocasional), su homosexualidad salió a la luz y por la misma ley por la que fue juzgado Oscar Wilde más de cincuenta años antes se le ofreció o bien una pena de cárcel o una castración química; optó por esta última y se le presentaron una serie de efectos secundarios que algunos consideran como una de las causas que lo llevó al suicidio en 1954.

Respecto a su suicidio, existen varias leyendas y algunos puntos oscuros. La autopsia determinó que se produjo por envenenamiento con cianuro, junto a su cadáver se encontró una manzana a medio comer, pero la manzana nunca fue analizada y por tanto se desconoce si fue la fuente del envenenamiento. Naturalmente, estos puntos oscuros han motivado el nacimiento de muchas sospechas, pero puesto que su cadáver fue incinerado, es posible que nunca podamos llegar a la certeza de qué fue lo que realmente ocurrió,  aunque no faltan voces que afirmen que no fue algo voluntario…

 

Por cierto, si os interesa  la figura de Turing, tanto el personaje como sus aportaciones a la Computación, Criptografía, Ingeniería o incluso a la Biología, este año, en Madrid, la Real Academia de Ciencias y la Fundación Areces (Madrid) han organizado el mayor evento alrededor de nuestro personaje celebrado  en España en este año de Turing. La inscripción es gratuita y tenéis información sobre El legado de Alan Turing aquí y aquí ¿Nos vemos allí?

30 comentarios

  1. Dice ser falvarez

    Una puntualización: la arquitectura Von Newmann no consiste en la separación entre software y hardware, sino que es aquella arquitectura del computador en que el código ejecutable y los datos se almacenan juntos en el mismo dispositivo de memoria (a diferencia de la arquitectura Harvard, en la que código y datos se almacenan por separado).

    Un saludo.

    10 septiembre 2012 | 10:28

  2. Dice ser Ing.Informático

    Este señor usaba una versión primitiva del kernel de Linux recompilado a medida…

    10 septiembre 2012 | 12:13

  3. Dice ser Kastle

    Ing.Informático

    Sólo te gusta dartelas de importantes y listo en todos lados, pero eres un inútil… de los más inútiles que he visto. Una sencilla cuestión:
    Si Tolvard Linus estuvo desarrollando su microkernel en los 80, ¿cómo es posible que Alan Turing usara una versión primitiva del kernel de Linux (que desarrolló Tolvard Linus) recompilada a medida?

    Para ver si te enriqueces un poco de cultura y dejas de fantasmear con 4 frases para cubrirte de gloria y terminar haciendo el ridículo como viene siendo habitual en ti… Alan Turing fue el genio que aplico la teoría de grafos a la electrónica/mecánica y es el precursor de las computadoras (como bien dice la redactora haciendo referencia al arquitectura Von-Neumann), mucho antes de que alguien siquiera pudiera imaginar los sistemas operativos. Para mas información puedes buscar información sobre «La máquina de Turing», «Lenguajes formales», «Autómatas»…

    A ver si me aclaras de una vez dónde conseguiste la licenciatura… yo creo que fue en la universidad de la pandereta, en Lepe.

    10 septiembre 2012 | 13:21

  4. Dice ser Pepe Lopez

    el microprocesador solo tiene siete puertas logicas que hacen operaciones elementales, or and nor nand not xor exclusiva, es un cutrerio simiesco, la verdad es que estas siete operaciones las entiende un mono, y de tanto repetirlas y montarlas engaña al humano y pareciera que el ordenador hace algo interesante pero tan solo es una burda maquina a inmensa velocidad

    10 septiembre 2012 | 13:41

  5. Dice ser Krugius

    Y aquí, parte de su relación con una máquina que juega al ajedrez, en el homenaje de su 100 aniversario: http://joseluiscruzgarcia.blogspot.com.es/2012/09/kasparov-vs-programa-ajedrez-escrito.html

    10 septiembre 2012 | 13:45

  6. Dice ser Kastle

    @Pepe Lopez también realiza operaciones de control de flujo (igual, distinto, mayor, menor, mayor igual, menor igual… o un subconjunto y el resto negadas ver «lógica de bool»), también realiza operaciones matemáticas (suma, resta, multiplicación y división) sobre números naturales, también tiene un coprocesador que las hace sobre números reales, también gestiona carga/guardado de memoria y también hay coprocesadores con juegos de instrucciones para hacer miles de estas operaciones en paralelo (MMX y superiores). Pero sí en síntesis, vienen a ser unas cuantas operaciones básicas que las entiende un mono ejecutadas a una enorme velocidad.

    10 septiembre 2012 | 13:52

  7. Dice ser Pepe Lopez

    Kastle pufffff, todo eso «se monta» a partir de estas 5 puertas basicas (algunos sacan la XOR que se monta con 2 anteriores), no hay mas, tambien la alu, que una calculadora hace ecuaciones ordinarias paraciales ya a partir de 10 euros… a ver el siguiente … Kastle tu quitate…

    10 septiembre 2012 | 14:14

  8. Dice ser Pepe Lopez

    ecuaciones diferenciales parciales y mas quise decir

    10 septiembre 2012 | 14:15

  9. Dice ser GuillerminGo

    Quiero pensar que el comentario de Ing.informático es una trolada o broma, por que de lo contrario eres más tonto que abundio a la luz de las fechas que se comentan.

    Por otro lado, el nombre correcto es «Linus Torvalds».

    Qué recuerdos me traen este tipo de noticias… una de las pocas asignaturas interesantes (autómatas y lenguajes formales) en la mierda de plan de estudios de las ingenierías informáticas. Más vale que ha venido bologna a … ah no, que bologna sólo empobrece aún más si cabe la educación universitaria ingenieril… Ahora además de mala la educación universitaria es cara (la pública. La privada será aún más cara, pero supongo que con medios decentes)

    10 septiembre 2012 | 14:26

  10. Dice ser Rubén

    Kastle, creo que «Ing.Informático» sólo pretendía bromear, no es para tomárselo así.

    En cualquier caso, Linus nunca trabajó en un microkernel, su diseño original era un kernel monolítico.

    Saludos.

    10 septiembre 2012 | 14:40

  11. Dice ser Kastle

    @Rubén igual pretende bromear en todos los hilos donde siempre postea afirmaciones totalmente falsas donde cualquier que no conozca el tema en profundidad se las puede creer… no viene de esta, va de largo. Eso es cierto, las primeras versiones «cerradas» (antes de que liberara el código después de sus fiascos en los intentos de venta) era un kernel monolítico y no un microkernel.

    @GuillerminGo sí, se me olvidó la s, el cambiar nombre por apellido fue por las prisas porque andaba un poco mosca.

    @Pepe Lopez sí, internamente así es. Los sumadores por ejemplo son un cúmulo de 32 OR con carry, cierto, pero también es cierto que la funcionalidad que te da el procesador es la de sumar sin obligación de montarte el sumador o la ALU por tu cuenta, eso sería más típico de un placa programable de estas viejas donde fundías las celdas… Por cierto, ¿lo de tú quítate iba en tono despectivo? :-S

    10 septiembre 2012 | 15:32

  12. Dice ser Carla

    …si Touring levantara la cabeza y viera la que hay montada…

    Carla
    http://www.lasbolaschinas.com

    10 septiembre 2012 | 15:33

  13. Dice ser Banksy

    > Pepe Lopez
    > el microprocesador solo tiene siete puertas logicas que hacen operaciones elementales, or and nor nand not xor exclusiva
    Si un microprocesador solo tiene 7 puertas lógicas me pregunto para qué cojones valen los 400 millones de transistores restantes.

    > la verdad es que estas siete operaciones las entiende un mono
    Seh, creo que un mono es capaz de implementar un algoritmo de división en coma flotante con doble precisión sin problemas.
    También creo que sería capaz de acotar el error en esa operación.

    > Kastle pufffff, todo eso “se monta” a partir de estas 5 puertas basicas (algunos sacan la XOR que se monta con 2 anteriores), no hay mas
    Y los biestables de los registros? Los de control, del registro de direcciones, los registros de propósito general, del PC, decodificación de instrucciones, jerarquía de memorias, caches de datos y de programa, la MMU, políticas de ubicación y remplazo … todo eso nada, se hace solo no te jode el otro.
    De la superescalación de microinstrucciones y los pipelines hablaremos otro día.

    10 septiembre 2012 | 15:41

  14. Dice ser Pepe Lopez

    Bansky, los transistores son los elementos que forman las puertas logicas, las tres patas del transistor para microprocesador, por una entra o no la corriente, la otra ordena o no si saldra o no, y por la otra saldra el 0 o el uno, segun las dos anteriores, colector emisor base … los 400 millones y muchos mas es la cosa para que todo vaya mas rapido y paralelo o te basta en la pantalla con un solo punto …

    si las operaciones en coma flotante las hacen con esas puertas basicas pues no es mas que un truco matematico de operar con potencias escribir el numero binario en notacion para reducir operacion, a ver la coma flotante es un truco para reducir operacion

    y como se hace un biestable, aqui me das la prueba de que nunca has estudiado nada de informatica ni electronica pues uno de los ejercicios basicos antes ni de la fp es hacer biestables, que se activan por sus flancos de subida bajada etc pero siempre en base a las puertas logicas de los que siempre estan formados a ver que esto no es el libro gordo de Petete estudia algo por tu cuenta

    a ver siguiente y tu quitate, que este es mas flojo todavia, nivel por los suelos

    10 septiembre 2012 | 15:59

  15. Dice ser videochat gratis

    esta muy chulo el primer dib

    10 septiembre 2012 | 16:00

  16. Dice ser Kastle

    > Si un microprocesador solo tiene 7 puertas lógicas me pregunto para qué cojones valen los 400 millones de transistores restantes.
    La mayoría son figuras replicadas para trabajar en 32-64 bits, pero lo cierto es que el chico tampoco se fue mucho de la «base».

    > Y los biestables de los registros? Los de control, del registro de direcciones, los registros de propósito general, del PC, decodificación de instrucciones, jerarquía de memorias, caches de datos y de programa, la MMU, políticas de ubicación y remplazo … todo eso nada, se hace solo no te jode el otro.
    De la superescalación de microinstrucciones y los pipelines hablaremos otro día.

    Bueno, los registros siguen siendo registros: biestables, la decodificación de instrucciones lo mismo que la selección del registro, un multiplexor o demultiplexor. La jerarquía de memorias es un pipeline al fin y al cabo también… respecto lo de políticas de ubicación y remplazo supongo que te referirás a la caché del procesador… que también es un tema interesante. Las MMU son otro «clásico» de un gran mux/demux con reloj manejando una gran banco de biestables manteniendo la relación entre direcciones de memoria y registros del procesador.

    Perdiste la ocasión de mencionar una funcionalidad curiosa, que es como bien dijiste que pasa con el pipeline cuando se procesa un salto mal predicho y en los stages anteriores se han llenado de instrucciones que no se deben procesar por haber tomado la ruta errada… 😉

    10 septiembre 2012 | 16:00

  17. Dice ser -Manu-

    Escucha recomendada: «Un Dígito Binario Dudoso», el disco que ha publicado el grupo Hidrogenesse este año en homenaje a Alan Turing.

    10 septiembre 2012 | 16:06

  18. Dice ser Diarrea Mental

    Yo hace poco también le hice turing a mi coche.

    10 septiembre 2012 | 16:18

  19. Dice ser Banksy

    > Pepe Lopez
    > los transistores son los elementos que forman las puertas logicas, las tres patas del transistor para microprocesador, por una entra o no la corriente, la otra ordena o no si saldra o no, y por la otra saldra el 0 o el uno, segun las dos anteriores, colector emisor base …
    Aprende a escribir y a expresarte porque no se te entiende.
    Por otro lado deberías estudiar algo de electrónica moderna, mencionar «colector emisor base» significa que no tienes ni puta zorra de electrónica basada en transistores FET (cMOS) que son los que actualmente se usan.

    > aqui me das la prueba de que nunca has estudiado nada de informatica
    Doy clases de arquitectura de computadores en la facultad, pero tu mismo, aquí se demuestran dos cosas:
    a) Eres un troll que no aporta nada a la discusión
    b) Que no contestas a mis preguntas porque te superan.
    Tu sigue pensado que un microprocesador es una calculadora, que no se controla el flujo de información que no hay secuencialidad a la hora de dividir, que no existe la entrada salida, y todas esas gilipolleces que has soltado en un segundo …

    Pd. Ni te molestes en contestar, no hablo con gente que no tiene educación y no tiene ni puta idea.

    10 septiembre 2012 | 16:28

  20. Dice ser Calculadora

    ¿Cuantos transistores cMOS hacen falta para una puerta AND?
    ¿Cuántos transistores cMOS hacen falta para una puerta NAND?
    ¿Para qué sirve el PC?
    ¿Va bien una cache con política de ubicación directa para la cache de datos?
    ¿Cuál es el mecanismo óptimo para la política de reemplazo?.
    ¿Va bien una cache completamente asociativa para la cache de instrucciones?.
    ¿Por qué se reserva para el código de operación de una instrucción n posibles códigos cuando no se usa ni el 10%?
    Describe alguna política de prefetch.
    Diferencias entre la Entrada/Salida por interrupciones y DMA.
    ¿Qué es un microprograma?.

    10 septiembre 2012 | 16:51

  21. Dice ser Papua

    Como siempre los informaticos de españa se pelean por tonterías, así nos va.

    Solo nos falta que os peleeis por cual fué el primer ordenador. La respuesta como buen informático debería ser «depende».

    Si quereis vacilar hablad de problemas np, np completos y demás jaja, eso si que era dificil. Así podreis intentar vacilar de conocimientos y abuchear al prójimo, jaja.

    Siempre se descubre al informático malo porque se cree que lo sabe todo y piensa que lo que ha estudiado es muy dificil y todo lo que ve es basura. Huid de ellos como de la peste.

    Por cierto como personaje importante olvidado prefiero a Zuse. Como se lo montaría para hacer en su casa un ordenador a la altura de los que hacía una gran nación.

    10 septiembre 2012 | 16:54

  22. Dice ser Pepe Lopez

    papua pero si aqui no hay ningun informatico, uno que habla de «pipelines»»politica de prefetch» etc eso es terminologia que se le a liado en un gazpacho de lo que se lee en las revistas de pc actual y demas que tanto vende detras de cada revista de estas vendida hay un nuevo informatico de facultad en fin… y ni sabian que una puerta logica esta hecha de transistores esa es toda la solidez del conocimiento la gente

    10 septiembre 2012 | 17:03

  23. Dice ser Calculadora

    # Pepe Lopez
    «ni sabian que una puerta logica esta hecha de transistores»
    ¿De qué tipo de transistores exactamente?
    Aún diría más … puedes contestar si quiera a alguna de las preguntas de arriba? o como me meto no sabes ni de lo que estás hablando y todo tu afán es vacilar.

    10 septiembre 2012 | 17:06

  24. Dice ser Calculadora

    > Pepe Lopez
    Hostia si te han puesto un examen y todo xDDD
    Qué, ni papa, no?

    > ni sabian que una puerta logica esta hecha de transistores esa es toda la solidez del conocimiento la gente
    Eres la hostia tío, te dejan en el más absoluto ridículo y tu sigues en tus trece. xDDDDDD

    Con retrasados como éste así nos va.

    Pd. ¿Hago el cuestionario que te han puesto?, a bote pronto te diré que parece serio; muy pero que muy alejado de tus posibilidades.

    10 septiembre 2012 | 17:09

  25. Dice ser Pepe Lopez

    de nuevo Calculadora «exactamente de que tipo de transistores» la puerta logica, pues mira yo los he hecho de BJT y los hay Mosfet, ahora despues de no saber ni lo basico ni lo elemental, ni el ABC, sigue con tu copy paste de Google de la pagina de Intel IBM puedes ir a la de la Nasa que hay tela pero tela …

    10 septiembre 2012 | 17:10

  26. Dice ser Banksy

    > ahora despues de no saber ni lo basico ni lo elemental
    Creo que saber que una puerta lógica está hecha con transistores es secreto de estado. En qué mundo vives chavalín?

    > pues mira yo los he hecho de BJT
    ¿Transistores bipolares?. Lo que me temía, deja de decir payasadas anda. A cada palabra que dices más me queda claro la poca idea que tienes. ¿Alguna otra payasada que añadir?.

    En realidad son preguntas muy básicas sobre electrónica, campo que a todas luces queda a años luz de tu comprensión. xDD. Podías contestar las más básicas; al fin y al cabo puedes buscarlas en la wikipedia claro que para eso hay que saber leer.

    10 septiembre 2012 | 17:18

  27. Dice ser Pepe Lopez

    en fin esta bien que la gente aprenda lecciones basicas aunque le cueste, y luego se distraiga con las revistas y el copy paste, la cosa es que uno se aburre del bajo nivel

    10 septiembre 2012 | 17:35

  28. Dice ser Banksy

    > en fin esta bien que la gente aprenda lecciones basicas aunque le cueste
    Como la humildad del que no tiene ni puta zorra, a saber TU. De nada por la lección.

    > y luego se distraiga con las revistas y el copy paste,
    Yo prefiero que sigas diciendo estupideces sobre lo que no sabes. Son la hostia de divertidas. Me he partido el ojete.

    > la cosa es que uno se aburre del bajo nivel
    Es por eso que no has contestado ni la que se supone que sabes …
    ¿Cuántos transistores hacen falta para una puerta AND?.
    Ni zorra, eh?. Si no tienes ni puta zorra de electrónica digital es lo que tiene. A mamarla a parla y a vacilar a los paletos del bar de tu pueblo. Experto!.

    Vuelve cuando quieras a hacer el puto ridículo!

    10 septiembre 2012 | 17:50

  29. Dice ser Pepe Lopez

    ¿Cuantos transistores cMOS hacen falta para una puerta AND?…
    ¿Cuántos transistores hacen falta para una puerta AND?…

    Te ha costado la leccion, elemental, bastante en fin no hace falta ni que me des las gracias

    10 septiembre 2012 | 17:55

  30. Dice ser D4vid

    Ya conocía la historia de Turing (soy gay, con media carrera de matemáticas, y me encanta la criptografía, así que como para no conocerla 🙂 ), pero siempre me gusta volver a oirla.
    Gracias por contarla 😀

    Por cierto, aquí esta la película de Breaking the Code en youtube, que es algo así como su biografía: https://www.youtube.com/watch?v=S23yie-779k

    Saludos

    10 septiembre 2012 | 18:35

Los comentarios están cerrados.