¿Qué #%&@ me salió ayer en Google?

Doodle de Turing

Lo que a ud. le salió ayer en Google es una Máquina de Turing, hoy le enseñaremos a construir su propia máquina y le explicaremos como echarla a andar.

La receta varía de cocinero a cocinero, mientras que algunos prefieren cocinar la suya en los etéreos vapores de la abstracción a otros les gusta freírla con engranes y aderezarla con mucha intuición mecánica. Nosotros usaremos un receta similar a la que usó ayer el Chef Google.

Receta para una Máquina de Turing

Usted necesitará:

  • Una cinta infinita
  • Tres símbolos: 1, 0, ▢ (uno, cero, espacio en blanco)
  • Una Cabeza Lectora© que recorrerá la cinta leyendo y escribiendo símbolos
  • Seis instrucciones simples: “muévete a la derecha”, “muévete a la izquierda”, “escribe este símbolo”, “salta a otra instrucción”, “si ves este símbolo salta a otra instrucción” y “¡deténte!”.

Procedimiento:

  1. Escriba sobre la cinta la información que quiera procesar (en binario, por favor)
  2. Coloque la Cabeza Lectora© dónde ud. guste, de preferencia sobre la información a procesar
  3. Elija concienzudamente una lista de instrucciones
  4. Introduzca sus instrucciones en la Cabeza Lectora©
  5. Prenda la Cabeza Lectora©
  6. ¡Vea como se mueve la Cabeza Lectora© sobre la cinta! ¡Vea como cambian los numeritos!
  7. Si se ejecutó una instrucción “¡deténte!” avance al paso 8, de lo contrario regrese al paso 6 (infinitamente, de ser necesario)
  8. Revise el resultado que quedó en la cinta, mire fijamente los unos y ceros, no les entienda

Muy bien, usando su flamante Máquina de Turing usted puede reproducir el funcionamiento de cualquier computadora, cualquier programa, cualquier autómata posible. Desde la comodidad de tu hogar.

¿Suena interesante la maquinita? ¿Quiere correr a la Plaza de la Computación a comprarse una? pues ¡mala suerte! las Máquinas de Turing no existen como mecanismos físicos porque, pensándolo bien, ¿de dónde fregados vamos a sacar una cinta infinita?. Eso sí, son una herramienta mental muy simple que nos permite razonar sobre problemas complejísimos y sacar conclusiones sobre los límites y las capacidades de las computadoras.

Esto puede sonarle fascinante o sumamente aburrido, el caso es que ayer a Google se le ocurrió poner un jueguito Turingniano en su página principal y enfrentar a los pobres usuarios con los esotéricos aparatejos.

No idea Turing Machine

La belleza del asunto es que aún el mismo Google, con su inmenso acervo de sitios y su inaprensible complejidad, puede ser reducido a una Máquina de Turing: una cantidad gigantesca de unos y ceros plasmados sobre la cinta cuasi-infinita de Internet, respondiendo a un conjunto de instrucciones simples.

También podríamos expresar el algoritmo de Google como los circuitos de un “robot” que contestaría nuestras preguntas, o expresarlo como una función matemática complejísima:

Fotos de Gatitos

Una función cuyos resultados podríamos obtener a mano siguiendo un procedimiento escrito y tablas impresas. Las tres cosas, el portal de internet, el robot y la función son equivalentes a una misma “máquina A(utomática)” de Turing.

Pensemos en tres herramientas distintas que, sin embargo, cumplen la misma función: una calculadora mecánica, una calculadora digital y el programa “Calculadora” de tu computadora o celular.

Como las tres herramientas realizan los mismos procedimientos el funcionamiento de las tres puede ser simulado por la misma Máquina de Turing que realiza operaciones aritméticas, se tratará de un mecanismo imaginario que resulta más poderoso que los mecanismos reales. ¿Por qué es más “poderoso” el mecanismo imaginario? bueno, las calculadoras reales están limitadas por su número de engranes o el tamaño de su memoria (una calculadora común no acepta números de más de 8 cifras), en cambio, uno puede escribir cualquier número en la cinta infinita de la Máquina de Turing y realizar cualquier operación aritmética concebible. Es el ideal platónico del cual las calculadoras reales no son más que una pálida copia.

El modelo de Turing no es el único usado por matemáticos y computólogos para estudiar lo “automáticamente calculable”, pero su elegancia lo sigue manteniendo como el favorito. Es un mecanismo simple que puede simular el funcionamiento de cualquier programa computacional posible. Es un concepto abstracto sobre el cual podemos realizar análisis matemáticos y al mismo tiempo tan concretable que puedes construirlo usando LEGOs.

Google, mi celular, el servidor donde reside este blog, el dispositivo en el que estás leyendo esto… son todos mecanismos automáticos, forman parte del infinito universo de autómatas que Turing imaginaba en 1931 mientras resolvía uno de los problemas matemáticos más difíciles del siglo XX.

Dicho problema puede expresarse así: “¿Es posible resolver todos los problemas matemáticos de forma automática?”. La respuesta que Turing encontró fue “No, hay muchos problemas matemáticos que no pueden resolverse automáticamente”. Podemos ver que se trataba de un joven matemático realmente astuto: justo cuando las computadoras comenzaban a quitarle el trabajo todo el mundo, él demostró que jamás remplazarían a los matemáticos.

Uno puede tomar la caja de herramientas mentales de míster Turing y seguir reflexionando sobre los problemas que podemos resolver de forma automática. Se descubrirán respuestas del tipo “Hay más problemas que soluciones” o “Hay problemas TAN difíciles que incluso a una máquina le daría flojera resolverlos”. Pero no todo es deprimente, después de todo hoy en día podemos preguntar “¿dónde puedo encontrar fotos de gatitos?” y Google amablemente tomará nuestro problema, lo expresará en términos matemáticos, lo resolverá de forma automática y nos dará 2.5 millones de soluciones posibles.

En fin, todo esto salió porque míster Turing hubiera cumplido cien años este 23 de junio y sus fans lo estamos festejando.

¡Feliz centenario  Alan Turing!

Alan Turing by Jin Wicked

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s