Exámenes de Teor´ıa de Autómatas y Lenguajes Formales

Anuncio
Exámenes de Teorı́a de
Autómatas y Lenguajes
Formales
David Castro Esteban
Teorı́a de Autómatas y Lenguajes Formales
Ingenierı́a Técnica en Informática de Sistemas
Febrero 2004
Problema 1
(2 ptos.) Obtener expresiones regulares para los siguientes lenguajes:
El conjunto de las cadenas de ceros y unos que no tienen dos unos
consecutivos y tienen a lo más dos ceros consecutivos.
El conjunto de las cadenas de ceros y unos que no terminan en 01.
Problema 2 (2 ptos.) Minimizar el autómata finito
1
A
1
0
D
0
0
0
B
0
0
C
1
E
1
0
1
H
1
1
G
F
0
1
Problema 3 (2 ptos.) Convertir en un autómata finito determinista el siguiente autómata con transiciones vacı́as.
0
A
B
1
ε
0
C
0, 1
1
ε
D
0, 1
Problema 4 (2 ptos.) Dado un alfabeto finito cualquiera, demostrar que el
conjunto de las cadenas sobre dicho alfabeto cuya longitud es un nmero primo,
no es un lenguaje regular.
Problema 5 (2 ptos.) Construir un autómata a pila que acepte el lenguaje
de las cadenas de la forma 0n 1m , donde n, m ∈ N con n < m. Dar una
gramática independiente del contexto que genere dicho lenguaje.
3
Teorı́a de Autómatas y Lenguajes Formales
Ingenierı́a Técnica en Informática de Sistemas
Febrero 2004
Problema 1 (2 ptos.) Obtener expresiones regulares para los siguientes lenguajes:
El conjunto de las cadenas de ceros y unos que no contienen la cadena
010.
El conjunto de las cadenas de ceros y unos que no tienen dos ceros
consecutivos.
Problema 2 (2 ptos.) Construir un autómata determinista mı́nimo que acepte
el lenguaje de las cadenas de ceros y unos definido por la expresión regular
((01)∗ 1)+ .
Problema 3 (2 ptos.) Convertir en un autómata finito determinista el siguiente autómata con transiciones vacı́as.
ε
0
A
B
1
ε 0, 1
C
0, 1
0, 1
ε
D
Problema 4 (2 ptos.) Dado un alfabeto finito cualquiera, demostrar que el
conjunto de las cadenas sobre dicho alfabeto cuya longitud es un cuadrado
perfecto no es un lenguaje regular.
Problema 5 (2 ptos.) Construir un autómata a pila que acepte el lenguaje
de las cadenas de ceros y unos tales que el nmero de ceros sea distinto del de
unos.
Teorı́a de Autómatas y Lenguajes Formales
Ingenierı́a Técnica en Informática de Sistemas
Febrero 2005
Observaciones
1. Los alumnos que hayan entregado un trabajo, deberán responder exclusivamente a dos ejercicios y un problema (todos ellos de libre elección).
2. Los alumnos que no hayan entregado trabajo alguno, deberán responder
a todos los ejercicios y problemas.
3. El examen finalizará a las 9:20 pm.
Ejercicio 1 (2 ptos.) Decidir si los siguientes autómatas finitos deterministas son equivalentes, i.e. deciden el mismo lenguaje.
A
b
b
C
a
b
b
B
E
a
a
a
a
b
a
F
a
D
G
b
b
Ejercicio 2 (2 ptos.) Convertir en un autómata finito determinista el siguiente autómata finito no determinista.
0
q0
1
q2
0
1
0
1
q1
0
q3
Ejercicio 3 (2 ptos.) Sea A el conjunto de los árboles binarios cuyos nodos
están etiquetados con el número de hijos que tienen. Un ejemplo sencillo de
tales árboles viene dado por:
2
0
2
1
0
0
Cada árbol de A puede codificarse mediante una secuencia de caracteres, sobre {0, 1, 2}, construida de la siguiente manera: el primer carácter (por la
izquierda) es el que figura en la raı́z, los siguientes caracteres son los asociados a la codificación del subárbol de la izquierda y, por último, los asociados
con la codificación del subárbol de la derecha (si existen tales subárboles). El
árbol del ejemplo estarı́a codificado mediante la cadena 202100.
Dar una gramática independiente del contexto que describa el lenguaje de las
codificaciones anteriores y construir el autómata a pila asociado.
Problema 4 (2 ptos.) Sea Σ un alfabeto finito y sea L el lenguaje de las
cadenas w ∈ Σ∗ tales que su longitud es n! para algún n ∈ N. Demostrar que
L no es un lenguaje regular.
Problema 5 (2 ptos.) Sean L1 y L2 dos lenguajes recursivamente enumerables. Demostrar que L1 L2 (su concatenación) es recursivamente enumerable.
Teorı́a de Autómatas y Lenguajes Formales
Ingenierı́a Técnica en Informática de Sistemas
Febrero 2005 (bis)
Ejercicio 1 (2 ptos.) Decidir si los siguientes autómatas finitos deterministas son equivalentes, i.e. deciden el mismo lenguaje.
A
b
a
C
b
b
b
B
E
a
a
a
b
b
a
F
a
D
G
b
a
Ejercicio 2 (2 ptos.) Convertir en un autómata finito determinista el siguiente autómata finito no determinista.
1
q0
0
q2
1
0
1
0
q1
0
q3
Ejercicio 3 (2 ptos.) Dar una gramática independiente del contexto que describa las expresiones arı́tmeticas con paréntesis que involucran ceros y unos.
Construir un autómata a pila que reconozca dicho lenguaje.
Problema 4 (2 ptos.) Sea Σ un alfabeto finito y sea L el lenguaje de las
cadenas w ∈ Σ∗ tales que su longitud es n3 para algún n ∈ N. Demostrar que
L no es un lenguaje regular.
Problema 5 (2 ptos.) Sea L un lenguaje recursivamente enumerables. Demostrar que L∗ (su cláusura de Kleene) es recursivamente enumerable.
Teorı́a de Autómatas y Lenguajes Formales
Ingenierı́a Técnica en Informática de Sistemas
Septiembre 2005
Ejercicio 1 (2 ptos.) Minimizar el autómata finito:
1
0
A
1
0
B
0
D
1
1
0
1
E
0
1
0
1
0
H
C
G
F
0
1
Ejercicio 2 (2 ptos.) Convertir en determinista el siguiente autómata finito
no determinista:
1
q0
0
q2
1
1
1
q1
0 1
q3
Ejercicio 3 (2 ptos.) Dar una gramática independiente del contexto que describa las expresiones arı́tmeticas con paréntesis que involucran ceros y unos.
Construir un autómata a pila que reconozca dicho lenguaje.
Problema 4 (2 ptos.) Sea Σ un alfabeto finito y sea L el lenguaje de las
cadenas ww, con w ∈ Σ∗ . Demostrar que L no es un lenguaje regular.
Problema 5 (2 ptos.) Sean L1 , . . . , Ln lenguajes recursivamente enumerables, demostrar que L1 ∩ . . . ∩ L2 es recursivamente enumerable. ¿Es cierto
para la intersección de infinitos lenguajes recursivamente enumerables? (demostrar en caso afirmativo o dar un contraejemplo en caso negativo).
Teorı́a de Autómatas y Lenguajes Formales
Ingenierı́a Técnica en Informática de Sistemas
Febrero 2006
Ejercicio 1 (2 ptos.) Minimizar el autómata finito:
1
0
A
1
0
0
1
D
0
B
0
C
1
F
1
G
0
1
1
E
0
Ejercicio 2 (2 ptos.) Construir un autómata a pila que reconozca el lenguaje
de las cadenas de ceros y unos tales que el número de unos sea distinto del
de ceros.
k
Cuestión 1 (1 pto.) Obtener las expresiones regulares Rij
, con 1 ≤ i, j, k ≤
2, que denotan la cadena que debe leer el autómata para ir del estado i al
estado j pasando por nodos etiquetados, como mucho, por k), del siguiente
autómata:
1
1
0
2
0, 1
1
.
Dar la expresión regular que describe el lenguaje del autómata.
Cuestión 2 (1 pto.) Dar una gramática que describa el lenguaje de los
palı́ndromos. Transformar dicha gramática en un autómata a pila.
Problema 3 (2 ptos.) Sea Σ un alfabeto finito con al menos dos sı́mbolos.
Demostrar que el lenguaje
L = {w R ww R : w ∈ Σ∗ },
no es independiente de contexto.
Problema 4 (2 ptos.) Sean L1 , . . . , Ln una familia finita de lenguajes regulares. Demostrar las siguientes afirmaciones:
1. la unión ∪ni=1 Li es regular,
2. la intersección ∩ni=1 Li es regular, y
3. para todo i, con 1 ≤ i ≤ n, Lci es regular.
Teorı́a de Autómatas y Lenguajes Formales
Ingenierı́a Técnica en Informática de Sistemas
Febrero 2006
Ejercicio 1 (2 ptos.) Minimizar el autómata finito:
1
A
1
0
D
0
0
0
B
0
0
C
1
E
1
0
1
H
1
1
G
F
0
1
Ejercicio 2 (2 ptos.) Construir un autómata a pila que reconozca el lenguaje
de las cadenas de ceros y unos tales que el número de unos sea menor que el
de ceros.
k
Cuestión 1 (1 pto.) Obtener las expresiones regulares Rij
, con 1 ≤ i, j, k ≤
2, que denotan la cadena que debe leer el autómata para ir del estado i al
estado j pasando por nodos etiquetados, como mucho, por k), del siguiente
autómata:
1
1
0
2
0, 1
1
.
Dar la expresión regular que describe el lenguaje del autómata.
Cuestión 2 (1 pto.) Dar una gramática que describa el lenguaje de las expresiones regulares. Transformar dicha gramática en un autómata a pila.
Problema 3 (2 ptos.) Demostrar que el lenguaje
L = {0n 1n 0n : n ∈ N},
no es independiente de contexto.
Problema 4 (2 ptos.) Sean L1 , . . . , Ln una familia finita de lenguajes independientes del contexto sobre un alfabeto Σ. Demostrar que L1 · . . . · Ln es
independiente del contexto.
Teorı́a de Autómatas y Lenguajes Formales
Ingenierı́a Técnica en Informática de Sistemas
Febrero 2007
Ejercicio 1 (2 ptos.) Minimizar el autómata finito:
0
1
A
0
1
1
1
D
0
B
0
C
1
F
1
G
0
0
1
E
0
Ejercicio 2 (2 ptos.) Convertir en determinista el siguiente autómata finito
no determinista:
1, 0
q0
0
q2
1
1
1
1
q1
1
q3
1
Ejercicio 3 (2 pto.) Construir, empleando los algortimos vistos, la expresión
regular que describe el lenguaje del autómata :
1
q0
0
0
0
q2
1
q1
1 0
q3
1
Problema 4 (2 ptos.) Dado un alfabeto finito Σ, demostrar que el lenguaje
de las expresiones regulares sobre Σ es independiente de contexto pero no
regular (construyendo un autómata a pila y empleando el Lema de Bombeo,
respec.).
Problema 5 (2 ptos.) En lo que sigue, dado un alfabeto finito Σ, consideramos las expresiones regulares dadas mediante la gramática:
E
E
E
E
E
E
↔
↔
↔
↔
↔
↔
(E)
E +E
E ·E
σ (σ ∈ Σ)
∅
ε
Dar un algortimo que, tomando como entrada una expresión regular y trabajando directamente sobre la misma (no transforma ésta en autómatas o
gramáticas regulares), devuelva una expresión regular que describa al complementario del lenguaje por ella dado. Idem para la instersección.
Teorı́a de Autómatas y Lenguajes Formales
Ingenierı́a Técnica en Informática de Sistemas
Febrero 2007
Ejercicio 1 (2 ptos.) Decidir si los siguientes autómatas finitos deterministas son equivalentes, i.e. deciden el mismo lenguaje.
a
A
b
b
C
b
b
B
E
a
a
a
b
a
a
D
G
b
b
F
a
Problema 2 (2 ptos.) Convertir en un autómata finito determinista mı́nimo
el siguiente autómata con transiciones vacı́as.
0
A
B
1
ε
0
C
0, 1
1
0, 1
D
ε
Ejercicio 3 (2 ptos.) Construir un autómata a pila que reconozca el lenguaje
de las cadenas de ceros y unos tales que el número de unos sea menor que el
doble del de ceros.
Problema 4 (2 ptos.) Sea Σ un alfabeto finito con al menos dos sı́mbolos.
Demostrar que el lenguaje
L = {w R ww R : w ∈ Σ∗ },
no es independiente de contexto. Demostrar que no es ası́ si el alfabeto tiene
un único sı́mbolo.
Problema 5 (2 ptos.) Demostrar que, dado un lenguaje regular L ⊆ Σ∗ ,
existe un natural n ∈ N tal que para toda cadena w ∈ L y toda subcadena de
la misma w 0 de longitud mayor que n (i.e. w = αw 0 β con α, β ∈ Σ∗ ), existen
tres cadenas x, y, z ∈ Σ∗ tales que:
w 0 = xyz,
|xy| ≤ n y |y| ≥ 1, y
αxy iyβ ∈ L para todo i ∈ N.
Teorı́a de Autómatas y Lenguajes Formales
Ingenierı́a Técnica en Informática de Sistemas
Junio 2007
Ejercicio 1 (2 ptos.) Decidir si los siguientes autómatas finitos deterministas son equivalentes, i.e. deciden el mismo lenguaje.
a
A
b
b
C
b
a
B
E
a
a
a
b
b
a
D
G
b
b
F
a
Problema 2 (2 ptos.) Convertir en un autómata finito determinista mı́nimo
el siguiente autómata con transiciones vacı́as.
0, 1
A
B
1
ε
0
C
0, 1
1
0, 1
D
ε
Ejercicio 3 (2 ptos.) Construir un autómata a pila que reconozca el lenguaje
de las cadenas de ceros y unos tales que el número de ceros sea igual que el
de ceros.
Problema 4 (2 ptos.) Sea Σ un alfabeto finito con al menos dos sı́mbolos.
Demostrar que el lenguaje
L = {www : w ∈ Σ∗ },
no es independiente de contexto. Demostrar que no es ası́ si el alfabeto tiene
un único sı́mbolo.
Problema 5 (2 ptos.) Demostrar que, dado un lenguaje regular L ⊆ Σ∗ ,
existe un natural n ∈ N tal que para toda cadena w ∈ L y toda subcadena de
la misma w 0 de longitud mayor que n (i.e. w = αw 0 β con α, β ∈ Σ∗ ), existen
tres cadenas x, y, z ∈ Σ∗ tales que:
w 0 = xyz,
|xy| ≤ n y |y| ≥ 1, y
αxy iyβ ∈ L para todo i ∈ N.
Teorı́a de Autómatas y Lenguajes Formales
Ingenierı́a Técnica en Informática de Sistemas
Septiembre 2007
Problema 1 (2 ptos.) Minimizar el autómata finito
1
A
1
0
D
0
0
0
B
0
0
C
1
E
1
0
1
H
1
1
G
1
F
0
Ejercicio 2 (2 ptos.) Convertir en un autómata finito determinista el siguiente autómata finito no determinista.
0
q0
1
q2
0
1
0
1
22
q1
0
q3
Ejercicio 3 (2 ptos.) Construir un autómata a pila que reconozca el lenguaje
de las cadenas de ceros y unos tales que el número de unos sea, al menos, el
doble que el de ceros.
Problema 4 (2 ptos.) Sea Σ un alfabeto finito con al menos dos sı́mbolos.
Demostrar que el lenguaje
L = {www : w ∈ Σ∗ },
no es independiente de contexto. Demostrar que no es ası́ si el alfabeto tiene
un único sı́mbolo.
Problema 5 (2 ptos.) Demostrar que, dado un lenguaje regular L ⊆ Σ∗ ,
existe un natural n ∈ N tal que para toda cadena w ∈ L y toda subcadena de
la misma w 0 de longitud mayor que n (i.e. w = αw 0 β con α, β ∈ Σ∗ ), existen
tres cadenas x, y, z ∈ Σ∗ tales que:
w 0 = xyz,
|xy| ≤ n y |y| ≥ 1, y
αxy iyβ ∈ L para todo i ∈ N.
Teorı́a de Autómatas y Lenguajes Formales
Ingenierı́a Técnica en Informática de Sistemas
Febrero 2008
Problema 1 (2 ptos.) Minimizar el autómata finito
1
A
1
0
0
0
D
1
H
B
1
1
1
C
0 0
E
0
0
1
0
F
G
1
Solución .– Empleamos el algoritmo de marcado. De entrada, marcamos
aquellos pares de estados tales que uno es D, i.e.
(A, D), (B, D), (C, D), (D, E), (D, F ), (D, G) and (D, H).
Hecho esto, procedemos con el paso inductivo del algoritmo:
δ(A, 1) = A y δ(H, 1) = D, i.e. (A,H) es distinguible
δ(B, 1) = C y δ(H, 1) = D, i.e. (B,H) es distinguible
δ(C, 1) = B y δ(H, 1) = D, i.e. (C,H) es distinguible
δ(E, 1) = B y δ(H, 1) = D, i.e. (E,H) es distinguible
δ(F, 1) = E y δ(H, 1) = D, i.e. (F,H) es distinguible
δ(G, 1) = G y δ(H, 1) = D, i.e. (G,H) es distinguible
δ(A, 0) = B y δ(E, 0) = H, i.e. (A,E) es distinguible
δ(B, 0) = A y δ(E, 0) = H, i.e. (B,E) es distinguible
δ(C, 0) = F y δ(E, 0) = H, i.e. (C,E) es distinguible
δ(E, 0) = H y δ(F, 0) = C, i.e. (F,E) es distinguible
δ(E, 0) = H y δ(G, 0) = F , i.e. (G,E) es distinguible
δ(A, 1) = A y δ(F, 1) = E, i.e. (A,F) es distinguible
δ(B, 1) = C y δ(F, 1) = E, i.e. (B,F) es distinguible
δ(C, 1) = B y δ(F, 1) = E, i.e. (C,F) es distinguible
δ(G, 1) = G y δ(F, 1) = E, i.e. (G,F) es distinguible
δ(A, 1) = A y δ(G, 0) = E, i.e. (A,G) es distinguible
δ(B, 1) = C y δ(G, 0) = E, i.e. (B,G) es distinguible
δ(C, 1) = B y δ(G, 0) = E, i.e. (C,G) es distinguible
δ(A, 0) = B y δ(C, 0) = F , i.e. (A,C) es distinguible
δ(B, 0) = A y δ(C, 0) = F , i.e. (B,C) es distinguible
δ(A, 1) = A y δ(B, 1) = C, i.e. (A,B) es distinguible
En resumen, todos los pares de estados son distinguibles y el autómata dado
ya es mı́nimo.
25
Problema 2 (2 ptos.) Convertir en un autómata finito determinista el siguiente autómata finito no determinista con transiciones vacı́as.
ε
q0
1
q2
1
0
ε
0
q1
0 1
q3
1
Solución .– Tenemos que convertir un autómata finito con transiciones vacı́as
a un autómata determinista. Para ello aplicaremos el algoritmo de conversión
(incremental)..
El estado inicial del nuevo autómata viene dado por la clausura con respecto
al vacı́o:
Clε (q0 ) = {q0 , q3 }.
Las transisiones desde este nuevo estado son:
δ({q0 , q3 }, 0) = Clε (δ(q0 , 0)) ∪ Clε (δ(q3 , 0))
= {q0 , q1 , q3 } ∪ ∅
δ({q0 , q3 }, 1) = Clε (δ(q0 , 1)) ∪ Clε (δ(q3 , 1))
= ∅ ∪ {q0 , q1 , q2 , q3 }
Aparecen, por lo tanto, dos nuevos estados: {q0 , q1 , q3 } y {q0 , q1 , q2 , q3 }. Las
transiciones para esto son:
δ({q0 , q1 , q3 }, 0) = Clε (δ(q0 , 0)) ∪ Clε (δ(q1 , 0)) ∪ Clε (δ(q3 , 0))
= {q0 , q1 } ∪ {q3 } ∪ ∅
= {q0 , q1 , q3 }
δ({q0 , q1 , q3 }, 1) = Clε (δ(q0 , 1)) ∪ Clε (δ(q1 , 1)) ∪ Clε (δ(q3 , 1))
= ∅ ∪ ∅ ∪ {q0 , q1 , q2 , q3 }
= {q0 , q1 , q2 , q3 }
δ({q0 , q1 , q2 , q3 }, 0) = Clε (δ(q0 , 0)) ∪ Clε (δ(q1 , 0)) ∪ Clε (δ(q2 , 0)) ∪ Clε (δ(q3 , 0))
= {q0 , q1 } ∪ {q3 } ∪ {q3 } ∪ ∅
= {q0 , q1 , q3 }
δ({q0 , q1 , q2 , q3 }, 1) = Clε (δ(q0 , 1)) ∪ Clε (δ(q1 , 1)) ∪ Clε (δ(q2 , 1)) ∪ Clε (δ(q3 , 1))
= ∅ ∪ ∅ ∪ {q0 , q2 , q3 } ∪ {q0 , q1 , q2 , q3 }
= {q0 , q1 , q2 , q3 }
Los estado finales son aquellos que contienen al estado q3 .
En resumen, el autómata que queda es:
0
{q0 , q3 }
0
{q0 , q1 , q3 }
1
1 0
{q0 , q1 , q2 , q3 }
1
27
Problema 3 (2 ptos.) Construir un autómata a pila que acepte por pila
vacı́a y reconozca el lenguaje de las expresiones regulares sobre un alfabeto
finito Σ. Convertir dicho autómata en una gramática independiente de contexto aplicando el algoritmo al uso.
Solución .– Con el fin de conseguir el autómata más sencillo, comenzamos
dando una gramática independiente de contexto que genera dicho lenguaje:
E
E
E
E
E
E
E
→
→
→
→
→
→
→
(E)
E·E
E+E
E∗
σ con σ ∈ Σ
ε̄
∅
donde E es el sı́mbolo inicial y el sı́mbolo ε̄ representa la e.r. cadena vacı́a.
La conversión de la gramática anterior en un autómata a pila da lugar a un
autómata con un único estado, digamos p, cuyas transiciones están definidas
mediante:
δ(p, ε, E) = (p, (E)) δ(p, σ, σ) = (p, ε) con σ ∈ Σ
δ(p, ε, E) = (p, E · E)
δ(p, ε̄, ε̄) = (p, ε)
δ(p, ε, E) = (p, E + E)
δ(p, ∅, ∅) = (p, ε)
∗
δ(p, ε, E) = (p, E )
Puesto que sólo hay un único estado, cada transición sólo da lugar a una única
producción. Más concretamente, al convertir el autómata anterior obtenemos
la gramática:
S → [pEp]
[pEp] → [p(p][pEp][p)p]
[pEp] → [pEp][p · p][pEp]
[pEp] → [pEp][p + p][pEp]
[pEp] → [pEp][p∗ p]
[pσp] → σ con σ ∈ Σ
[pε̄p] → ε̄
[p∅p] → ∅
Problema 4 (2 ptos.) Sea Σ un alfabeto finito. Demostrar que el lenguaje
L = {w ∈ Σ∗ : |w| = n2 , con n ∈ N},
no es independiente de contexto.
Solución .– Supongamos por reducción al absurdo que L es independiente
de contexto. Si es ası́, por el Lema de Bombeo para LIC, existe un natural
n ∈ N tal que para toda cadena z ∈ L, de longitud |z| ≥ n, existen cadenas
u, v, w, x, y ∈ Σ∗ satisfaciendo:
z = uvwxy,
|vwx| ≤ n y vx 6= ε, y
∀k ∈ N, uv k wxk y ∈ L.
Consideramos z = α · · · α, una cadena de longitud n2 . Por lo anterior, existen u, v, w, x, y ∈ Σ∗ satisfaciendo i), ii) y iii). Tomando k = 2, la cadena uv 2 wx2 y pertenece a L. Ahora bien, n2 = |uvwxy| < |uv 2wx2 y|, pues
por ii), |vx| ≥ 1. Además, |uv 2 wx2 y| ≤ n2 + n, pues por ii), tenemos que
|vx| ≤ |vwx| ≤ n. Por lo tanto, |uv 2wx2 y| < (n + 1)2 = n2 + 2n + 1, lo cual
implica que uv 2wx2 y ∈
/ L; contradiciendo iii). Esta contradicción viene de
suponer que L es independiente de contexto.
Problema 5 (2 ptos.) Demostrar que toda máquina de Turing puede simularse mediante un autómata con dos pilas.
Solución .– Sea M = (K, Σ, δ, s) un máquina de Turing determinista y con
una única cinta (cualquier otro tipo de máquina, determinista o no determinista, con una o más cintas, puede simularse mediante una de este tipo). Para
simular M, mediante un autómata con dos pilas, tenemos que simular tanto
la estructura de datos “cinta” como los mivimientos de la propia máquina.
Para lo primero, supongamos que en un cierto momento, la configuración de
la máquina de Turing viene dada por una terna (q, v, w), donde el último
carácter de v es la posición del cursor en la cinta. Esta configuración se
codificarı́a en el autómata de la siguiente manera: en la primera pila estarı́a
v de manera que en la cima está el último carácter de v y, en la segunda pila,
se encuentra w de manera que el primer carácter se encuentra en la cima.
Para lo segundo, consideraremos que nuestro autómata tiene los mismos estados que la máquina de Turing y, definimos la función de transición de la
siguiiente manera:
Las transiciones del tipo δ(p, α) = (q, α0 , −), se simulan en el autómata mediante transiciones del tipo δ 0 (p, ε, α, β) = (q, α0, β, i.e. si no se
produce desplazamiento en la MT, tampoco en las pilas del autómata,
sólo se actualiza el contenido de la cinta y de la primera pila.
Las transiciones del tipo δ(p, α) = (q, α0, →), se simulan en el autómata
mediante transiciones del tipo δ 0 (p, ε, α, β) = (q, α0β, ε, i.e. si la MT se
desplaza a la derecha, tenemos que desapilar de la segunda pila y apilar
en la primera, tras haber actualizado el contenido.
Las transiciones del tipo δ(p, α) = (q, α0, ←), se simulan en el autómata
mediante transiciones del tipo δ 0 (p, ε, α, β) = (q, ε, α0β, i.e. si la MT se
desplaza a la izquierda, tenemos que desapilar de la primera pila y
apilar en la segunda, tras haber actualizado el contenido.
Antes de comenzar la simulación anterior, el autómata debe leer su entrada
e irla apilando en la segunda pila. Una vez leida toda la entrada, la primera
pila sólo contiene el inicio de pila, digamos Z, que juega el papel de inicio de
cinta. El inicio de pila en la segunda pila juega el papel de último blanco t,
cada vez que se pretende mover a la derecha y la pila segunda está vacı́a, el
autómata tiene que apilar en la primera pila un blanco.
Con todo lo anterior, queda claro que una máquina de Turing puede simularse
mediante un autómata con dos pilas.
Teorı́a de Autómatas y Lenguajes Formales
Ingenierı́a Técnica en Informática de Sistemas
Junio 2008
Ejercicio 1 (2 ptos.) Decidir si los siguientes autómatas finitos deterministas son equivalentes, i.e. deciden el mismo lenguaje.
A
b
b
C
a
b
b
B
E
a
a
a
a
D
G
b
b
b
a
F
a
Ejercicio 2 (2 ptos.) Convertir en un autómata finito determinista el siguiente autómata finito no determinista.
1
q0
0
1
q1
0
q2
q3
0
Problema 3 (2 ptos.) Construir un autómata a pila que acepte por pila
vacı́a y reconozca el lenguaje de las expresiones aritméticas (involucrando números representados en binario). Convertir dicho autómata en una
gramática independiente de contexto aplicando el algoritmo al uso.
Problema 4 (2 ptos.) Sea Σ un alfabeto finito y sea L el lenguaje de las
cadenas w ∈ Σ∗ tales que su longitud es 2n para algún n ∈ N. Demostrar que
L no es un lenguaje regular.
Problema 5 (2 ptos.) Demostrar que la unión de una familia finita de
lenguajes independientes de contexto es independiente de contexto.
Descargar