Los doodles de Google suelen ser sorprendentes obras de arte en la página principal del gigante de las búsquedas. En ocasiones la imagen es interactiva, por ejemplo, cuando hablaron del aniversario del juego de Pacman, en donde quien entraba a la página podía jugar el juego en plena página del buscador, o la del inventor de la cremallera, que se simulaba en la página de Google y sólo abriéndola se podía utilizar el buscador. En esta ocasión, el doodle es para recordar el centenario del nacimiento de Alan Turing, para lo que usaron el modelo de la máquina de Turing para interactuar para intentar resolver un acertijo.
Lo notable es que este doodle demuestra todas las ideas de la programación, condicionales y bucles (loops), datos y almacenamiento, así como la idea de un programa guardado en memoria.
Una máquina de Turing consiste en dos partes: una cinta que la máquina puede leer y escribir, y un controlador, que determina qué pasa en cada paso. En el caso del doodle, la cinta está limitada a lo que se puede ver en pantalla y el controlador está limitado por las operaciones que usted le da en cada paso del acertijo.
¿Pero de qué va este acertijo? Si usted presiona el botón verde (botón ‘Go’), entonces verá un número en la caja que aparece en la parte superior derecha. Este es el número al que hay que llegar para que la primera G de Google cambie de color. El problema consiste en ver qué instrucciones hay que darle al controlador para convertir el número inicial en la cinta en el número objetivo.
Una máquina de Turing siempre trabaja de la misma manera: el controlador tiene un conjunto de estados en cada paso y se mueve a un nuevo estado después de desarrollar la acción que el estado actual indica.
Por ejemplo, en la cinta inicial hay una flecha a la izquierda y otra a la derecha que simplemente significan mover la cinta un lugar en esa dirección. Un estado con un cero escribe un cero en la cinta en esa posición y un estado con un uno escribe un uno en esa posición.
Lo que sigue, se advierte, es la solución a la primera letra de Google, la primera G.
Por ejemplo, si se le da la siguiente configuración:
Entonces, si usted da clic en el botón verde, lo que pasa es que el lector de la cinta se mueve un lugar a la izquierda, escribe un 0, entonces se mueve tres lugares a la derecha y escribe un 0. El resultado es 00010 que no es el número que buscamos.
Para lograr el número objetivo, lo que tenemos que hacer es que la instrucción de escribir 0 cambie a la instrucción escribe un 1. Si se corre la máquina de nuevo, encontrará que si se mueve a la izquierda, escribe un 1, se mueve tres lugares a la derecha y escribe un 1, obtendrá el valor correcto:
El doodle entonces checa si ambos números son el mismo y si es así, obtendrá la primera G.
Hasta aquí es fácil, pero el nivel de lógica necesario para cada letra se incrementa.
En el siguiente nivel la máquina tiene un condicional, necesario para resolver el problema; en la tercera letra hay usar un loop, por ejemplo. La realidad es que es una idea fascinante y muy divertida, pues al final de cuentas muestra cómo trabajaría una máquina de Turing o para ser más precisos, cualquier computadora.
El siguiente video revela las respuestas, pero no da las explicaciones del caso. Sugerimos no lo vea sin antes intentar por usted mismo hasta dar con la solución.
Cabe destacar que pudiese pasar que Google quitara antes de lo pensado el doodle de la máquina de Turing. No se preocupe. Puede consultar los doodles anteriores en la página correspondiente a los mismos.
Referencias: Google doodles