Está en la página 1de 18

Lenguajes Estructurados

por Frases
Actividad Individual
Mauricio Sagastuy Código 1077865116
CEAD PITALITO
QUE ES MAQUINA DE TURING

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.
SU FUNCIONAMIENTO

 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.
COMO ESTA CONFORMADA

 Este modelo está conformado 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 es finita por la izquierda) pertenecientes
al alfabeto de entrada. Luego va leyendo una celda de la cinta,
borrando el símbolo, escribir el nuevo símbolo perteneciente al
alfabeto de salida y finalmente avanza a la izquierda o a la
derecha(solo una celda a la vez), repitiendo esto 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.
FUNCIONALIDAD

 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)
FUNCIONALIDAD

 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 ser escrito en la cinta.

Con este aparato extremadamente sencillo es posible


realizar cualquier cómputo que un computador digital
sea capaz de realizar.
FUNCIONALIDAD

Mediante este modelo teórico y el análisis de


complejidad de algoritmos, fue posible la
categorización de problemas computacionales
de acuerdo a su comportamiento,
apareciendo así, el conjunto de problemas
denominados P y NP, cuyas soluciones en
tiempo polinómico son encontradas según el
determinismo y no determinismo
respectivamente de la máquina de Turing.
FUNCIONALIDAD

De hecho, se puede probar


matemáticamente que para cualquier
programa de computadora es posible
crear una máquina de Turing equivalente.
Esta prueba resulta de la Tesis de Church-
Turing, formulada por Alan Turing y Alonzo
Church, de forma independiente a
mediados del siglo XX.
COMO FUNCIONA

 Una máquina de Turing es un dispositivo que transforma


un INPUT en un OUTPUT después de algunos pasos. Tanto
el INPUT como el OUPUT constan de números en código
binario (ceros y unos). En su versión original la máquina
de Turing consiste en una cinta infinitamente larga con
unos y ceros que pasa a través de una caja. La caja es
tan fina que solo el trozo de cinta que ocupa un bit (0 ó
1) está en su interior. La máquina tiene una serie de
estados internos finitos que también se pueden numerar
en binario.
COMO FUNCIONA

 Para llevar a cabo algún algoritmo, la máquina se


inicializa en algún estado interno arbitrario. A
continuación, se pone en marcha y la máquina lee el
bit que se encuentra en ese momento en su interior y
ejecuta alguna operación con ese bit (lo cambia o no,
dependiendo de su estado interno). Después se mueve
hacia la derecha o hacia la izquierda, y vuelve a
procesar el siguiente bit de la misma manera. Al final se
para, dejando el resultado al lado izquierdo por
ejemplo.
EJEMPLO

Una instrucción típica podría ser: 01 11011i

La traducción es como sigue: si la máquina se


encuentra en el estado interno 0 y lee 1 en la
cinta, entonces pasará al estado interno 1101
(13), escribirá 1 y se moverá hacia la izquierda
un paso (la cinta se moverá hacia la derecha).
EJEMPLO

 A continuación es conveniente inventar una notación


para la secuencia del INPUT. Esta notación se llama
notación binaria expandida. Consiste en cambiar la
secuencia original binaria por otra construida de la
siguiente forma: el 0 se cambia por 0 y el 1 por 10 y se
ponen un cero a la izquierda y/o a la derecha del
resultado si empieza o acaba en 1 respectivamente. Así
por ejemplo, el número 13 que en binario es 1101 es en
binario expandido 1010010 con un cero delante por
esta última regla 01010010. Para volver al original hay
que contraer el binario expandido con la siguiente
regla:
EJEMPLO

 Empezamos a leer por la izquierda el binario expandido.


Cuando encontremos un 0 tomamos nota de cuántos 1
hay hasta llegar al siguiente 0 y lo escribimos. Si
encontramos que hay dos 0 seguidos, apuntaríamos un
0 porque no habría ningún 1.Veamos con el 13 cómo se
haría. El primer 0 se encuentra en la primera posición y
el siguiente 0 está en la posición 3. Entre los dos solo hay
un 1. Lo anotamos. Seguidamente hay un 1, y después
un 0, entonces apuntamos 1 porque hay un 1 entre
medias de ellos. Esto es lo que se hace sucesivamente y
encontramos: 1101 que es el número original.
EJEMPLO
 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.


EJEMPLO

 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 ser escrito en la cinta.
EJEMPLO

 La memoria será la cinta la cual 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 enumerables,
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
BIBLIOGRAFIA

 formatalent.com/que-es-una-maquina-de-turing-y-como-funciona/
 https://www.youtube.com/watch?v=NS-NQ5mCSs8

También podría gustarte