Encontra de lo que pudiera parecer, la ciencia de la computacin y las teoras sobre
computabilidad nopertenecen a la disciplina que hoy conocemos como "Informtica", sino a las matemticas, que son, conmucho, anteriores a aquella.A principio del siglo XX, el campo de la matemtica terica estaba en plena efervescencia, gracias sobretodo a los trabajos de Hilbert y Gdel. En particular Hilbert haba planteado ciertas cuestiones quederivaron en las teoras de la computacin y la computabilidad, en concreto cual sera el significado de lacomputabilidad de un procedimiento.En matemticas se considera que un mtodo o procedimiento es efectivo para obtener un resultadocuando se cumple que:
El procedimiento puede ser expresado mediante un algoritmo (un nmero finito de instruccionesconcretas1.2.1); en el que cada instruccin puede ser expresada por un nmero finito desmbolos.
El procedimiento puede ser seguido sin error para conseguir el resultado en un nmero finito depasos.
El procedimiento puede ser (al menos tericamente) seguido por un humano sin ms ayuda queun papel y lpiz.
El procedimiento no exige ninguna habilidad o inteligencia especial por parte de la persona que loejecuta. En lenguaje coloquial diramos que "hasta un tonto podra hacerlo". La idea es que solohaya que seguir ciertas reglas de forma mecnica. Por esta razn cuando se cumplen estascondiciones se dice que el procedimiento es efectivo o "mecnico".Para dar una definicin matemticamente precisa de lo que es un algoritmo, Turing ide un dispositivoimaginario al que denomin Mquina de computacin lgica LCM ("Logical Computing Machine"), pero queha recibido en su honor el nombre de mquina de Turing . Aunque su propuesta es anterior a la aparicin de los computadores digitales (1936 "On computable numbers, with an application to theEntscheidungproblem"), actualmente es el objeto central de estudio de los tericos de la computacin.Precisamente la definicin moderna de lo que es "Computable" se basa en este concepto, y del mismomodo que cuando se habla de inteligencia artificial es inevitable referirse al Test de Turing, cuando sehabla de algoritmos y computacin es casi inevitable encontrar alguna referencia a la mquina deTuring [1]. Por si esto fuera poco, los conceptos subyacentes en la idea han jugado un papel importanteen las recientes teoras filosficas sobre la mente.Lo que confiere al dispositivo su extraordinaria importancia es que es capaz de resolver cualquierproblema matemtico a condicin de que haya sido reducido a un algoritmo. 2 La mquina de Turing Una mquina de Turing es un autmata que se mueve sobre una secuencia lineal de datos. En cadainstante la mquina puede leer un solo dato de la secuencia (generalmente un carcter) y realiza ciertasacciones en base a una tabla que tiene en cuenta su "estado" actual (interno) y el ltimo dato ledo. Entrelas acciones est la posibilidad de escribir nuevos datos en la secuencia; recorrer la secuencia en ambossentidos y cambiar de "estado" dentro de un conjunto finito de estados posibles.En realidad la mquina de Turing es ms una abstraccin matemtica que un dispositivo fsico omecnico. El hecho que se le denomine "mquina" se debe a que su funcionamiento puede ser descritoen trminos de operaciones individuales muy sencillas que sugieren una implementacin real muy simple,lo que ha motivado que existan muchas versiones prcticas del mismo. Existen diversas "variedades" de una mquina de Turing, pero la ms simple puede ser descrita diciendoque es cualquier dispositivo que cumple las siguientes condiciones:
Tiene una cinta sobre la que puede desplazarse a izquierda y derecha un cabezal delectura/escritura. La cinta contiene una serie de celdas, y en cada una de ellas puede escribirseun smbolo de un conjunto finito; este conjunto de smbolos se denomina el alfabeto de lamquina [2]. En principio todas las celdas que no se hayan escrito antes contienen un carcterespecial nulo o vaco (que se representa por 0 o # ). La cinta puede contener tantas celdas aderecha e izquierda del cabezal como sean necesarias para el funcionamiento de la mquina.
El cabezal puede moverse a derecha (R) a izquierda (L) de su posicin actual, as como leer elcontenido de una celda o escribir en ella cualquier carcter de su alfabeto.
Existe un registro de estado que almacena el estado de la mquina. El nmero de estadosposibles es finito, y no se exige ningn estado especial con el que sea iniciada la mquina.