15/09/2012

La Luna oculta a Júpiter

Las órbitas de los planetas del sistema solar están casi en un mismo plano. También las de los satélites y muchos otros cuerpos menores. Esto no es una casualidad, sino una rigurosa consecuencia de las leyes de la física durante las etapas tempranas de la formación de un sistema estelar. Cuando una nube de gas y polvo interestelar empieza a contraerse bajo su propio peso, empieza a girar cada vez más rápido (como una patinadora cuando junta los brazos). La fuerza centrífuga debida a la rotación hace que la nube se vaya aplanando en la dirección del eje de rotación y estirando en el plano perpendicular a él. En no más de 100 mil años (un parpadeo en la vida de una estrella) la nube se achata formando un disco alrededor de la proto-estrella. En ese disco se forman los planetas y otros cuerpos menores, y la mayoría de ellos allí quedan orbitando para siempre.

Vistas desde la superficie de la Tierra todas estas órbitas ocupan una franja estrecha del cielo, un camino por el que van y vienen el Sol, la Luna y los planetas. En estos vagabundeos zodiacales se acercan y se alejan unos de otros. Conjunciones, eclipses, tránsitos, ocultamientos, son todos eventos mutuos en los que distintos cuerpos se aproximan en el cielo, y hasta se superponen, tapan, ocultan. Algunos son relativamente comunes, otros muy raros. En este blog somos fanáticos de estos eventos y no nos perdemos uno. Así que el sábado pasado, cuando una inesperada mejoría meteorológica limpió el cielo de Bariloche, nos apresuramos a sacar el telescopio al jardín para observar... ¡un ocultamiento de Júpiter por la Luna!

Cuando tenía unos 10 años leí con estupor en el diario La Prensa: "La Luna ocultará a Júpiter a fin de mes". ¿Qué? ¿Cómo era posible? Y sobre todo ¿cómo sabían? En esa época no tenía ni un miserable binocular, así que no pude ver el evento. Bueno, este sábado me puse al día. Poco antes del amanecer el planeta gigante, su brillo confundiéndose en el resplandor de la Luna, se fue acercando despacito y se metió atrás de la Luna. Miren qué bonito. Aquí está a punto de esconderse.

Aquí lo vemos más de cerca. Si alguien puede ver una tenue franja cruzando la cara de Júpiter, es real: es una de las bandas de nubes oscuras que adornan la atmósfera superior del planeta gigante. (Click en la foto para verla más grande.)

Hay un montón de hermosas formaciones lunares visibles en esta foto. Observen cómo varios de los cráteres gigantes que se destacan en la zona de transición entre el día y la noche muestran unos puntitos brillantes en el medio. Son montañas centrales, típicas en muchos cráteres, resultado del impacto que les dio origen hace miles de millones de años. Aquí vemos iluminadas sus cimas mientras las bases están todavía en sombras.

Usando varias fotos armé esta peliculita donde se puede ver el progreso del ocultamiento. Algo menos de una hora después, cuando ya había salido el Sol y el cielo era bien celeste, el planeta reapareció por el otro borde de la Luna, en el lado no iluminado. En el momento que el disco del planeta aparece y se lo ve cortado en diagonal por el borde invisible de la Luna, de golpe se completa la imagen circular del satélite, ¿no? Es como en esta conocida ilusión óptica.



El sábado que viene: Última parte de El enigma de Turing...

La imagen del Triángulo de Kanizsa es de Wikipedia, a donde remite el enlace. Las fotos son mías, tomadas desde Bariloche con ayuda de mi compinche Eduardo Andrés.

08/09/2012

El enigma de Turing (parte 3)

Esta es la tercera parte de la serie El enigma de Turing. Link a la primera parte. Link a la segunda parte.

