Menu
in

Construye tu propia Máquina de Turing

¿Alguna vez soñaste con construir tu propia Máquina de Turing? Mike Davey también. Pero Mike, en lugar de limitarse a soñar con ello, pasó a la acción y la construyó. El resultado es un dispositivo que auna funcionalidad y belleza, a la vez convierte en un dispositivo real la Máquina teórica imaginada por Alan Turing en 1936. El constructor ha puesto disposición del publicó los planos de la máquina, haciendo posible que finalmente construyas la tuya ¿Te animas?

La Máquina de Turing es un modelo computacional introducido por Alan Turing en 1936. En su trabajo “On computable numbers, with an application to the Entscheidungsproblem”, publicado por la Sociedad Matemática de Londres, Turing abordaba la cuestión planteada por David Hilbert sobre si las matemáticas son “decidibles”, es decir, si hay un método definido que pueda aplicarse a cualquier sentencia matemática y que nos diga si esa sentencia es cierta o no. Para demostrar que  existían problemas que una máquina no podía resolver, Turing elaboró un modelo formal de ordenador -no contaba con los medios técnicos para construir un aparato real en esa época- al que se llamó Máquina de Turing.

La máquina imaginada por Turing era sumamente simple. Realizaba su trabajo utilizando como hardware un cabezal de lectoescritura y como soporte para el programa y los datos una cinta de papel infinitamente larga. El cabezal era capaz de leer el contenido de una posición de la cinta, borrarlo o escribir un nuevo valor. Concretamente, las operaciones que puede realizar una Máquina de Turing se limitan a avanzar el cabezal lector/escritor hacia la derecha o avanzar el cabezal lector/escritor hacia la izquierda. Una vez que está en la nueva posición, realiza el cómputo, que está determinado por una tabla de estados de la forma (estado, valor) → (nuevo estado, nuevo valor, dirección). Los parámetros de la tabla son el estado actual de la máquina y el caracter leído de la cinta, o que produce un nuevo estado de la máquina, proporciona la dirección a la que mover el cabezal y el nuevo valor a ser escrito en la cinta. A pesar de su sencillez extrema, esta máquina es capaz de realizar cualquier cómputo que un ordenador digital sea capaz de realizar, aunque obviamente, a una velocidad mucho menor. Por supuesto, en 1936 la Máquina de Turing era sólo un modelo matemático abstracto que formalizaba el concepto de algoritmo.

Mike Davey no ha hecho otra cosa que llevar a la práctica el concepto de Alan Turing. Obviamente, no es el primero en construir una máquina de este tipo, pero su creación se destaca sobre las demás por lo bien diseñada que está, y por poner al alcance de todos los interesados los planos, circuitos y programas necesarios para que quien lo desee pueda construirse su propia Maquina de Turing. El corazón del sistema es, cómo no, el cabezal de lectoescritura.  Davey utiliza un marcador convencional impulsado por servomecanismos y controlado por un microcontrolador Propeller, de  Parallax, para escribir ceros y unos sobre la cinta. Una pequeña cámara se encarga de “ver” el contenido de las “celdas” que contiene la cinta, y un rodillo motorizado se encarga de borrar aquellos datos que haga falta eliminar. La cinta utilizada es un largo carrete de película en blanco, que es arrastrado por dentro del cabezal mediante un sistema tractor impulsado por un motor paso a paso controlado también por el Propeller. Hay que aclarar que el microcontrolador no “sabe” cual es el contenido de la cinta: solamente cuenta con los datos que “ve” con la cámara, respetando a rajatabla la idea de Turing.

El estado inicial de la Máquina está dado por el contenido inicial de la cinta y la posición del cabezal. Esos datos se ingresan a la máquina mediante una tarjeta de memoria flash tipo “SD”, y el sistema se encarga de volcar los ceros y unos sobre la cinta. Cuando todo está listo, la Máquina comienza a trabajar.  Davey ha dotado a su aparato de una serie de visualizadores de 7 segmentos que permiten que el operador pueda ver en todo momento que es lo que está haciendo la máquina. También posee una pantalla LCD de 4 renglones en la que puede verse el estado actual, los próximos estados o el sistema de menues destinado a la carga o grabación de estados desde o en la tarjeta de memoria. Como dijimos al principio, ahora tienes todo lo necesario para construir una de estas máquinas en casa ¿Te animas a hacerlo?

Escrito por Ariel Palazzesi

Leave a Reply