Está en la página 1de 10

2021

Instituto Tecnológico
Superior de
Chicontepec.
Ingeniería en Sistemas
Computacionales
Lenguajes y Autómatas 1
Docente: Bernardo de la Cruz Feliciano
UNIDAD 6 MAQUINAS DE TURING

TECNOLÓGICO NACIONAL DE
MEXICO
INSTITUTO TECNOLÓGICO SUPERIOR
DE CHICONTEPEC

INGENIERÍA EN SISTEMAS COMPUTACIONALES


LENGUAJES Y AUTOMATAS 1
HUMBERTO HERNANDEZ MARQUEZ
1817V0066
6° SEMESTRE SABATINO

PRODUCTOS QUE ENTREGA:


INVESTIGACION UNIDAD 6 MAQUINAS DE TURING

5 de mayo de 2021 1
UNIDAD 6 MAQUINAS DE TURING

INTRODUCCIÓN
Los algoritmos son una secuencia lógica y detallada de pasos para solucionar un

problema. Su campo es amplio y dinámico e intervienen directamente en la vida


de las

organizaciones resolviendo problemas mediante programas de computadora en


las distintas áreas de la empresa. Así, dada su importancia, son objeto de estudio
de la asignatura Análisis, Diseño e Implantación de Algoritmos, desarrollada en
cinco unidades. En la primera unidad, se estudian los conceptos necesarios para
comprender los algoritmos y sus características, así como los autómatas y los
lenguajes formales utilizados; y se aborda el autómata finito determinista, conocido
como máquina de Turing, y algunos ejemplos de su aplicación.

5 de mayo de 2021 2
UNIDAD 6 MAQUINAS DE TURING

MAQUINAS DE TURING

Una máquina de Turing es un dispositivo que manipula símbolos sobre una tira de
cinta de acuerdo con una tabla de reglas. A pesar de su simplicidad, una máquina
de Turing puede ser adaptada para simular la lógica de cualquier algoritmo de
computador y es particularmente útil en la explicación de las funciones de una CPU
dentro de un computador. (mente, 2015)

Originalmente fue definida por el matemático inglés Alan Turing como una «máquina
automática»

fue introducida por Alan M. Turing en 1936, y puede considerarse como un modelo
abstracto que formaliza la idea Intuitiva de algoritmo.

DEFINICIÓN FORMAL DE UNA MT