Habíamos dejado a Turing regresando de Princeton. Mientras trabajaba en sus temas de Lógica y la situación política en Europa se complicaba cada vez más, Turing se había interesado por la criptografía: la ciencia de crear y romper códigos para mandar mensajes cifrados. Se le ocurrió de que un buen método criptográfico sería convertir un texto en un número (como había hecho Gödel con las proposiciones matematicas, y él mismo con las tablas de las máquinas de computar) y multiplicarlo por otro número muy grande. Así el desencriptado se convertía en un problema de factorización, que podía ser muy difícil. Fue una idea premonitoria, porque así funciona la mayoría de los códigos de encriptación hoy en día (cada vez que usamos la tarjeta de crédito o nos conectamos a Gmail, por ejemplo). Turing, que tenía un gusto por armar cosas con sus propias manos (a diferencia de muchos matemáticos) inclusive fabricó una máquina electromecánica, con relés y electroimanes, que hacían esta codificación. ¡Él mismo enrolló los solenoides para fabricar relés caseros!

EL ENIGMA

Finalmente estalló la guerra. Por ser una nación insular, la subsistencia de Gran Bretaña dependía fuertemente del transporte marítimo de mercadería. Enormes convoys de suministros, fuertemente escoltados, cruzaban permanentemente el Atlántico. Sin embargo, las pérdidas eran enormes, y ponían en peligro la supervivencia de Inglaterra. El principal peligro venía de los U-boats, los submarinos alemanes, rápidos e indetectables, que recibían instrucciones codificadas del Alto Mando.

Las transmisiones eran codificadas mediante una máquina llamada Enigma. Tenía un teclado sencillo, sobre el cual había unas lamparitas que reproducían el mismo arreglo de letras. Adentro había un circuito eléctrico de configuración variable. Cuando se presionaba una letra en el teclado, el circuito la codificaba en otra letra y se encendía la lamparita correspondiente. Al mismo tiempo, el mecanismo variable (unas ruedas, que se ven en la foto atrás de las lamparitas) avanzaba un paso, de manera que la siguiente letra que se presionaba era codificada por un circuito distinto. El mensaje codificado se enviaba por correo o telégrafo. La persona que recibía el mensaje encriptado configuraba su máquina de la misma manera que la codificadora (con una clave preestablecida, que no se enviaba), tipeaba el galimatías, y las lamparitas daban el mensaje decodificado. No era más que un código de substitución, mucho más sencillo que la multiplicación de números grandes que había ideado Alan. Pero el mecanismo de los rotores móviles hacía que una misma letra se substituyera por letras distintas a lo largo del mensaje, dificultando enormemente su descifrado.

En 1932 tres matemáticos polacos habían desarrollado un método para decodificar los mensajes de la Enigma. De una manera que encajaba perfectamente con el pensamiento de Turing habían concluido que, si se usaba una máquina para codificar el mensaje, había que usar una máquina para romper el código. Y diseñaron una máquina, a la que llamaron Bomb, que hacía el trabajo. No se sabe si eligieron el nombre por el tic-tac que hacía la máquina, o por un postre helado que les encantaba.

BLETCHLEY PARK

Los británicos ya habían empezado a colaborar con los polacos, y lograron obtener toda la información sobre la Bomb antes de la ocupación de Polonia. Pero el Servicio de Criptografía británico era más bien anticuado: un puñado de clasicistas y traductores, algo completamente inútil para el conflicto que se venía. En particular, eran incapaces de descifrar la Enigma. Alguien tuvo el buen tino de reclutar un pequeño grupo de especialistas “de tipo profesoral”, matemáticos, físicos, ingenieros y campeones de ajedrez (!). Uno de ellos fue Alan Turing, recién regresado de Princeton. Luchando a brazo partido contra la burocracia de la administración pública y la rigidez de la institución militar lograron transformar por completo el Servicio. Su mejor argumento, por supuesto, es que ellos sí podían decodificar los mensajes cifrados. Finalmente reunieron un equipo enorme, multidisciplinario y súper secreto en una mansión campestre llamada Bletchley Park. Llegaron a trabajar allí más de 10000 personas, así que no cabían todos en el caserón. Se construyeron unos “huts”, unas barracas. Turing estuvo a cargo del Hut 8, dedicado al desencriptado de los mensajes de la Marina alemana.

