Enero

Anuncio
Autómatas y Lenguajes Formales
3o Ingenierı́a Informática
1er Parcial
Enero 2010
Normas :
La duración de esta parte del examen es de 2,5 horas.
Todos los ejercicios se entregarán en hojas separadas.
El examen tipo test cuenta hasta 2 puntos sobre la nota global.
1. (1.5 puntos) Sea Σ = {a} un alfabeto y L ⊆ Σ∗ el lenguaje definido por la siguiente
igualdad:
L = {an | n ≡ 0 mod 2 y n 6≡ 0 mod 3}
Esto es, cadenas de a’s de longitud par pero no múltiplo de 3. Por ejemplo, las siguientes cadenas pertenecen al lenguaje: aa, aaaa, aaaaaaaa, aaaaaaaaaa. Sin embargo,
no pertenecen al lenguaje: aaaaaa, aaaaaaaaaaaa.
Obtén una gramática formal de tipo 3 que genere L.
Solución:
Un autómata finito determinista que reconoce ese lenguaje es el siguiente:
A
a
B
a
a
F
C
a
a
E
a
D
Por lo tanto, una gramática regular que genera el lenguaje (construı́da a partir
del autómata anterior) puede ser la siguiente:
G = ({A, B, C, D, E, F }, {a}, A, P})
P = { A ::= aB,
B ::= aC | a,
C ::= aD,
D ::= aE | a,
E ::= aF,
F ::= aA}
Página 1 de 5
Examen 1er Parcial – Enero 2010 (cont.)
2. (3 puntos) Sea A un autómata finito definido de la siguiente manera:
A = ({0, 1}, {q0 , q1 , q2 , q3 , q4 }, f, q0 , {q4 })
f
→ q0
q1
q2
q3
*q4
0
1
q1
λ
q1
q2
q4
q4
q2
q0 , q3
Y sea E la siguiente expresión regular:
E = (0 + 10)(0 + 10)∗ (λ + 1)
(a) (1.25 puntos) Obtén un autómata finito determinista mı́nimo equivalente a A.
Justifica todos los pasos.
Solución:
Primero obtendremos la clausura lambda del estado inicial: clausλ (q0 ) =
{q0 , q1 , q2 }, que será el estado inicial de nuestro autómata finito determinista equivalente AF Dequiv . Partiendo de dicho estado, generamos la tabla de
transiciones de AF Dequiv :
fAF Dequiv
0
1
→ {q0 , q1 , q2 } {q0 , q1 , q2 , q3 , q4 }
{q1 , q2 }
*{q0 , q1 , q2 , q3 , q4 } {q0 , q1 , q2 , q3 , q4 } {q1 , q2 , q4 }
{q1 , q2 } {q0 , q1 , q2 , q3 , q4 }
{}
*{q1 , q2 , q4 } {q0 , q1 , q2 , q3 , q4 }
{}
{}
{}
{}
Renombrando, obtendremos el autómata finito determinista equivalente que
buscábamos:
AF Dequiv = ({0, 1}, {A, B, C, D, E}, f ′ , A, {B, D})
f′ 0 1
→A B C
*B B D
C B E
*D B E
E E E
Para minimizar el autómata, como no tiene estados inaccesibles pasamos a
calcular el conjunto cociente Q/E:
Q/E0 = {{B, D}, {A, C, E}}
Q/E1 = {{B}, {D}, {A, C}, {E}}
Página 2 de 5
Examen 1er Parcial – Enero 2010 (cont.)
Q/E2 = {{B}, {D}, {A}, {C}, {E}}
Q/E3 = {{B}, {D}, {A}, {C}, {E}}
Q/E3 = Q/E2 = Q/E
El autómata ya era mı́nimo.
(b) (1.25 puntos) Demuestra, utilizando algoritmos vistos en clase, si la expresión
regular E y el autómata A describen, o no, el mismo lenguaje.
Solución:
Para comprobar si ambos elementos describen el mismo lenguaje, vamos a
comparar sus autómatas finitos deterministas mı́nimos.
Como hemos demostrado en clase, se puede obtener un autómata finito no
determinista a partir de la expresión regular E. La función de transición, de
uno de los posibles autómatas, es la siguiente:
fAF N D−E 0 1 λ
→q0 q1 q2
*q1
q3 q0
q2 q1
*q3
Ahora, obtenemos un autómata finito determinista equivalente, partiendo
de la clausura lambda del estado inicial: clausλ (q0 ) = {q0 }. La tabla de
transiciones de dicho autómata es la siguiente:
fAF D−E
0
1
→{q0 } {q0 , q1 }
{q2 }
*{q0 , q1 } {q0 , q1 } {q2 , q3 }
{q2 } {q0 , q1 }
{}
*{q2 , q3 } {q0 , q1 }
{}
{}
{}
{}
Renombrando los estados observaremos que el autómata finito determinista
que acabamos de hallar es isomorfo al autómata finito determinista mı́nimo
que calculamos en el primer apartado de éste ejercicio.
fAF D−E 0 1
→A B C
*B B D
C B E
*D B E
E E E
Por lo tanto, como los autómatas finitos deterministas mı́nimos son isomorfos, la expresión regular E y el autómata finito A definen el mismo lenguaje.
(c) (0.5 puntos) Obtén una gramática regular lineal por la derecha equivalente al
lenguaje reconocido por el autómata A.
Página 3 de 5
Examen 1er Parcial – Enero 2010 (cont.)
Solución:
La gramática regular lineal por la derecha equivalente la hallamos aplicando
el algoritmo visto en clase sobre AF Dequiv hallado en el apartado anterior
(para hallar la gramática podemos obviar el estado E):
G = ({A, B, C, D}, {0, 1}, A, P})
P = { A ::= 0B | 1C | 0
B ::= 0B | 1D | 0 | 1
C ::= 0B | 0
D ::= 0B | 0}
3. (1.75 puntos) Consideremos el siguiente lenguaje:
L = {afib(n) | fib(n) = enésimo término de la serie de Fibonacci , n ≥ 0}.
¿Es L un lenguaje regular?. Razona la respuesta.
Recuerde que la serie de Fibonacci se caracteriza porque cada término es la suma de
los dos anteriores (excepto para los dos primeros valores). Además, la serie cumple
que fib(n − 1) > n para valores de n ≥ 7.

