Beruflich Dokumente
Kultur Dokumente
TLAXIACO
Reporte de Maquinas de
Turing
LENGUAJES Y AUTOMATAS I
Presenta:
Jorge Coronel López
INTELIGENCIA ARTIFICIAL
Las Redes Neuronales Artificiales (RNAs) son una magnífica herramienta para el modelado de
diversas acciones complejas -desarrolladas por el sistema nervioso de diferentes seres vivos-, con el
fin de acercarse a explicaciones claras sobre su origen y funcionamiento.
En las RNAs se simulan las neuronas y sus interconexiones, programándolas en computadores
digitales ordinarios, y se introduce un algoritmo de entrenamiento que permita que se ajusten los
pesos de conexión entre "nodos" (que simulan neuronas), afinando el funcionamiento de la red
hasta convertirla en una máquina específica y dedicada a una función determinada, como
desarrollar una nueva tarea de aprendizaje asociativo o predecir los mercados internacionales de
divisas.
Turing concibió la computadora moderna en 1935. Este matemático británico fue un ser genial,
célebre dentro del mundo científico por la máquina y el test que llevan su nombre.
Pero no sólo concibió la computadora, sino que también concibió la génesis de los modelos
conexionistas actuales (se ha denominado conexionismo al movimiento alrededor del estudio con
RNAs), cosa que muy pocos saben, pues se suele identificar como padre del conexionismo a Frank
Rosenblatt, quién publicó en 1957 muchos artículos sobre este tema. Sin embargo, Turing ya había
investigado las redes conexionistas desde 1948, en el seminal artículo Intelligent Machinery, que
apenas es conocido (Copeland y Proudfoot, 1999).
Este brillante matemático británico pasó sus primeros trece años en la India, donde su padre
trabajaba en la Administración colonial. En 1927 fue capaz de encontrar las series infinitas de la
función tangente inversa sin haber cursado cálculo elemental. Al año siguiente, a la edad de 16 años,
encontró el trabajo de Albert Einstein, que no sólo fue capaz de comprender, sino también de
extrapolar el cuestionamiento que hacía Einstein de las leyes de movimiento de Newton, a partir de
un texto donde no se hacía referencia explícita a esta cuestión.
Pese a su excelente carrera académica, nunca mostró especial interés en dar difusión a sus ideas, y
eso hizo que mucho de su trabajo recibiera poca atención o pasara al olvido. También influyó el que
muchas personas de su época no entendieran los alcances reales de las propuestas de Turing. Por
ejemplo, el manuscrito de Intelligent Machinery, preparado mientras trabajaba para el Laboratorio
Nacional de Física de Londres, no obtuvo el beneplácito de esta institución. Sir Charles Darwin, nieto
del naturalista, quien dirigía el laboratorio como si fuera un colegio, desdeñó el trabajo, calificándolo
de "ensayo escolar". En realidad, este artículo, de largas miras, constituía el primer manifiesto en el
campo de la inteligencia artificial. Por lo tanto, su trabajo permaneció inédito hasta 1968, 14 años
después de su muerte.
En el artículo Intelligent Machinery, Turing idea una red neuronal a la que dio el nombre de
"Máquina Inorgánica de tipo B", que consistía en neuronas artificiales y dispositivos que
modificaban las conexiones entre ellas. Las máquinas tipo B pueden contener neuronas conectadas
atendiendo a una configuración cualquiera, con la condición de que cada conexión entre neuronas
haya de pasar por un dispositivo modificador. Cada dispositivo modificador tiene dos fibras de
entrenamiento: en modo de paso o en modo de interrupción. La presencia de estos modificadores
de conexión hace posible el entrenamiento de una máquina inorgánica tipo B, mediante lo que
Turing denominó "interferencia adecuada, que remede la educación". Para Turing, "la corteza
cerebral infantil constituye una máquina inorgánica, susceptible de organización mediante un
entrenamiento interferente adecuado" (Copeland y Proudfoot, 1999).
MAQUINAS DE TURING
Una máquina de Turing (MT) es un modelo computacional que realiza una lectura/escritura de
manera automática sobre una entrada llamada cinta, generando una salida en esta misma.
Este modelo está formado por un alfabeto de entrada y uno de salida, un símbolo especial llamado
blanco (normalmente b, Δ o 0), un conjunto de estados finitos y un conjunto de transiciones entre
dichos estados. Su funcionamiento se basa en una función de transición, que recibe un estado
inicial y una cadena de caracteres (la cinta, la cual puede ser infinita) pertenecientes al alfabeto de
entrada. La máquina va leyendo una celda de la cinta en cada paso, borrando el símbolo en el que
se encuentra posicionado su cabezal y escribiendo un nuevo símbolo perteneciente al alfabeto de
salida, para luego desplazar el cabezal a la izquierda o a la derecha (solo una celda a la vez). Esto se
repite según se indique en la función de transición, para finalmente detenerse en un estado
final o de aceptación, representando así la salida.
donde:
es el estado inicial.
Existen en la literatura un abundante número de definiciones alternativas, pero todas ellas tienen
el mismo poder computacional, por ejemplo se puede añadir el símbolo como símbolo de "no
movimiento" en un paso de cómputo.
CÓMO FUNCIONA LA MÁQUINA
La máquina de Turing consta de un cabezal lector/escritor y una cinta infinita en la que el cabezal
lee el contenido, borra el contenido anterior y escribe un nuevo valor. Las operaciones que se
pueden realizar en esta máquina se limitan a:
Avanzar el cabezal lector/escritor hacia la derecha.
Avanzar el cabezal lector/escritor hacia la izquierda.
El cómputo es determinado a partir de una tabla de estados de la forma:
(estado, valor) (nuevo estado, nuevo valor, dirección)
Esta tabla toma como parámetros el estado actual de la máquina y el carácter leído de la cinta,
dando la dirección para mover el cabezal, el nuevo estado de la máquina y el valor a escribir en la
cinta.
La memoria es la cinta de la máquina que se divide en espacios de trabajo denominados celdas,
donde se pueden escribir y leer símbolos. Inicialmente todas las celdas contienen un símbolo
especial denominado "blanco". Las instrucciones que determinan el funcionamiento de la máquina
tienen la forma, "si estamos en el estado x leyendo la posición y, donde hay escrito el símbolo z,
entonces este símbolo debe ser reemplazado por este otro símbolo, y pasar a leer la celda siguiente,
bien a la izquierda o bien a la derecha".
La máquina de Turing puede considerarse como un autómata capaz de reconocer lenguajes
formales. En ese sentido, es capaz de reconocer los lenguajes recursivamente enumerarles, de
acuerdo a la jerarquía de Chomsky. Su potencia es, por tanto, superior a otros tipos de autómatas,
como el autómata finito, o el autómata con pila, o igual a otros modelos con la misma potencia
computacional.
Diagrama de una máquina de Turing multicinta, las flechas indican los cabezales de lectura/escritura.
Una MT con más de una cinta consiste de un control finito con k cabezales lectores/escritores
y k cintas. Cada cinta es infinita en ambos sentidos. La MT define su movimiento dependiendo del
símbolo que está leyendo cada uno de sus cabezales, da reglas de sustitución para cada uno de los
símbolos y dirección de movimiento para cada uno de los cabezales. Inicialmente la MT empieza con
la entrada en la primera cinta y el resto de las cintas en blanco.
¿Cómo sabe una máquina no determinista qué acción tomar de las varias posibles? Hay dos formas
de verlo: una es decir que la máquina es "el mejor adivino posible", esto es, que siempre elige la
transición que finalmente la llevará a un estado final de aceptación. La otra es imaginarse que la
máquina se "clona", bifurcándose en varias copias, cada una de las cuales sigue una de las posibles
transiciones. Mientras que una máquina determinista sigue un único "camino computacional", una
máquina no determinista tiene un "árbol computacional". Si cualquiera de las ramas del árbol
finaliza en un estado de aceptación, se dice que la máquina acepta la entrada.
La capacidad de cómputo de ambas versiones es equivalente; se puede demostrar que dada una
máquina de Turing no determinista existe otra máquina de Turing determinista equivalente, en el
sentido de que reconoce el mismo lenguaje, y viceversa. No obstante, la velocidad de ejecución de
ambos formalismos no es la misma, pues si una máquina no determinista M reconoce una cierta
palabra de tamaño n en un tiempo , la máquina determinista equivalente reconocerá la
palabra en un tiempo . Es decir, el no determinismo permitirá reducir la complejidad de
la solución de los problemas, permitiendo resolver, por ejemplo, problemas de complejidad
exponencial en un tiempo polinómico.
APLICACIONES
Las computadoras como hoy las conocemos fueron diseñadas por Von Newman, el cual afirma que
la base de la computadora es un aparato que implementa una máquina de Turing. A este aparato lo
conocemos como unidad central de procesamiento o bien, procesador.
Gracias a la demostración de que una máquina de Turing puede inclusive simular otra máquina de
Turing, se inventaron los sistemas operativos multitarea. El sistema operativo multitarea es una
máquina de Turing y cada programa también es una máquina de Turing, pero están siendo
"simuladas" por la única implementación de la máquina de Turing que es el procesador.
Por la misma razón, es posible hacer un emulador de otras computadoras dentro de las nuestras,
un claro y básico ejemplo, es cómo podemos emular el super-nintendo (otra máquina de Turing) y
cada uno de sus cartuchos con el programa Zsnes.
Es por eso que sabemos que con las computadoras de hoy se puede hacer lo mismo que con las del
futuro con las únicas limitaciones de la velocidad o de la memoria, un ejemplo claro de esta
afirmación, se puede sacar de NASA, quienes siguen usando muchas computadoras de los 80s.
Además, se sabe que inclusive es posible simular una computadora del futuro en una actual.
CONCLUSIÓN
Para concluir el trabajo se puede resumir que Turing, en sus años pese a ser un aventajado en lo
referente a computación, informática e inteligencia artificial se vio limitado por los paradigmas que
en ese entonces regían en el ámbito de su aplicación, aun superando los inconvenientes que se le
presentaron su obra fue menospreciada y desvalorada debido a sus conductas inmorales en la
sociedad europea del siglo XX.
Pese a lo antes mencionado su aporte con el paso del tiempo, ha recobrado el valor que nunca debió
perder, y se le han dado los créditos y reconocimientos meritorios, en relación a las repercusiones
que han tenido sus logros y descubrimientos en todo el campo informático y computacional,
dándole el crédito por sus innovaciones y siendo considerado como el padre de la inteligencia
artificial, y el creador de las bases de toda la computación moderna.
La máquina de Turing, en conclusión, es la idea de trasfondo de lo que hoy se entiende por
procesador, donde éste puede reconocer lenguajes, y generar operaciones en base a la lógica
aplicada décadas antes en una abstracción imaginativa del científico Turing, permitiendo a través
de su estudio y comprensión el desarrollo de hitos tan importantes como lo es la multitarea o la
emulación, dos conceptos muy familiares que tienen su origen en lo antes desarrollado por Turing.