En Bletchley Park rediseñaron y mejoraron la máquina polaca y la llamaron Bombe. Turing demostró que era posible reducir enormemente el espacio de búsqueda de códigos aplicando la lógica matemática: había recorridos en el espacio de configuraciones del circuito que llevaban a contradicciones, y que podían ser abandonados. Para implementar esta mecanización de las deducciones lógicas no se necesitaba matemática muy avanzada, eran más bien aplicaciones de conceptos sencillos. ¡Nada como el problema de Hilbert! De hecho, las Bombe no eran máquinas de Turing. Además, la decodificación no era en absoluto automática. Dependía en buena parte de "adivinar" partes de los mensajes, algo que era posible sólo gracias a la rígida estructura de los mensajes militares. Para ensamblar esta adivinación con la búsqueda sistemática, la teoría requería la formalización de los procedimientos de toma de decisión basada en información parcial. El formalismo que desarrolló Turing es esencialmente idéntico al de Claude Shannon, a quien Alan conoció pocos años después en Bell Labs, y que hoy llamamos Teoría de la Información.

BOMBE VS. ENIGMA

La primera Turing Bombe entró en funcionamiento en 1940. Pesaba una tonelada y simulaba el funcionamiento en paralelo de 30 Enigmas (la de la foto es una reconstrucción reciente). Finalmente lograron descifrar los mensajes codificados con la Enigma. Al principio cada mensaje les llevaba semanas de trabajo. Pero rápidamente lograron reducir el tiempo a minutos. Los mensajes de la Luftwaffe empezaron a desencriptarse a fines de 1940, pero recién a mediados del '41 pudieron hacerlo con los de los U-boat, que usaban una Enigma más sofisticada. Alcanzaron tal maestría que las pérdida navales cayeron significativamente. Sorprendentemente, los alemanes estaban tan convencidos de la infalibilidad de la Enigma, que en lugar de sospechar que les estaban descifrando los mensajes, sospecharon que los estaban espiando. Así que dedicaron esfuerzos inútiles a cazar espías mientras en Bletchley Park leían sus mensajes como quien lee el Argentinisches Tageblatt.

En febrero de 1942 los alemanes agregaron un nuevo rotor a la Enigma naval y los ingleses perdieron la ventaja. Las pérdidas aumentaron enorme y peligrosamente. Los aliados empezaron a perder más tonelaje que el que podían construir en los astilleros. ¡Si la situación no se revertía, perderían la batalla del Atlántico! En Bletchley Park empezaron a usar la novísima tecnología electrónica (en lugar de electromecánica) que estaba empezando a usarse en las compañías de teléfonos, para alcanzar mayores velocidades de cálculo. Pero fue una tecnología que terminó usándose en otro sistema, no en la Enigma.

En noviembre 1942 Turing fue enviado a Estados Unidos para coordinar al más alto nivel las actividades de desencriptado en conjunto, intentando resolver la crisis de la Enigma naval. Se pasó dos meses en Bell Labs, donde conoció a Harry Nyquist y a Shannon, dos matemáticos que en la década siguiente harían trabajos fundamentales del inicio de la era digital. En Bell querían encriptar las transmisiones telefónicas transatlánticas entre Roosevelt y Churchill. Los métodos que idearon son la base de todas las técnicas de codificación digital de señales analógicas que usamos ahora todo el tiempo, tales como el JPG y el MP3.

A principios de marzo del 43 descubrieron una debilidad de la nueva Enigma y pudieron volver a desencriptarla. Inglaterra y Estados Unidos recobraron el control del Atlántico, situación que se mantendría hasta el final de la guerra. Uno a uno, todos los modelos de Enigma cayeron ante el poder de cómputo de Bletchley Park.

UN CEREBRO ELECTRÓNICO

