Alan Turing

Alan Turing

sábado, 20 de noviembre de 2010

EL FUNCIONAMIENTO DE LA MAQUINA DE TURING MULTICINTAS


La MT de dos cintas que reconoce el lenguaje:






Se coloca la cadena de entrada en la primera cinta, la idea es copiar en la segunda cinta una X por cada a y cuando encuentre la primera b, se detiene en la primea cinta, luego se avanza a la derecha en la primera cinta y se avanza a la izquierda en la segunda cinta, cuando encuentra la primera c las dos cintas avanzan hacia la derecha.

La función de transición  es la siguiente, sea:



RECONOCIMIENTO DE CADENAS UTILIZANDO LA MAQUINA DE TURING

 
Es importante porque a través de esta tecnología vemos el progreso de la humanidad  través de los desarrollos de los científicos de la NASA con este sofisticado robot que con la información que perciben del medio ambiente a través de censores y actuadores pueden tomar decisiones razonables en terrenos difíciles.

Claro que si lo considero pertinente para el contenido del curso, por que tradicionalmente los robots han tenido poca interacción con los humanos, por ejemplo los robots industriales, e incluso algunos robots de servicio (aspiradores, cortar pasto).

Este acercamiento al hombre implicará que los robots tengan una serie de  características determinadas que el hombre considera necesarias para aceptarlo. A dichos robots se les puede denominar sociales.

Un punto de partida importante para llegar a considerar la necesidad de tener robots sociales o sociables es considerar y reconocer que el hombre es una especie profundamente social. A menudo el hombre aplica modelos sociales para explicar, comprender y predecir el comportamiento de lo que le rodea.

CONSTRUCCIÓN MODULAR DE LAS MAQUINAS DE TURING

Mediante esta técnica se puedan desarrollarse maquinas de Turing complejas a partir de  bloques de elementales a partir de maquinas mas pequeñas  mediaste diagramas de transiciones.
La construcción de maquinas de Turing se lleva a cabo mediante los diagramas de transición y combinarlos de manera parecida a lo que se realiza en la formación  de la unión y concatenación de los autómatas finitos.

Pasos para la construcción de una máquina de Turing
a)    Elimine las características de inicio de los estados iniciales de las maquinas, excepto la de aquel donde iniciara la maquina compuesta.
b)    Elimine las características de detención de los estados de parada de todas la maquinas e introduzca un nuevo estado de parada que nos se encuentre en ninguno de los diagramas que se combinan.
c)    Para cada uno de los antiguos estados de parada p y cada x en y.


Ejemplificación de  dicha construcción






Una máquina de Turing es un autómata que se mueve sobre una secuencia lineal de datos.  En cada instante la máquina puede leer un solo dato de la secuencia (generalmente un carácter) y realiza ciertas acciones en base a una tabla que tiene en cuenta su "estado" actual (interno) y el último dato leído. 
Entre las acciones está la posibilidad de escribir nuevos datos en la secuencia;  recorrer la secuencia en ambos sentidos y cambiar de "estado" dentro de un conjunto finito de estados posibles.


 


LOS LENGUAJES ACEPTADOS PARA UNA MAQUINA DE TURING (Ejemplos)

Aceptan lenguajes formales que pueden ser generados por una gramática de tipo 0: recursivamente innumerable (r.e) Las maquinas de turing son los reconocedores de lenguaje más poderosos que existen.

Lenguajes regulares: las gramáticas (de tipo 3) formales definen un lenguaje describiendo como se pueden generar las cadenas del lenguaje… Las gramáticas regulares (aquellos reconocidos por un autómata finito). Son las gramáticas más restrictivas. El lado derecho de una producción debe contener un símbolo Terminal y como máximo un símbolo no Terminal.

Lenguajes Libres de contexto: Estas gramáticas conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto. Los lenguajes libres del contexto son aquellos que pueden ser reconocidos por un autómata de pila determínistico o no determínistico. Como toda gramática se definen mediante una cuadrupla G=N, T, S, P), siendo N un conjunto finito de símbolos no terminales; T un conjunto de símbolos terminales: P un conjunto finito de producciones; S es el símbolo distinguido o axioma.




Ejemplo1

Aquí se describe una MT M2 que reconoce el lenguaje consistente de todas las cadenas de 0s cuya longitud es una potencia de 2. La MT decide el lenguaje A = { 02n | n ≥ 0}.

M2 = “Sobre la cadena de entrada w:

1.    Recorrer la cinta de izquierda a derecha, marcando un cero si y otro no.
2.    Si en el paso 1 la cinta contiene sólo un cero, aceptar.
3.    Si en el paso 1 la cinta contiene más de un cero y la cantidad de ceros es impar, rechazar.
4.    Regresar la cabeza de la cinta hasta la posición más a la izquierda.
5.    Ir al paso 1.”