(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á 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.

1ejemplo de una máquina de Turing

5 de mayo de 2021 3
UNIDAD 6 MAQUINAS DE TURING

Una máquina de Turing con una sola cinta puede ser definida como una 7-tupla;

donde:

Q es un conjunto finito de estados.


∑ es un conjunto finito de símbolos distinto del espacio en blanco, denominado
alfabeto de máquina o, de entrada.
es un conjunto finito de símbolos de cinta, denominado alfabeto de cinta

es el estado inicial.
es un símbolo denominado blanco, y es el único símbolo que se puede
repetir un número infinito de veces.
es el conjunto de estados finales de aceptación.

Es una función parcial denominada función de transición, donde L es un movimiento


a la izquierda y R 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. Las máquinas de Turing se pueden representar mediante grafos
particulares, también llamados diagramas de estados finitos, de la siguiente
manera:

5 de mayo de 2021 4
UNIDAD 6 MAQUINAS DE TURING

Esta Máquina de Turing está definido sobre el alfabeto Σ={a,b,c}, posee el conjunto
de estados
Q={qo,q1,q2,q3,q4,q5,q6}, con las transiciones que se pueden ver. Su estado inicial
es q1 y el estado final es q0, el lenguaje de salida δ={X,Y,Z,B} siendo B el símbolo
denominado Blanco.
Esta Máquina reconoce la expresión regular de la forma {a^n b^n c^n,n>=0} .

CONSTRUCCION MODULAR DE UNA MT

El objetivo de la creación modular de una máquina de Turing es poder desarrollar


máquinas complejas a partir de bloques elementales, a partir de máquinas más
pequeñas, mediante diagramas de transiciones. La construcción de máquinas 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. (contexto, 2013)
Pasos para la construcción de una máquina de Turing:
1. Elimine las características de inicio de los estados iniciales de las máquinas,
excepto la de aquel donde iniciara la maquina compuesta.
2. Elimine las características de detención de los estados de parada de todas
la maquinas e introduzca un nuevo estado de parada que no se encuentre
en ninguno de los diagramas que se combinan.
3. Para cada uno de los antiguos estados de parada p y cada x en y.

2Ejemplificación de dicha construcción

5 de mayo de 2021 5
UNIDAD 6 MAQUINAS DE TURING

Los diagramas compuestos para la construcción modular de una máquina de Turing:


Son aquellos en los que cada uno de los bloques de construcción se representa
como un nodo, con flechas entre dichos nodos para indicar las transiciones entre
bloques.
Se puede combinar dos máquinas de Turing permitiendo que compartan la misma
cinta y, que cuando una termine su ejecución, la otro empiece. El contenido de la
cinta cuando comienza la ejecución de la segunda máquina de Turing, está formado
por todo lo que dejó la primera máquina de Turing, y la cabeza de l/e de la segunda
se situará, al comienzo de la ejecución, sobre la celda de la cinta sobre la que
terminó la primera.
Un sistema Turing completo es aquel que puede simular el comportamiento de una
máquina de Turing. Es evidente que, salvando los problemas de memoria, los
ordenadores modernos y los lenguajes de programación de uso general, son
sistemas de Turing completos. También es evidente, que, con independencia de su
forma concreta, cualquier dispositivo que se comporte como un sistema de Turing
completo, puede en principio ejecutar cualquier cálculo que realice cualquier
computador.
Nota: Observe que la anterior afirmación no menciona para nada la posible dificultad
de escribir el programa o del tiempo que pueda emplear en realizar el cálculo
(cualquier cálculo que pueda hacer un ordenador puede teóricamente efectuarse
con papel y lápiz).
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.

3Máquinas de Turing Compuesta

5 de mayo de 2021 6
UNIDAD 6 MAQUINAS DE TURING

LENGUAJES ACEPTADOS POR LA MT

De acuerdo a la clasificación de los lenguajes formales realizada por el


norteamericano Abram Chomsky, la Máquina de Turing acepta los lenguajes más
generales, o tipo cero (0), también llamados lenguajes recursivamente
enumerables.
Un lenguaje recursivamente e numerable es un lenguaje formal para el cual existe
una máquina de Turing que acepta y se detiene con cualquier cadena del lenguaje,
pero que puede parar y rechazar, o bien iterar indefinidamente, con una cadena que
no pertenece al lenguaje. Todos los lenguajes, regulares, independientes de
contexto, dependientes de contexto y recursivos son recursivamente enumerables.
Una cadena ω∈A^*, es aceptada por una MT, si comienza en el estado e0, con la
cabeza de lectura/escritura en el símbolo más a la izquierda, luego de leer toda la
cadena ω, llega a un estado e_f∈F. El lenguaje aceptado por MT, es el conjunto de
todas las cadenas que son aceptadas por MT:
L(MT)={ω / e_0 ω ⊢*α_1 e_f α_2 y e_f∈F y α_1,α_1 ∈C^* y ω∈A^* }
Tenemos por ejemplo una MT que reconoce el lenguaje {0^n 1^n:n≥1}. Las
transiciones de la máquina se representan como sigue:

Se evalúa la cadena w = 1100, arrojando el siguiente resultado:

Otras cadenas también aceptadas por esta MT son 11110000, 10,


11111110000000.

5 de mayo de 2021 7
UNIDAD 6 MAQUINAS DE TURING

CONCLUSIÓN

Una Máquina de Turing, o MT, se considerar una cinta infinita dividida en casillas,
cada una de las cuales contiene un símbolo, y sobre la cual actúa un dispositivo que
puede adoptar diversos estados, y que lee un símbolo de la casilla sobre la que está
situado. En función de dicho símbolo y del estado actual, se pueden realizar tres
acciones siguientes: pasa a un nuevo estado, imprime un símbolo en lugar del que
acaba de leer y se desplaza a una posición hacia la izquierda, derecha, o se detiene.

La creación modular de una máquina de Turing permite desarrollar máquinas


complejas a partir de bloques elementales, mediante diagramas de transiciones. La
construcción de máquinas de Turing se lleva a cabo mediante dichos diagramas de
transición, y sus combinaciones.

5 de mayo de 2021 8
UNIDAD 6 MAQUINAS DE TURING

Referencias

contexto, L. l. (7 de mayo de 2013). Lenguajes libres de contexto. Obtenido de


http://teodelacomp.blogspot.com/2011/04/3.html
mente, P. y. (9 de mayo de 2015). Psicologia y mente. Obtenido de
https://psicologiaymente.com/cultura/maquina-de-turing

5 de mayo de 2021 9

También podría gustarte