Alan volvió a Inglaterra, pero su trabajo ya no era esencial en Bletchley Park, así que pudo liberarse un poco de sus responsabilidades. Se convirtió en una especie de consultor todo-propósito del Servicio, y se dedicó a aprender electrónica y a un proyecto propio de codificación electrónica del lenguaje hablado. Su posición administrativa era muy influyente a pesar de su juventud (tenía 30 años), y fue fundamental para lograr el apoyo gubernamental para empezar a desarrollar máquinas más veloces que las Bombes, basadas en la electrónica. Las primeras de este tipo se llamaron Colossus. Tenían miles de válvulas, y nadie les tenía mucha fe al principio, pero funcionaron. Fueron las primeras computadoras electrónicas, pero a diferencia de las computadoras modernas, estaban también dedicadas a un propósito específico, como las Bombes. Alan, al ver funcionar estas máquinas desencriptadoras, se entusiasmó vislumbrando el poder que una verdadera máquina de Turing podría lograr con la ayuda de la tecnología electrónica. Empezó a diseñar la construcción de su propia Máquina Universal. Se refería a su proyecto como “construir un cerebro”.

¡Y de nuevo le ganaron de mano del otro lado del Atlántico! Se publicó un proyecto, llamado EDVAC, proponiendo construir precisamente lo que quería hacer Alan: una computadora electrónica, digital binaria y programable. John von Neumann, uno de sus principales promotores, le enchufaba el Computable Numbers a cada persona que se involucraba en el proyecto. La reacción en Inglaterra fue, con todo, razonablemente buena: crearon un laboratorio para llevar adelante un proyecto similar, y Alan Turing fue nombrado director científico. La guerra, además, había terminado. ¿Qué más se podía pedir?

Finaliza en la Cuarta Parte de El enigma de Turing...


La EDVAC finalmente se construyó, y fue la primera computadora en el sentido moderno. Usaba una memoria externa de cable magnético, su memoria interna era acústica (aproximadamente 1 kilobyte, más tres registos de una palabra cada uno), operaba a una velocidad de procesamiento de menos de 1 kilohertz, tenía una unidad de control con osciloscopio y un timer. Sus 6000 válvulas de vacío y 12 mil diodos consumían 56 kilowatts. Ocupaba 45 metros cuadrados, pesaba 8 toneladas y la operaban 30 personas en cada turno de 8 horas. Costó 500 mil dólares, empezó a funcionar en 1951 y se la usó durante 10 exitosos años.

01/09/2012

Cosmofobia

Se extiende por el mundo una nueva enfermedad contagiosa: la cosmofobia, el miedo irracional a los fenómenos cósmicos.

La cosmofobia es alentada por los canales de televisión originalmente creados para la divulgación científica, tales como Discovery, NatGeo y History, lamentablemente devenidos en propagadores de catástrofes imaginarias. La increíble calidad de la animación cinematográfica moderna, indistinguible de la realidad, más la facilidad de transmitir a muchísima gente cada pavada de la que uno se entera, no hacen más que acelerar el proceso epidémico en cada brote.

Los agentes infecciosos de la cosmofobia son variados, y abarcan un enorme rango de verosimilitud. Están por un lado las burradas totales (apocalipsis mayas, planetas gigantes en curso de colisión con la Tierra, alineaciones planetarias destructoras de continentes), cosas que realmente ningún adulto medianamente educado debería creer tras 2 minutos de reflexión.

Por otro lado hay fenómenos rarísimos, aparentemente cataclísmicos: explosiones de supernovas en la vecindad del sistema solar, hipernovas capaces de esterilizar un planeta en milisegundos, colisiones con universos paralelos que vienen de la quinta dimensión, y cosas por el estilo. Algunas de estas cosas son súper interesantes, desde un punto de vista u otro, pero nadie debería preocuparse por ellas más que lo que se preocupa de que lo parta un rayo. Mucho menos. Increíblemente mucho menos. Todavía menos. Yo diría: no preocuparse en absoluto.