·         Q = { q1, q2, q3, q4, q5, qaceptar, qrechazar }
·         Σ = { 0 }
·         Γ = { 0, x, Џ }
·         δ se describe en el diagrama de estados de la figura 4.4
·         Los estados inicial de aceptación y rechazo son q1, qaceptar, qrechazar, respectivamente















En la figura 4.4 la etiqueta 0 →Џ, R aparece en la transición de q1 a q2. Esto significa que, cuando M2 se encuentra en el estado q1 con la cabeza de la cinta leyendo un 0, la máquina va al estado q2, escribe Џ y mueve la cabeza de la cinta a la derecha (R). En otras palabras δ(q1, 0) = (q2, Џ, R). Para mayor claridad se usa  0 → R en la transición de q3 a q4, lo cual significa que M2 se mueve a la derecha cuando lee un 0 en el estado q3, pero no altera la cinta, δ(q3, 0) = (q4, 0, R).

A continuación podemos ver una corrida de M2 sobre la cadena de entrada 0000.













Ejemplo2

El siguiente ejemplo es una descripción formal de M1 = (Q, Σ, Γ, δ, qo, qaceptar, qrechazar). La máquina de Turing que decide el lenguaje B = { w#w | w Є { 0, 1 } * }.

·         Q = { q1, q2, … , q14, qaceptar, qrechazar }

·         Σ = { 0, 1, # }

·         Γ = { 0, 1, #, x, Џ }

·         δ se describe en el diagrama de estados de la figura 4.5

·         Los estados inicial de aceptación y rechazo son q1, qaceptar, qrechazar, respectivamente





·          













Ejemplo 3


La máquina de Turing M4 resuelve el llamado problema de la distinción. Se da una lista de cadenas sobre { 0, 1 } separadas por # y su trabajo es aceptar si todas las cadenas son distintas. EL lenguaje es

E = { #x1#x2# … #xk | cada xi Є { 0,1 }* y xi ≠ xj para cada i ≠ j }.

M4 = “Sobre la cadena de entrada w:

1.    Colocar una marca en el símbolo más a la izquierda en la cinta. Si dicho símbolo es un blanco, aceptar. Si dicho símbolo es un #, continuar al siguiente paso. De otra manera, rechazar.

2.    Barrer a la derecha hasta el siguiente # y colocar una segunda marca sobre este. Si no se encuentra otro # antes de un símbolo blanco, sólo xi está presente, entonces aceptar.

3.    Con movimientos de zig-zag, comparar las dos cadenas a la derecha de los símbolos # marcados. Si son iguales, rechazar.

4.    Mover la marca más a la derecha hacia el siguiente #. Si no se encuentra otro # antes de un símbolo blanco, mover la marca más a la izquierda al siguiente # y la segunda marca a un lado. Si no se encuentra otro # para la marca más a la derecha, significa que ya han sido comparadas todas las cadenas, aceptar.

5.    Ir al paso 3.”


EJEMPLO DE MAQUINA DE TURING; REPRESENTACIÓN GRAFICA, ELEMENTOS CORRESPONDIENTES Y RECONOCIMIENTO DE CADENA


Definimos una máquina de Turing sobre el alfabeto {0,1}, donde 0 representa el símbolo blanco. La máquina comenzará su proceso situada sobre un símbolo "1" de una serie. La máquina de Turing copiará el número de símbolos "1" que encuentre hasta el primer blanco detrás de dicho símbolo blanco. Es decir, situada sobre el 1 situado en el extremo izquierdo, doblará el número de símbolos 1, con un 0 en medio. Así, si tenemos la entrada "111" devolverá "1110111", con "1111" devolverá "111101111", y sucesivamente.
El conjunto de estados es :
y el estado inicial es S1


La tabla que describe la función de transición es la siguiente:









El funcionamiento de una computación de esta máquina se puede mostrar con el siguiente ejemplo (en negrita se resalta la posición de la cabeza lectora/escritora):




















La máquina realiza su proceso por medio de un bucle, en el estado inicial s1, reemplaza el primer 1 con un 0, y pasa al estado s2, con el que avanza hacia la derecha, saltando los símbolos 1 hasta un 0 (que debe existir), cuando lo encuentra pasa al estado s3, con este estado avanza saltando los 1 hasta encontrar otro 0 (la primera vez no habría ningún 1). Una vez en el extremo derecho, añade un 1. Después comienza el proceso de retorno; con s4 vuelve a la izquierda saltando los 1, cuando encuentra un 0 (en el medio de la secuencia), pasa a s5 que continúa a la izquierda saltando los 1 hasta el 0 que se escribió al principio. Se reemplaza de nuevo este 0 por 1, y pasa al símbolo siguiente, si es un 1, se pasa a otra iteración del bucle, pasando al estado s1 de nuevo. Si es un símbolo 0, será el símbolo central, con lo que la máquina se detiene al haber finalizado su cómputo


ELEMENTOS:




martes, 16 de noviembre de 2010

CLASIFICACIÓN DE MÁQUINA DE TURING

Máquina de Turing Multicinta:

En este modelo, la máquina de Turing tiene k cintas, infinitas en ambos sentidos, y k cabezales de L/E, Sólo hay una entrada de información, en la primera cinta. Los tres pasos asociados a cada transición son ahora: transición de estado, escribir un símbolo en cada una de las celdas sobre las que están los cabezales de L/E, el movimiento de cada cabezal es independiente y será R, L ó NADA (Z).

Máquina de Turing No Determinista:
Es una Máquina de Turing con cinta limitada a la izquierda, que se caracteriza por que a partir de un estado y un símbolo puede haber diferentes transiciones,
El número de transiciones asociado a cada para estado/símbolo SIEMPRE ES FINITO.

Máquina de Turing Multidimensional:
En este modelo la cinta es un array de k dimensiones de celdas, infinito en las 2k direcciones posibles. Dependiendo del estado y del símbolo leído, hay una transición que difiere de las de la Máquina de Turing unidimensional en que el movimiento puede ser en cualquiera de las 2k direcciones existentes. Se considera que la entrada está sobre un eje, y que la posición inicial del cabezal está ajustada a la izquierda de esa entrada.

Máquina de Turing con Múltiples Cabezales:
Tiene k cabezales de L/E, como la multicinta, pero con una sola cinta. Los cabezales operan todos de forma independiente. Como en las Máquinas de Turing multicinta, se admiten movimientos L, R ó Z.

 Máquina de Turing Offline:
Es un caso particular de las Máquinas de Turing multicinta: tienen una cinta especial de sólo lectura en la que el cabezal, que sólo puede moverse hacia la derecha, no puede moverse de la zona delimitada por una par de símbolos especiales.

MÁQUINA DE TURING:REPRESENTACÓN GRAFICA Y ELEMENTOS

Reconocimiento de cadena:

Se parte del estado inicial, y la cinta contiene símbolos de entrada.
Se efectúan las transiciones pertinentes según la función de transición.
Si la cabeza lectora rebasa el extremo izquierdo de la cinta, la cadena es rechazada y el proceso termina (terminación anormal).
Si la máquina alcanza el estado de parada, la cadena es aceptada.

QUÉ ES MAQUINA DE TURING Y CÓMO FUNCIONA?

Es un dispositivo de reconocimientos de lenguaje, es más general que cualquier autómata finito y cualquier autómata de pila, debido a que ellas pueden reconocer tanto los lenguajes regulares, como los lenguajes independientes de contexto y además muchos otros tipos de lenguajes.
La máquina de Turing (abreviado MT) tiene, un control finito, una cabeza lectora y una cinta donde puede haber caracteres, y donde eventualmente viene la palabra de entrada. La cinta es de longitud infinita hacia la derecha, hacia donde se extiende indefinidamente, llenándose los espacios con el carácter blanco (que representaremos con “t”). La cinta no es infinita hacia la izquierda, por lo que hay un cuadro de la cinta que es el extremo izquierdo, la MT la cabeza lectora es de lectura y escritura, por lo que la cinta puede ser modificada en curso de ejecución. Además, en la MT la cabeza se mueve bidireccionalmente (izquierda y derecha), por lo que puede pasar repetidas veces sobre un mismo segmento de la cinta

PRUEBA DE TURING (MAQUINA-PERSONA)

Turing "en 1950 propuso una prueba que se conoce como el ‘test de Turing’, el cual se basa en la idea siguiente: si una persona se comunica sólo a través de un terminal con otras dos partes, que están escondidas, y no se puede discriminar a través de preguntas cuál de ambas partes es una persona y cuál es un ordenador, entonces no se puede negar que la máquina muestra la cualidad que, en las personas, se llama ‘inteligencia’. Tal procedimiento tiene la ventaja de no tener que definir lo que es la inteligencia. Turing creía firmemente que máquinas que piensen llegarían a existir y predijo que hacia el año 2000 una máquina jugaría al ‘juego de imitación’, como él llamó al test, de manera que un interrogador medio no tendría más del 70 por 100 de posibilidades de efectuar la identificación correcta tras cinco minutos de preguntas." (Enric Trillas55)

En el desarrollo de la computadora, la teoría antecedió a la práctica. El manifiesto del nuevo orden electrónico de cosas fue un trabajo ("On Computable Numbers" -Sobre números calculables-) publicado en 1936, por el matemático y lógico A.M.Turing, el cual determinó la naturaleza y las limitaciones teóricas de las máquinas lógicas antes de que se construyera siquiera una sencilla computadora por completo programable. (Bolter17)Turing... en 1950 publicó "Computing Machinery and Intelligence"... expresó su convicción de que las computadoras eran capaces de imitar perfectamente la inteligencia humana y que tal hazaña la realizarían hacia el Turing "en 1950 propuso una prueba que se conoce como el ‘test de Turing’, el cual se basa en la idea siguiente: si una persona se comunica sólo a través de un terminal con otras dos partes, que están escondidas,, y no se puede discriminar a través de preguntas cuál de ambas partes es una persona y cuál es un ordenador, entonces no se puede negar que la máquina muestra la cualidad que, en las personas, se llama ‘inteligencia’. Tal procedimiento tiene la ventaja de no tener que definir lo que es la inteligencia. Turing creía firmemente que máquinas que piensen llegarían a existir y predijo que hacia el año 2000 una máquina jugaría al ‘juego de imitación’, como él llamó al test, de manera que un interrogador medio no tendría más del 70 por 100 de posibilidades de efectuar la identificación correcta tras cinco minutos de preguntas." (Enric Trillas55)
En el desarrollo de la computadora, la teoría antecedió a la práctica. El manifiesto del nuevo orden electrónico de cosas fue un trabajo ("On Computable Numbers" -Sobre números calculables-) publicado en 1936, por el matemático y lógico A.M.Turing, el cual determinó la naturaleza y las limitaciones teóricas de las máquinas lógicas antes de que se construyera siquiera una sencilla computadora por completo programable.(Bolter17)
Turing... en 1950 publicó "Computing Machinery and Intelligence"... expresó su convicción de que las computadoras eran capaces de imitar perfectamente la inteligencia humana y que tal hazaña la realizarían hacia el año 2000.
Al prometer (o al amenazar) sustituir al hombre, la computadora nos ofrece una nueva definición de hombre, como "procesador de información", y de naturaleza, como "información que debe ser procesada". (Bolter18)
Al prometer (o al amenazar) sustituir al hombre, la computadora nos ofrece una nueva definición de hombre, como "procesador de información", y de naturaleza, como "información que debe ser procesada".


Fundamentos de la prueba de Turing
El origen de esta prueba surge de la pregunta ¿pueden pensar las máquinas?. Ante esta questión Turing propuso otra forma de verla a modo de un juego, al que llamó "juego de imitación" debido a los fundamentos en los que se basaba, los cuales son inicialmente un escenario constituido por tres personas, un hombre (al que llamaremos individuo A), una mujer (individuo B) y un interrogador que puede ser hombre o mujer.
El interrogador se sitúa en otra habitación separado de los otros dos participantes, y su objetivo principal será determinar cuál de los dos es el hombre y cuál la mujer a los que se referirá como individuos A y B.
Para evitar que el tono de voz pudiera delatar a alguno de los interrogados, las respuestas deberán ser ofrecidas al interrogador de forma escrita y mecanografiadas. Otra alternativa a para no dar a conocer los tonos de voz de los interrogados consiste en situar a un intermediario entre los interrogados (A y B) y el interrogador, cuya única función sería en comunicar las preguntas y respuestas entre ambos bandos.
Una vez establecido este escenario inicial, surge la pregunta de qué ocurriría si una máquina desempeñara el papel de A o de B, será el interlocutor capaz de averiguar que la persona interrogada no es una persona sino una máquina, es decir, llegamos a la pregunta planteada inicialmente ¿pueden pensar las máquinas?.
Uno de los principios de este problema se centra en establecer una línea que diferencie entre lo que son capacidades físicas y las intelectuales de un hombre. Este hecho se refleja por la incapacidad que presenta el interlocutor de tocar a los interrogados y poder oír sus voces.
Basar esta prueba en una metodología centrada en preguntas y respuestas parece la más adecuada para poder tratar un mayor número de campos posibles de la actividad humana y que sean considerados de mayor importancia con respecto a su capacidad intelectual. De este modo, resulta obvio que la mejor estrategia de la que va a disponer la máquina será tratar de dar las respuestas que de forma natural daría un hombre.
Cabe destacar, que mediante esta prueba Turing no se busca responder si todos los computadores darían un buen resultado, ni tampoco si los computadores disponibles en este momento lo harían, sino llegar a la conclusión de si hay computadores imaginables que utilizando de forma adecuada la estrategia anteriormente expuesta y nos permitan responder responder a la cuestión inicial de si una máquina puede o no pensar