Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad III y IV Lenguajes y Automatas I PDF
Unidad III y IV Lenguajes y Automatas I PDF
Autómatas I
UNIDAD III: Autómatas Finitos
UNIDAD IV: Máquina de Turing
Profesor:
I.S.C: Rosemberg López
Jiménez
Contenido
INTRODUCCIÓN.................................................................................................................................. 2
UNIDAD III AUTOMATAS FINITOS ................................................................................................ 3
3.1 Definición formal ............................................................................................................................... 4
3.2 Clasificación de AF ........................................................................................................................... 5
3.3 Conversión de un AFND a AFD ....................................................................................................... 9
3.4 Representación de ER usando AFND ............................................................................................. 11
3.5 Minimización de estados en un AF ................................................................................................. 13
3.6 Aplicaciones (definición de un caso de estudio) .............................................................................. 14
UNIDAD IV MAQUINA DE TURING .............................................................................................. 19
Adentrándose a la Historia de la MT .................................................................................................... 20
4.1 Definición formal MT 4 ............................................................................................................... 20
4.2 Construcción modular de una MT ............................................................................................... 23
4.3 Lenguajes aceptados por la MT. ................................................................................................. 25
CONCLUSIÓN ..................................................................................................................................... 28
BIBLIOGRAFÍA AF ........................................................................................................................... 29
BIBLIOGRAFIA MT .......................................................................................................................... 30
INTRODUCCIÓN
En el siguiente escrito se abordarán temas a cerca de los autómatas finitos y subtemas de la 3ª
unidad del plan de estudios de la materia LENGUAJES Y AUTOMATAS I; donde se aprenderá
y conocerá la importancia del estudio de los autómatas dentro de los procesos de desarrollo de
software, y algunas aplicaciones.
Partiendo del conocimiento de sus comportamientos, aspectos y características más relevantes
de estos autómatas. Los autómatas son esencialmente importantes en las actividades sociales,
ya que se encuentran dentro de todo tipo de maquinaria y aplicaciones desarrolladas, donde estas
tienen las funcionalidades específicas con las que realizan sus operaciones y actividades;
además de sus comportamientos, características y funcionalidad que tienden los autómatas se
detallara cómo influyen en la vida social y real de los ser humanos.
Los autómatas finitos, son antes de todos logísticas matemáticas, en las que se realizan
operaciones en cada estado de los eventos, estos eventos pueden ser de un solo estado o varios;
al tener acciones con estados de dos o más eventos, los autómatas finitos tienden a cambiar de
finitos determinísticos a no determinísticos.
Dentro de estas hojas se denotan las esquematizaciones de los nuevos autómatas finitos:
Determinísticos
No Determinísticos
Se conocerán su estructuras, funcionalidades y comportamientos entre estos dos tipos de
autómatas, dentro de ello se abarcara las conversiones o transformaciones entre estos autómatas.
Como breve definición un autómata finito o máquina de estado finito: es un modelo
matemático de un sistema que recibe una cadena constituida por símbolos de un alfabeto
y determina si esa cadena pertenece al lenguaje que el autómata reconoce.
En la sección de la MT, se conocerá deforma formal que es una máquina de Turing y sus
componentes; además de ello se detallara de forma explícita algunos conceptos sobre su
desarrollo y formación.
La máquina de Turing es un dispositivo capaz de establecer los problemas intratables, para
conocer si es resolutorio o no. Tales confirmaciones se deben y se detallan de cada proceso u
problemas matemáticos de la vida real.
Al igual que los AF la máquina de Turing utiliza estructuras, transiciones y formas de
conformación para la representación de los modelos matemáticos, de situación en las que se
desea conocer si estos tienen soluciones, ya que un computador no puede definir dicha
confirmación, ya que es un proceso tardado.
UNIDAD III
AUTOMATAS
FINITOS
Definición 1
El Autómata Finito es la máquina más restrictiva de todas y desde luego que se puede definir
como un caso particular de una MT. También podemos verla como un AP sin pila. Obviamente
que al sacarle la pila lo único que queda es la cinta finita de entrada. Este modelo matemático
abstracto representa la solución del problema de aceptación de lenguajes de tipo 3 o LR. 3.1a
Definición 2
Son máquinas formales que se usan para reconocer lenguajes regulares. Lenguajes más
sencillos, los lenguajes que son generados por gramáticas regulares.
Con ello se deduce que un autómata finito es; una máquina con un número finito de estados
que lee símbolos de una cinta de entrada infinita. El comportamiento de la máquina está
determinado únicamente por el estado en que se encuentra y el símbolo en la cinta de
entrada. Al leer un símbolo de la cinta de entrada cambia de estado y avanza en la cinta de
entrada. Cuando ya no quedan símbolos por leer, se detiene. Aun cuando la cinta es infinita,
la cadena que guía el comportamiento del autómata no lo es. Esta cadena puede ser tan larga
como se quiera, pero siempre finita. 3.1b
Definición 3
Estado de aceptación f.
3.2 Clasificación de AF
Los autómatas finitos se pueden clasificar en función del tipo de control como:
Ambos definen los mismos lenguajes (regulares), sin embargo los No deterministas permiten
describir más eficientemente determinados problemas.3.2a
Para conocer más afondo sobre los autómatas finitos determinísticos y no determinísticos, a
continuación se detallara de forma breve cada uno de estos autómatas; ya que es necesario para
poder entender y comprender el siguiente tema de conversiones de un autómata finito no
determinístico a un autómata finito determinístico.
Autómata finito determinístico (AFD); es aquel que siempre está en un solo estado después
de leer cualquier secuencia de entradas; la palabra determinista nos dice que para cada entrada
existe un único estado al que el autómata puede llegar partiendo del estado actual; comencemos
dando la definición formal. El autómata finito determinista. El término “determinista” hace
referencia al hecho de que, para cada entrada, existe un único estado al que el autómata
pueda llegar partiendo del estado actual.
Un AFD genera un solo tipo de salida: acepta o no una secuencia de símbolos de entrada. Esa
aceptación está representada si el autómata se encuentra en algún estado del conjunto F. El
comportamiento de un AFD, comienza en el estado inicial (q0), y según se van recibiendo los
símbolos de la entrada transita entre los estados (del conjunto Q), de acuerdo a la función de
transición f. Si en un determinado momento se encuentra en un estado de aceptación
(del conjunto F), reconoce como válida la cadena formada por los símbolos de entrada leídos
hasta el momento. Si no, no es aceptada.
2. Una tabla de transiciones, que es una enumeración tabular (tabla) de la función f, que a la
vez describe el conjunto de estados, y el alfabeto de entrada.
Diagramas de transiciones
b) El nodo correspondiente al estado inicial q0, tendrá una flecha sin origen (o arco entrante)
no etiquetado.
c) Los nodos correspondientes a los estados de aceptación (los que pertenecen a F) están
marcados con un doble círculo. Los que no pertenecen a F tienen un círculo simple.
d) Habrá un arco etiquetado con a entre el nodo p y el nodo q, si f(p,a) = q. Si existen varios
símbolos de entrada que provocan una transición del estado p a q, entonces el arco entre p y q
puede estar etiquetado con la lista de esos símbolos.3.2.a
Un autómata puede ser representado mediante un grafo dirigido (digrafo) el cual se conoce como
diagrama de transiciones, donde los vértices del mismo corresponden a los estados del autómata,
en el caso del estado inicial este tendrá una flecha que apunta hacia él, y los estados finales se
representaran mediante un circulo con línea doble; si existe una transición del estado q al p sobre
la entrada a entonces existe un arco con etiqueta a que va del estado q al estado p en el diagrama
de transición. El autómata acepta una cadena 𝜔 si la secuencia de transiciones correspondientes
a los símbolos de 𝜔 conducen del estado inicial a un estado final. 3.2b
Si se modifica el modelo del autómata finito, para permitirle ninguna, una o más transiciones de
un estado sobre el mismo símbolo de entrada, al nuevo modelo lo conoceremos como autómata
finito no determinístico. Tiene la capacidad de estar en varios estados simultáneamente.
La diferencia entre AFD y un AFN está en la función de transición. Para el AFN, f es una función
que toma como argumentos un estado y un símbolo de entrada, pero devuelve un conjunto de
cero, uno o más estados (en vez de devolver un estado, como en el caso del AFD).
Tabla de transiciones
Una tabla de transiciones es una representación tabular convencional de una función como f,
que recibe dos argumentos y devuelve un valor. Esta tabla tendrá las siguientes
características: 3.2c
a) En las filas estarán los estados q ∈Q
b) El estado inicial se precederá del símbolo ->
c) Cada estado final se precederá del símbolo *
d) En las columnas estarán los símbolos de entrada a ∈ Σ
e) El valor correspondiente a la fila del estado qy a la entrada aes el estado que determine f(q,a)
Se observa que el AFN de la Figura 1, tiene dos transiciones desde el estado “0” con la entrada
“a”; es decir, puede ir al estado “0” o al 1.
Ahora se introduce un algoritmo para construir a partir de un AFND un AFD que reconozca el
mismo lenguaje. Este algoritmo se le conoce como construcción de subconjuntos, es útil para
simular un AFND por medio de un programa de computador.
Construcción de subconjuntos. Construcción de un AFD a partir de un AFN.
Entrada. Un AFN N.
Salida. Un AFD D que acepta el mismo lenguaje.
Método. El algoritmo construye una tabla de transiciones tranD para “D”. Cada estado del AFD
es un conjunto de estados del AFN y se construye tranD de modo que “D” simulará en paralelo
todos los posibles movimientos que “N” puede realizar con una determinada cadena de entrada.
Se utilizan las operaciones del Cuadro 2, para localizar los conjuntos de los estados del AFN
(“s” representa un estado del AFN, y “T”, un conjunto de estados del AFN). Antes de detectar
el primer símbolo de entrada, “N” se puede encontrar en cualquiera de los estados del conjunto
cerradura-?(s0), donde s0 es el estado de inicio de K. Supóngase que exactamente los estados
del conjunto “T” son alcanzables desde s0 con una secuencia dada de símbolos de entrada, y sea
a el siguiente símbolo de entrada. Al ver a, “N” puede trasladarse a cualquiera de los estados del
conjunto mover (T, a). Cuando se permiten transiciones- ? , N puede encontrarse en cualquiera
de los estados de cerradura-? (T, a), después de ver la “a”. Se construyen estados “D”; el
conjunto de estados de “D”; y tranD, la tabla de transiciones de “D”, de la siguiente forma.
Cada estado de “D” corresponde a un conjunto de estados de AFN en los que podría estar “N”
después de leer alguna secuencia de símbolos de entrada, incluidas todas las posibles
transiciones- ? anteriores o posteriores a la lectura de símbolos. El estado de inicio de “D”es
cerradura-? (s0). Se añaden los estados y las transiciones a “D”. Un estado de “D” es un estado
de aceptación si es un conjunto de estados de AFN que contenga al menos un estado de
aceptación de “N”.
El cálculo de cerradura-? (T) es un proceso típico de búsqueda en un grafo de nodos alcanzables
desde un conjunto dado de nodos. En este caso, los estados de “T” son el conjunto dado de
nodos, y el grafo está compuesto solamente por las aristas del AFN etiquetadas por ? . Un
algoritmo sencillo para calcular cerradura-? (T) utiliza una estructura de datos tipo pila para
guardar estados en cuyas aristas no se hayan buscado transiciones etiquetadas con ? .
Implementación de los algoritmos para convertir un AFN en un AFD
Para la implementación de estos algoritmos se utiliza el AFN “N”. Que acepta el lenguaje
(a|b)*abb. Se aplica el Algoritmo 2. Construcción de subconjuntos a “N”. El estado de inicio
del AFD equivalente es cerradura-? (0), que es A = {0,1,2,4,7}, puesto que estos son alcanzados
desde el estado 0 por un camino en que todas las aristas están etiquetadas por ? . El alfabeto de
símbolos de entrada es {a, b}. Ahora el algoritmo indica que debe marcarse “A” y después
calcular cerradura- ? (mover(A, a)).
Calculando primero mover(A, a), el conjunto de estados de “N” que tiene transiciones en “a”
desde miembros de “A”. Entre los estados 0,1,2,4 y 7 sólo 2 y 7 tienen dichas transiciones, a 3
y a 8, de modo que:
cerradura- ? (mover({0,1,2,4,7}, a)) =cerradura- ? (3,8) = {1,2,3,4,6,7,8}
Este conjunto se denominará “B”. Así, tranD[A, a] = B. Se presenta el cálculo de la cerradura-
? . Entre los estados de “A”, sólo 4 tienen una transición en “b” a 5, de modo que el AFD tiene
una transición en “b” desde “A a”.
cerradura- ? (A, b)
cerradura- ? (mover(A, b)) =cerradura- ? ({5})
cerradura- ? ({5}) = {1,2,4,5,6,7}
Por lo que, tranD[A, b] = C. Es decir; C = {1,2,4,5,6,7} Se continúa este proceso con los
conjuntos B y C, ahora sin marcar, finalmente se llegará al punto en que todos los conjuntos que
son del estado AFD estén marcados.3.3
ERs, AFDs y AFNDs son mecanismos equivalentes para denotar los lenguajes regulares. En
estas tres secciones demostraremos esto mediante convertir ER →AFND → AFD → ER. Las
dos primeras conversiones son muy relevantes en la práctica, pues permiten construir
verificadores o buscadores eficientes a partir de ERs.3.4
Prueba: Es fácil verificarlo por inspección y aplicando inducción estructural. La única parte
que puede causar problemas es la clausura de Kleene, donde otros esquemas alternativos que
podrían sugerirse (por ejemplo M = (K1, Σ, ∆1∪ {(f1, ε, s1), (s1, ε, f1)}, s1, {f1}) tienen el
problema de permitir terminar un recorrido de Th(E1) antes de tiempo. Por ejemplo el ejemplo
que acabamos de dar, aplicado sobre E1 = a ⋆ b, reconocería la cadena x = aa.
El algoritmo que permite construir el autómata finito determinístico está fuera del alcance
de estas notas ( el alumno no tiene los prerrequisitos para su estudio en este curso). Sin
embargo, el algoritmo utilizado para la construcción del autómata finito no determinístico
AFND, es relativamente sencillo de aplicar, ya que se basa en reglas simples. Existen
muchas variantes de este algoritmo denominado “Algoritmo de Thompson”.
Este algoritmo es dirigido por sintaxis, es decir, usa la estructura sintáctica de la expresión
regular para guiar el proceso de construcción del autómata AFND.
Supongamos que N(s)y N(t)son AFND’s para las expresiones regulares sy t, respectivamente.
Luego del tercer paso, si la tabla creada queda completamente marcada, entonces el AFD
inicial ya era mínimo. La complejidad computacional del problema de minimizar u n AFD es
polinomio. De hecho, existen algoritmos más eficientes aún que el mostrado en este artículo
(aunque menos intuitivos). Sin embargo, el problema de minimizar un autómata finito no
determinista es NP- completo y PSPACE- completo.
La forma en que se encuentran distribuidos los cuatro sensores en el vehículo se puede apreciar
en la figura 2, donde cada uno de los sensores establece un bit en el bus de direcciones de la
memoria RAM, teniendo por consecuencia 24direcciones definidas en la memoria. El sensor 4
establece el primer bit de izquierda a derecha en el bus de direcciones, es decir el bit menos
significativo, el sensor 3 establece el segundo bit, el sensor 2 el tercer bit, y el sensor 1 el cuarto
bit, es decir el más significativo. Cabe mencionar que bajo ninguna presencia de obstáculo los
sensores arrojan de manera permanente un bit en estado 0 hacia el bus de direcciones de la
memoria, pero con la presencia de un obstáculo, estos arrojan un bit en estado 1. La presencia
de un obstáculo en el sensor 1 arrojaría como resultado la secuencia de bits 1000 por ejemplo
(ver figura 5).
En cada una de las direcciones de la memoria RAM determinadas por los sensores, existe una
instrucción cargada que establece la dirección de giro del motor, después de haber interactuado
con el puente H transistorizado, el cual requiere de 2 bits de control (teniendo por tanto 4
posibles entradas) para realizar 3 acciones básicas que son: giro del motor hacia un sentido, giro
hacia el lado contrario y permanencia estática del motor. Estas acciones se ejemplifican con
mayor claridad en la tabla 1.
Tabla 1. Operación del puente H y direcciones de giro de los motores.
Entrada al Puente H
Estado del Motor
(Bits de Control)
00 Permanencia estática
01 Giro hacia delante
10 Giro hacia atrás
11 Estado prohibido
El VEO cuenta con 2 motores de dirección, cada uno de los cuales está controlado por un puente
H de manera independiente. En la figura 6 se aprecia la distribución de los motores en el
vehículo, de donde se estableció el siguiente lineamiento de operación: el motor derecho será
controlado por el puente H número 1, y el motor izquierdo será controlado por el puente H
número 2.
Teniendo por consecuencia la distribución de bits provenientes del bus de datos de la memoria
RAM, según lo muestra la tabla 2.
Entradas Entradas
Entradas Alfabeto Acción Entradas Alfabeto Acción
al puente al puente
(Sensores) ∑ evasora (Sensores) ∑ evasora
H H
0000 a 0101 A 1000 i 1000 E
0001 b 0001 C 1001 j 0110 G
0010 c 0111 D 1010 k 0110 G
0011 d 0101 A 1011 l 0110 G
0100 e 0010 F 1100 m 1010 B
0101 f 0110 G 1101 n 0110 G
0110 g 0110 G 1110 ñ 0110 G
0111 h 0110 G 1111 o 0110 G
Acción
Significado Descripción de la acción Estado
Evasora
A Avanzar hacia adelante Ambos motores giran hacia delante qo
B Avanzar hacia atrás Ambos motores giran hacia atrás q1
Giro a la izquierda y Motor derecho gira hacia adelante y motor
C q2
hacia delante izquierdo no gira
Giro a la derecha y hacia Motor izquierdo gira hacia adelante y motor
D q3
delante derecho no gira
Giro a la izquierda y Motor izquierdo gira hacia atrás y motor derecho no
E q4
hacia atrás gira
Giro a la derecha y hacia Motor derecho gira hacia atrás y motor izquierdo no
F q5
atrás gira
El motor izquierdo gira hacia adelante y el motor
G Giro rápido q6
derecho gira hacia atrás
En la acción evasora A, la entrada para el autómata finito estará definida por y donde y puede
tomar cualquiera de las dos posibles entradas que originan el estado A en el vehículo y que
son: a y d. Mientras que en la acción evasora G, la entrada para el autómata finito estará definida
por z donde z puede tomar cualquiera de las 9 posibles entradas que provienen de los sensores
y que originan el estado G en el vehículo, que son: f, g, h, j, k, l, n, ñ, o. Las estrategias C y D
están diseñadas para evadir obstáculos que se presenten en la parte trasera del vehículo, es decir
cuando se presentan obstáculos en los sensores 3 y 4. Las estrategias evasivas E y F están
diseñadas para evitar obstáculos que se presenten en la parte delantera del vehículo, es decir
cuando se presentan obstáculos en los sensores 1 y 2. En la figura 4(a) se resumen los
movimientos anteriormente descritos.
Un análisis detallado a los estados posibles del vehículo y las trayectorias validas, y
considerando lo establecido en la descripción de las acciones evasoras, nos permite denotar de
manera formal el autómata finito no determinístico correspondiente como sigue:
M = (Q, ∑, δ, q0, F) Donde Q = {q0, q1, q2, q3, q4, q5, q6,}.
∑ = {b, c, e, i, m, y, z}.
F = {Ø}.
Donde se define a F como un elemento nulo, ya que como se aprecia en la tabla 3 el vehículo
no tiene definido estados finales. De una observación directa al autómata anteriormente
planteado se distingue que el modelado descriptivo del vehículo se pudo realizar utilizando siete
estados, después de haber redefinido el alfabeto del autómata, este se compone de cinco
entradas y finalmente el estado inicial se encuentra definido por un solo estado que esq0.
Resultados
El modelado de la trayectoria del vehículo VEO presentado en este artículo por medio de
autómatas finitos no determinísticos resultó ser una valiosa herramienta para describir de
manera formal su dinámica, lo cual no representaba una tarea tan sencilla, pues VEO tiene bien
definidos 7 posibles estados, lo cual complica un poco su entendimiento. Se puede notar por
inspección directa por parte del lector a través de un análisis al diagrama de transición y a
la función de transición presentados en este trabajo en las figuras 7 y 8 respectivamente, que
el siguiente estado del vehículo, con siete estados finitos y siete entradas conocidas, se puede
estimar de una forma muy sencilla y concisa, lo cual representó uno de los retos primordiales
de este trabajo.
UNIDAD IV
MAQUINA DE
TURING
Adentrándose a la Historia de la MT
Poco de historia 4.0
A finales del siglo XIX, el matemático David Hilbert se preguntó si era posible encontrar un
algoritmo para determinar la verdad o falsedad de cualquier proposición matemática. En
particular, se preguntaba si existiría un modo de determinar si cualquier fórmula del cálculo
de predicados de primer orden, aplicado a enteros, es verdadera. Dado que el cálculo de
predicados de primer orden sobre los enteros es suficientemente potente como para expresar
frases como esta gramática es ambigua, si Hilbert hubiera tenido éxito, existirían algoritmos
para dichos problemas, que ahora sabemos que no existen esta proposición se conoce con el
nombre de problema de Hilbert.
En 1963, Alan Mathinson Turing propuso la máquina que lleva su nombre como modelo de
cualquier computación posible. Este modelo se parece más a una computadora que a un
programa, aunque las verdaderas computadoras electrónicas, o incluso los electromecánicas,
tardaron varios años en ser construidas. La máquina de Turing consta de una unidad de control,
que pueda estar en cualquier estado tomado de un conjunto infinito. Hay una cinta dividida en
cuadrados o casillas, y cada casilla puede contener un símbolo, tomado de otro conjunto
infinito. Inicialmente, se sitúa en la cinta de entrada, que es una cadena de símbolos de longitud
infinita, elegidos del alfabeto de entrada. El resto de las casillas de la cinta, que se extiende
infinitamente hacia la derecha y hacia la izquierda, contiene, inicialmente, un símbolo
denominado espacio en blanco. El espacio en blanco es un símbolo de cinta, pero no un símbolo
de entrada, y puede haber también otros símbolos de cinta además de los símbolos de entrada
y del espacio en blanco. Existe una cabeza de la cinta que siempre está situada sobre una de
las casillas de la cinta. Se dice que la máquina de Turing está señalando dicha casilla. Al
principio, la cabeza de la cinta se encuentra en la casilla de la entrada situada más a la
izquierda. Un movimiento de la máquina de Turing es una función del estado de la unidad de
control y del símbolo de la cinta al que señala la cabeza.
Definición 1: 4.1
“Modelo matemático” es una expresión de esas que se utilizan con cierta frecuencia pero que
pocas veces nos paramos a pensar qué significa. Y aunque parezca algo complicado, en realidad
se trata de un concepto bastante sencillo.
Una máquina de Turing es un autómata que consta de una cabeza lectora y una cinta infinita en
la que la cabeza puede leer símbolos, borrarlos, escribirlos y moverse a la derecha o a la
izquierda. Por supuesto también consta de una función de estado que determinará los cambios
de un estado a otro que se deben producir en función de las instrucciones que reciba.
Definición 2:4.1a
1. p es el estado siguiente de Q
3. S es un sentido I o D (izquierda o derecha) que nos indica en qué sentido se mueve la cabeza
q0
Es el estado inicial.
• Σ es un alfabeto finito, # ∈ Σ.
• s ∈ K es el estado inicial
• , Es la función de
transición.
Para describir formalmente lo que hace una máquina de Turing, es necesario desarrollar una
notación para describir sus configuraciones o descripciones instantáneas, parecida a la notación
que se desarrolla para los autómatas a pila. En principio una máquina de Turing dispone de una
cinta de longitud infinita, por lo cual podrá suponerse que no es posible describir espáticamente
su configuración. Sin embargo, después de un número finito de movimientos, la máquina de
Turing solo habrá recorrido un número finito de casillas. Por tanto, para cualquier configuración
existe un prefijo y un sufijo infinito de casillas que no se han recorrido nunca. El contenido de
dichas casillas debe Ser espacios en blanco o símbolos del conjunto finito de símbolos de
entrada.
Por lo tanto, en una configuración solo se muestran las casillas que se encuentren entre el
símbolo más a la izquierda y el símbolo más a la derecha de la cinta que no sean espacios en
blanco, además, habrá que incluir un número finito de espacios en blanco en la configuración,
si se da la condición especial de que la cabeza de la cinta señale a uno de los espacios en blanco
situados antes o después de la cadena de entrada.
3. x1x2...xn es la porción de la cinta que se encuentra entre los símbolos no blancos situados
más a la izquierda y más a la derecha. Como excepción, si la cabeza señala a alguna
casilla a la izquierda del símbolo no blanco que se encuentre más a la izquierda, o a
alguna casilla a la derecha del símbolo no blanco que se encuentre más a la derecha,
entonces algunos caracteres prefijos o sufijos de x1x2 ...xn serán espacios en blanco,
siendo i = 1 o i = n, respectivamente.
Mediante esta técnica se puedan desarrollarse máquinas de Turing complejas a partir de bloques
de elemental es a partir de máquinas más pequeñas mediaste diagramas de transiciones .La
construcción de máquinas de Turing se lleva a cabo median te los diagramas de transición y
combinarlos de manera parecida a lo que se real i z a en la formación de la unión y
concatenación de los autómatas finitos.
En la notación modular de MTs una MT se verá como un grafo, donde los nodos serán acciones
y las aristas condiciones. En cada nodo se podrá escribir una secuencia de acciones, que se
ejecutan al llegar al nodo. Luego de ejecutarlas, se consideran las aristas que salen del nodo.
Estas son, en principio, flechas rotuladas con símbolos de Σ. Si la flecha que sale del nodo está
rotulada con la letra que coincide con la que tenemos bajo el cabezal luego de ejecutar el nodo,
entonces seguimos la flecha y llegamos a otro nodo. Nunca debe haber más de una flecha
aplicable a cada nodo. Permitiremos rotular las flechas con conjuntos de caracteres. Habrá un
nodo inicial, donde la MT comienza a operar, y cuando de un nodo no haya otro nodo adonde
ir, la MT se detendrá.
Las acciones son realmente MTs. Comenzaremos con 2 + |Σ| acciones básicas, que corresponden
a las acciones que pueden escribirse en δ, y luego podremos usar cualquier MT que definamos
como acción para componer otras.
• Moverse hacia la izquierda (): Esta es una MT que, pase lo que pase, se mueve hacia la
izquierda una casilla y se detiene. = ({s},Σ,δ,s), donde .
• Moverse hacia la derecha (): Esta es una MT que, pase lo que pase, se mueve hacia la
derecha una casilla y se detiene. = ({s},Σ,δ,s), donde .
• Escribir el símbolo b ∈ Σ (b): Esta es una MT que, pase lo que pase, escribe b en la cinta
y se detiene. b = ({s},Σ,δ,s), donde ∀a ∈ Σ, δ(s,a) = (h,b). Nuevamente, estamos
sobrecargando el símbolo b ∈ Σ para denotar una MT.
Mediante esta técnica se puedan desarrollarse máquinas de Turing complejas a partir de bloques
de elementales a partir de máquinas más pequeñas mediaste diagramas de transiciones.
a) Elimine las características de inicio de los estados iniciales de las máquinas, 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 no 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.
LAMT 4.3a
Podremos decir que la forma en la que una máquina de Turing acepta una cadena es la siguiente:
la cadena de entrada se sitúa en la cinta y la cabeza comienza señalando el símbolo de entrada
que se encuentra más a la izquierda; si la máquina de Turing llega a un estado de aceptación al
final del proceso, se considera que la cadena es reconocida, en caso contrario, decimos que la
cadena no fue aceptada.
Sin embargo este no es el único método para la aceptación de una cadena, existe otro que
comúnmente se le conoce con el nombre de aceptación por parada. Se dice que una máquina
de Turing se para si alcanza un estado q cuando señala a un símbolo de la cinta X, sin que se
produzca ningún movimiento en dicha situación; es decir δ(q,X) no está definida. Siempre se
puede suponer que una máquina de Turing se para si acepta, es decir sin introducir variaciones
en el lenguaje aceptado, se puede hacer que δ(q,X) se quede sin definir siempre que q sea un
estado de aceptación. En general a menos que se especifique lo contrario, suponemos que una
máquina de Turing siempre se para cuándo esta´ en un estado de aceptación, aunque no en todos
los casos ocurre ´esto. Los lenguajes reconocidos por máquinas de Turing que siempre se paran,
acepten o no, se les conoce con el nombre de recursivos. Las máquinas de Turing que siempre
se paran con independencia de que acepten o no, son un buen modelo de algoritmo. Si existe un
algoritmo para resolver un problema dado, entonces se dice que el problema es decidible, con
lo cual se observa que las máquinas de Turing que siempre se paran, tienen un papel importante
en la teoría de la dicisibilidad.
LAMT 4.3b
Sea M = (Q, , , q0=q1, B, F, ) una máquina de Turing. Entonces el lenguaje aceptado por
M es: L(M) = {w *q1w * w1pw2 para pF y wi*}.
Los lenguajes formales que son aceptados por una máquina de Turing son exactamente aquellos
que pueden ser generados por una gramática formal. El cálculo Lambda es una forma de definir
funciones. Las funciones que pueden se computadas con el cálculo Lambda son exactamente
aquellas que pueden ser computadas con una máquina de Turing.
Estos tres formalismos, las máquinas de Turing, los lenguajes formales y el cálculo Lambda son
formalismos muy disímiles y fueron desarrollados por diferentes personas. Sin embargo, ellos
son todos equivalentes y tienen el mismo poder de expresión. Generalmente se toma esta notable
coincidencia como evidencia de que la tesis de Church-Turing es cierta, que la afirmación de
que la noción intuitiva de algoritmo o procedimiento efectivo de cómputo corresponde a la
noción de cómputo en una máquina de Turing.
CONCLUSIÓN
¿Verdaderamente influyen los autómatas en la vida social y real?
¿Cómo ayuda la máquina de Turing en la vida de los programadores?
Son preguntas que resonaban en mi mente al comienzo del estudio de los autómatas; ahora al
tener los conocimientos respectivos se puede deducir y responder…
Los autómatas así como la máquina de Turing, son elementales no solo en la resolución de
problemas indefinibles o intratables; ya que estos ayudan a los ingenieros en programación a
usarlos como una metodología de análisis y diseño en la resolución de dicho problema, estos
pueden ser definido de forma sencilla o tediosa.
Estos algoritmos matemáticos ayudan a la resolución de problemas del mundo real, con la
diferencia que estos tienden a hacer tratados más detalladamente, unos que otros. Estos
autómatas y máquinas de Turing han venido a facilitar y ayudar al programador como al ser
humano en las tomas de decisiones en cuanto a problemas de la vida cotidiana.
Ya que en casos particulares se tiende a llegar al desbordamiento de ideas en cuanto al análisis
y diseño de respuestas a un suceso en particular de la vida diaria, además de ello los autómatas
y MT ayudan en la estandarización de las máquinas electrónicas para poder entrar de un estado
a otro; es decir, que estas pueden llegar a pensar que decisión tomar, cuando estén sometidas o
se encuentren en una situación dada en un contexto en especial.
El estudio de estas algebras matemáticas, al pasar los años ayudaran en la creación de muchos
elementos electrónicos, que facilitaran la vida de la especie humana en la adaptación de los
cambios informáticos. Los cuales fortalecerán el crecimiento de muchos continentes al
desarrollo del nuevo mundo.
Las herramientas de soluciones de problemas y respuestas en cuanto a su solución podemos
utilizar los grafos y tablas de transiciones de los AF y MT; para conocer el tiempo de ejecución
y el tiempo en que se puede tardar para encontrar la posible solución.
En conclusión se detalla en pocas palabras, que los autómatas y las máquinas de Turing
son herramientas muy sencillas y a la vez efectivas, como metodologías para las soluciones de
problemas; interpretadas de forma matemática u Grafórica (grafo), que ayudan al personaje a la
interpretación de los resultados, son ambiguos, sencillo, factible y óptimo.
BIBLIOGRAFÍA AF
3.1a: LENGUAJES REGULARES Y 3.2c SINTAXIS Y SEMÁNTICA DEL
AUTOMATAS FINITOS/U.T.N. – F.R.T. /S. y S. LENGUAJE UTN FRSF – APUNTENRO.
de los L./ING. JORGE BUABUD 2/AUTÓMATAS FINITOS/2009
http://www.slideshare.net/jbuabud/lenguajes-
regulares-y-autmatas-finitos-clase-7 3.3 CONVERSIÓN DE UN AFN A UN
AFD/EDGAR RUIZ L., EDUARDO RAFFO
3.1b: CAPÍTULO 3/AUTÓMATAS DE L./DOCENTE DEL DEPARTAMENTO DE
ESTADOS FINITOS/S.Takahashi INGENIERÍA DE SISTEMAS E
INFORMÁTICA./FACULTAD DE
3.1c: TEORÍA DE AUTÓMATAS, INGENIERÍA INDUSTRIAL, UNMSM E-
LENGUAJES Y COMPUTACIÓN/John E. MAIL: ERUIZL@UNMSM.EDU.PE/
Hopcroft, Rajeev Motwani, Jeffrey D. DOCENTE DEL DEPARTAMENTO DE
Ullman/PEARSON ADDISON WESLY INGENIERÍA DE SISTEMAS E
INFORMÁTICA./FACULTAD DE
3.1d: TEMA II: INTRODUCCIÓN A LA INGENIERÍA INDUSTRIAL, UNMSM E-
TEORÍA DE AUTÓMATAS FINITOS/1. MAIL: ERAFFOL@UNMSM.EDU.PE
INTRODUCCION. DEFINICION /AUTÓMATAS FINITOS
4.1def2 TEORIA DE LA
COMPUTACION/(LENGUAJES FORMALES,
COMPUTABILIDAD Y COMPLEJIDAD)/APUNTES Y
EJERCICIOS/GONZALO
NAVARRO/DEPARTAMENTO DE CIENCIAS DE LA
COMPUTACION/UNIVERSIDAD DE CHILE
http://maquinadeturingunad.blogspot.mx/2010
/11/construccion-modular-de-las-maquinas-
de.html