Hay una tercera categoría, la de los fenómenos que tienen un barniz de verosimilitud. Ésta viene, en general, de que se trata de cosas que ya ocurrieron alguna vez, o que probablemente ocurieron, y que podrían repetirse peor. Un ejemplo de esta categoría es la caída de meteoritos. Otro, de reciente aparición, son las tormentas solares. Estas cosas realmente podrían afectarnos en alguna medida. Son fenómenos que vale la pena estudiar de cerca con los mejores recursos de la ciencia y la ingeniería, para comprenderlos y saber cómo prepararse en caso de que ocurran. Pero nada justifica que la población en general se preocupe, ni que acapare agua o alimentos.

Ya que podrían afectarnos, ¿alguien hace algo? Bueno, existen programas dedicados a detectar, catalogar y rastrear todos los asteroides que podrían caer a la Tierra y causar algún daño. Hay programas de ingeniería y astronáutica diseñando sistemas para desviarlos cuando llegue el momento. ¡Los dinosaurios se extinguieron porque no tenían un programa espacial!

En cuanto al Sol, existen observatorios astronómicos, en Tierra y en el espacio, observándolo sin pausa. Hay una enorme comprensión científica de los fenómenos solares y su interacción con la Tierra. Son fenómenos que sí, podrían causar algún inconveniente, pero para los cuales se pueden tomar medidas de ingeniería a tiempo, o reemplazar las cosas que fallen: transformadores eléctricos, satélites, nada muy dramático, después de todo. Bueno, a lo mejor a alguien se le corta la luz. ¡Vamos, en Bariloche se corta la luz un par de veces por semana!

Antes de aburrirlos y que no lleguen a la línea final, la única que realmente importa, termino:

Disfruten del cosmos. No nos destruirá.


La foto de Einstein escribiendo (cualquier cosa) en el pizarrón puede generarse acá.

¿Querés volver a leer mi nota sobre el fenómeno 2012? Click acá. ¿Querés leer sobre Betelgeuse y su "inminente" explosión como supernova? Click acá. ¿Querés saber realmente lo que pasa en el Sol? Visitá Spaceweather.

El próximo sábado, la tercera parte de El enigma de Turing... 

25/08/2012

El enigma de Turing (parte 2)

Segunda parte de la serie sobre Alan Turing en el centenario de su nacimiento. La primera parte está acá.

Dónde estábamos: Alan tomó el curso de Lógica Matemática de Max Newman en King's College. Terminaba con los teoremas de Gödel, que daban por tierra con el ambicioso Programa de Hilbert. Turing se interesó en un resquicio que Gödel no había resuelto, el Entscheidungsproblem, el problema de la decidibilidad: ¿Existe un método para decidir si una dada afirmación matemática es demostrable? Turing resolvió este problema, trabajando en completa soledad a los 23 años de edad, y de paso en el camino inventó la ciencia de la computación.

COMPUTABLE NUMBERS

Su contribución está en este trabajo, publicado en 1936 en los Proceedings de la London Mathematical Society. Tiene un título intimidante, con una palabra inventada, “computable”, y la famosa palabra de Hilbert tan difícil de pronunciar sin que alguien diga ¡salud!. Es notable que Turing ponga el énfasis del título en los números computables y no en la demostración del problema de Hilbert. A pesar de la relevancia académica de resolver un problema de Hilbert, parece que Turing se diera cuenta de que lo que había inventado estaba bueno, y que el problema de la decisión resultaba apenas una aplicación. Pero en realidad nadie (ni siquiera Turing) se dio remotamente cuenta de su profundo significado hasta mucho tiempo después. Todas las computadoras modernas, desde las laptops a los videojuegos, desde los teléfonos hasta los robots que aterrizan en Marte, son exactamente lo que Turing mostró en este paper.

En la segunda página del artículo, promediando el larguísimo resumen, nos encontramos con la conclusión de Turing (segundo recuadro en la imagen): el Entscheidungsproblem no tiene solución. En las siguientes 28 páginas Turing no vuelve a hablar del Entscheidungsproblem.