si n = 0
 0
1
si n = 1
fib(n) =

fib(n − 2) + fib(n − 1) si n > 1
Solución:
Supongamos que L es regular. Entonces, por el Lema de Bombeo, existe una
constante N ∈ N tal que para toda palabra x ∈ L con |x| ≥ N existe una
descomposición x = uvw verificando las propiedades siguientes:
i) |v| > 0.
ii) |uv| ≤ N .
iii) Para todo i ≥ 0, uv i w ∈ L.
Sea N la constante del Lema de Bombeo, y definimos x := afib(N ) . Como podemos
suponer N arbitrariamente grande, supondremos que N > 6. En dicho caso,
fib(N ) > N , luego |x| > N . Además, trivialmente x ∈ L.
Sea k = |v|. Entonces, aplicando iii) con i = 2 obtenemos que α := uv 2 w ∈ L.
Pero se tiene que α es de la forma α = afib(N )+k . Veamos que α no es una palabra en
Página 4 de 5
Examen 1er Parcial – Enero 2010 (cont.)
el lenguaje demostrando que su longitud |α| está estrictamente entre dos números
de Fibonacci consecutivos.
fib(N ) < fib(N ) + k ≤ fib(N ) + N < fib(N ) + fib(N − 1) = fib(N + 1).
Por tanto, |α| no es un número de Fibonacci, con lo cual α 6∈ L, y llegamos a una
contradicción, que parte de suponer que L es regular. Concluı́mos que L no es un
lenguaje regular.
4. (1.75 puntos) Consideremos el siguiente lenguaje:
L := {a(p+q)
mod 5 p q
b c | p, q ≥ 0} ⊆ {a, b, c}∗ .
¿Es L un lenguaje regular?. Razona la respuesta.
Solución:
Sı́ es regular. Sea M := {cp bq a(p+q) mod 5 | p,q≥0 } su inverso, es decir L−1 = M . M
es regular, ya que se reconoce mediante el siguiente autómata finito:
c
c
λ
c
λ
b
λ
c
λ
b
λ
a
c
λ
b
a
b
b
λ
a
λ
λ
λ
a
Como M −1 = L, y M es regular, usando las propiedades de los lenguajes regulares,
se sigue que L es también regular.
Página 5 de 5
Descargar