Alan le mostró el manuscrito a su profesor de Lógica. Newman había recibido justo en esos días un preprint de Alonzo Church, un matemático norteamericano de la prestigiosa escuela de Lógica de Princeton. Al mismo tiempo que Turing y de manera independiente Church había llegado a la misma conclusión sobre el problema de la decidibilidad. Así que parte de la originalidad del trabajo de Turing se desvaneció. El approach de Church era de todos modos muy diferente, eso quedó claro desde el principio. Y además estaba el valor teórico de lo que llegaría a ser el fundamento de la ciencia de la computación. Así que Newman apoyó la publicación del trabajo. Pero Alan tuvo que agregar a último momento ese párrafo que vemos asomar en la imagen, al final del largo resumen. Y agregó también un apéndice demostrando la equivalencia entre su “computabilidad” y la “calculabilidad efectiva” de Church.

Si uno sobrevive al título, es posible que la tipografía gótica de la notación termine de intimidarlo.  Afortunadamente existe un libro, The Annotated Turing, de Charles Petzold, donde se explica todo párrafo por párrafo.

MÁQUINAS DE TURING

Como decíamos, la cuestión de la decidibilidad era la inspiración del trabajo, pero la mayor parte del mismo se trata de lo que Turing llama “números computables”, cuyo estudio ocupa el primer 60% del artículo, y que se pueden entender sin saber nada de Lógica ni del Programa de Hilbert.

¿Y qué es un número computable? Bueno, un número computable es un número cuyos decimales pueden ser escritos por una máquina. Era algo muy raro de decir en 1936. “Computadora”, en esa época, no significaba una máquina, como significa ahora. Significaba una persona, en general una chica. Una persona que calcula. Lo que propone Turing es automatizar todo el proceso para que en lugar de una persona lo haga una máquina. Habían existido máquinas de calcular en siglos anteriores, y en ese mismo momento se estaban diseñando máquinas de calcular, de sumar, de resolver ecuaciones diferenciales. Pero lo cierto es que en 1936 no existía ninguna máquina capaz de hacer lo que Turing pedía de manera tan general. Las computadoras (en el sentido moderno) no existían. Turing sacó el concepto de su galera matemática. Sólo años más tarde la tecnología electrónica permitiría convertir estas ideas en verdadera ingeniería.

Turing empieza a explicar lo que quiere decir por “calculable por una máquina”.  La justificación viene de la asociación entre lo humano y la máquina, que se convertiría en un tema central a lo largo de toda su obra. Se plantea la cuestión de qué podría lograr una persona llevando a cabo una tarea metódica, repetitiva y mecánica. Y esto lo lleva a formular su análisis en términos de una “máquina” teórica, capaz de realizar operaciones elementales, predefinidas, sobre una secuencia de símbolos impresos en una cinta de papel. Argumenta que cualquier cosa que a uno se le pueda ocurrir que significa “metódico”, esta máquina lo podría hacer tan bien como una persona.

La máquina es increíblemente sencilla. En la figura muestro un ejemplo. Tiene un "scanner" que se desplaza sobre la cinta, leyendo los números uno por uno. La máquina tiene un conjunto de estados posibles. El scanner es el trapecio negro, que además muestra el estado de la máquina en cada paso de tiempo. La nubecita muestra el número leído por el scanner. La "tarea repetitiva y metódica" está especificada mediante una tabla que, de acuerdo al estado y al número leído, dice qué tiene que hacer. Y lo que puede hacer es muy limitado: puede borrar o escribir un número, puede cambiar de estado, y puede moverse a la izquierda o a la derecha. La tabla de este ejemplo define una máquina que suma dos números. En la cinta están inicialmente escritos los números 3 y 4 (en representación "unaria"), y la máquina los suma, así como muestra la animación. Fijensé, no hay trampa. La máquina suma. En terminología moderna, el “método” que lleva a cabo la máquina es un algoritmo. La tabla que define las operaciones que hace la máquina con los símbolos impresos, es el software. Turing inventó el software.

Turing muestra cómo estas máquinas, así de sencillas, no sólo pueden escribir sus "números computables", sino que también pueden llevar adelante cualquier cálculo matemático imaginable, tan sólo moviendo unos y ceros de atrás para adelante y de adelante para atrás. Más aún, cualquier tipo de información podía codificarse numéricamente y procesarse de la manera que uno quisiese. Como ven, son todos conceptos súper familiares para nosotros. No así en 1936. Fue el momento en que nació la Era Digital.

Un número computable, entonces, es un número que una de estas máquinas escribe en una cinta de papel. Claramente, los números enteros son computables. También los números racionales, las fracciones. Aun las que tienen un desarrollo decimal con infinitas cifras, como 1/3. ¿Y los números más raros? Pi, por ejemplo, es computable. Obvio, ya que  sabemos cómo calcularlo con cuantos decimales queramos, con lápiz y papel. Lo mismo con la raíz cuadrada de 2, etc. Esto de los números computables es bastante loco. Parecen no tener una relación obvia con los números irracionales, o con los números trascendentes, o cualquiera de las otras categorías que conocemos. ¿Entonces? ¿Todos los números reales serán computables?

No. Turing demuestra que estas máquinas, que tienen un número finito de estados posibles, son enumerables, es decir son tantas como los números naturales. Y hay muchos más números reales que números naturales. Muchos, muchos más. Así que la mayor parte de los números son no computables. No importa cuánto nos esforcemos, nunca aparecerán como resultado de nuestros cálculos. ¿No es loquísimo? Cabe preguntarse qué tan reales son los números reales que no son computables. Así que hoy en día hay toda una rama del análisis de los números computables en lugar de los reales.

Bueno. Ya que las máquinas son numerables, Turing las numera. Es decir, muestra cómo se pueden codificar las tablas (que definen a las máquinas) de manera numérica. Es un lío, pero se puede hacer metódicamente. Uno termina con una máquina descripta, en lugar de por símbolos que representan las operaciones, por una “definición estándard” que es un número entero. Es claramente un approach inspirado en el Teorema de Gödel y su codificación numérica de las expresiones matemáticas. De yapa, tenemos una manera de generar máquinas de Turing: los números enteros. Muchas de ellas no funcionarán, muchas calcularán trivialidades, otras calcularán las mismas cosas de maneras diferentes, algunas más rápido, algunas más lento, algunas con pequeñas diferencias... Algunas ni siquiera se detendrán. ¡Es como la Biblioteca de Babel de Borges!

Con un método diagonal inventado por Georg Cantor en el siglo XIX, y que también es central en el razonamiento de Gödel, es fácil construir un número no computable. La idea está ilustrada en la figura. Supongamos que tenemos todas las máquinas ya numeradas y prolijamente ordenadas. La primera máquina, por ejemplo, computa el número 1. La segunda, digamos, computa pi. La tercera un pi aproximado, etc, etc. Ahora escribimos un número de la siguiente manera, que nos asegura que el número no está en la tabla (es el número de colores de la fila amarilla en la figura): miramos el primer dígito del número computado por T1, y lo cambiamos (por ejemplo, sumando 1). Después revisamos el segundo número, encontramos su segundo dígito, y hacemos lo mismo. Así vamos recorriendo la diagonal de la tabla, y escribiendo un número cuyo i-ésimo dígito es distinto del i-ésimo dígito del i-ésimo número. Este número no está en la lista, así que no es un número computable. ¿Por qué? ¿No podría haber una máquina Tj, con j por ahí abajo, que compute este número? No, porque el j-ésimo dígito del número computado por Tj es distinto del j-ésimo dígito del número colorido. ¡Así lo construímos! Y como en la tabla están todas las máquinas que computan números, no hay ninguna máquina que pueda computar el número de colores. Chan.

LA MÁQUINA UNIVERSAL

Pero ¿no hay aquí una contradicción? El método de Cantor es tan fácil de explicar que parece completamente mecanizable, ¿cómo puede ser que ese número sea no computable? ¿No debería haber una “máquina de Cantor” capaz de calcularlo? Esta máquina debería producir la tabla de la máquina T1, ejecutarla hasta el primer dígito, sumar 1 y escribir, después producir la segunda máquina, ejecutarla hasta el segundo dígito, sumar 1 y escribir, y así siguiendo. Es decir, debe ser una máquina capaz de emular lo que hacen las otras máquinas. Una máquina universal.

En algún sentido, la Máquina Universal de Turing es la única que necesitamos: no se necesita una máquina para cada tarea computable. La máquina universal ha llegado para acabar con todas las máquinas. La máquina universal es, decimos hoy, programable.

La máquina universal es tan importante para el argumento de Turing que éste la construye con todo detalle, dando explícitamente su tabla de estados y operaciones, a un nivel que es muy difícil de asimilar con facilidad. Si uno ha de creerle al Annotated Turing, además, la descripción no está libre de bugs. Pero, dejando de lado esto, Turing acababa de hacer algo extraordinario: había demostrado la generalidad de la computación, había mostrando cómo una máquina programable puede llevar a cabo la operación de cualquier máquina de computar. Es sin duda uno de los grandes logros intelectuales del siglo XX.

Ciertamente, Turing no “inventó” la computadora. Pero hasta ese momento la suposición habitual en la gente que trabajaba en el tema era que cada computadora debería ser diseñada para un propósito específico. Aún en la década del 50, más de 15 años después de Computable Numbers, los ingenieros que diseñaban las primeras computadoras digitales no habían acabado de visualizar a la computadora como una herramienta lógica, más que de cálculo. Así que no es de sorprender que el rol de Turing en la historia de la computación se cuente de manera desigual en distintos libros. Una cosa es contar la historia de la computadora desde un punto de vista de la ingeniería o del mercado. Y otro es el punto de vista que considera a las computadoras como materializaciones de conceptos matemáticos. En este último caso, el papel de Turing es destacadísimo.

¿Y el Entscheidungsproblem?

El método diagonal es la clave. La cosa se vuelve sumamente técnica y, depués de todo, no es más que "una aplicación" de las Máquinas. Turing muestra primero que puede construir una máquina que codifica todo el cálculo funcional de Hilbert. Muestra que el Entscheidungsproblem es equivalente a demostrar si la máquina que calcula el número construido con el método diagonal se detiene, y demuestra que este problema no tiene solución. Piece of cake.

PRINCETON

Como no podía ser de otra manera, Turing se fue a Princeton, donde se quedó dos años. Church dirigió su tesis, que completó en 1938. Princeton se había convertido en una meca para la física y la matemática, particularmente con la creación del Instituto de Estudios Avanzados. Gödel lo visitaba todos los años y John von Neumann, Courant, Hardy, Weyl, Einstein y tantos otros se habían establecido allí, muchos de ellos escapando del régimen nazi.

Sus ideas alcanzaron cierta notoriedad, atrayendo incluso la atención de von Neumann, a quien le había encantado Computable Numbers (otro día tal vez hablemos de él). Pero no saltó a la fama ni mucho menos. Su trabajo en Princeton, incluyendo la demostración de que sus conclusiones sobre la decidibilidad coincidían con las de Church, fue el material de su tesis. Esta línea de trabajo, tal vez la más profunda de su carrera, no prosiguió más allá de su doctorado.

Durante su segundo año en Princeton, mientras terminaba la tesis, la situación política en Europa se complicaba cada vez más. Estaba claro que Inglaterra y Alemania pronto entrarían en guerra. A pesar de que von Neumann le ofreció un tentador puesto en el Instituto de Estudios Avanzados, Turing se volvió a Inglaterra, donde no tenía trabajo. Apenas consiguió una beca de King’s College.

Pero rápidamente consiguió un trabajo mejor. Un trabajo secreto, que salvó miles de vidas, permitió la supervivencia de Inglaterra, y ayudó a los Aliados a ganar la guerra.

Continúa en la Parte 3 de El enigma de Turing...