Relación de ejercicios hechos en clase en los últimos días previos

Anuncio
Relación de ejercicios hechos en clase en los últimos días previos al examen de febrero
De acuerdo con la definición de APND, propón 5 ejemplos de autómata con pila que acepten:
- el lenguaje Σ*
({f}, Σ, Σ, { ((f,a,ε), (f,ε)) | a∈Σ}, f, {f})
- ∅
({f}, Σ, Σ, ∅, f, ∅)
- un lenguaje finito no vacío
L({f}, Σ, Σ, ∅, f, {f}) = {ε}
- un lenguaje infinito diferente de Σ*
L({s,f}, Σ, Σ, { ((s,a,ε), (f,ε)) | a∈Σ}, s, {f}) = Σ*−{ε}
- y un lenguaje infinito no numerable.
no existe tal lenguaje
Siendo K = {s,f}, Σ = {a,b}, Γ={a,b} y F = {f}, propón ejemplos de transiciones que:
- acepten aab de la entrada si hay bb en la cima y no escriban nada en la pila
((s,aab,bb),(s,ε))
- sustituyan la cima de la pila por abab si esta contiene baba,
((s,ε,baba),(s,abab))
- hagan transitar al estado f si se puede aceptar aba de la entrada y la cima es bba.
((s,aba,bba),(f,ε))
Con las definiciones anteriores, propón ejemplos de configuraciones que:
- contengan la cadena aab en estado final y con la pila vacía,
(f,aba,ε), f∈F
- tengan en la pila el mismo contenido que en la cadena de entrada,
(s,w,w), w∈Σ* y w∈Γ+
- no estén en estado final y no tengan la pila vacía.
(s,ε,w), s∉F, w∈Γ+
EJEMPLO DE TEST
Marcar “A”(Verdadero) o “B”(Falso) en la hoja anexa. Anotar el número del test en el recuadro titulado “Firma” de
dicha hoja (junto a la firma).
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
1
F__ ∀ L⊆Σ* ∃ x,y∈Σ* | (x,y)∉IL .
V__ Σ* cumple el lema de bombeo para lenguajes regulares.
F__ Si un lenguaje L cumple la CBR, entonces L es regular.
F__ La unión de los naturales y los reales del intervalo (1000, 2000) es numerable
V__ Si un lenguaje L es regular entonces cumple la CBR.
F__ En el algoritmo de conversión de GRD en GRI el número reglas obtenido siempre es impar.
F__ Dado un AFD, no siempre existe un AFND equivalente
V__ α+α(β*+ββ*)*+(α+β+ββ)* = (α*β*)*
F__ Si todas las reglas de G son regulares terminales entonces ||L(G)||=1
V__ En el algoritmo de conversión de GRI a AFND, el resultado nunca es un AFD.
F__ Los subconjuntos Ai de A son una partición de A si A1 ∪ A2 ∪ ... ∪ An=A.
V__ L ∈ L(GCL) ⇒ L ∈ L(APND).
V__ Dados dos lenguajes L1 y L2 sobre el alfabeto Σ, L1∪L2 ⊆ Σ* .
V__ ∀x,y∈Σ* ΨΣ(xy) = ΨΣ(x) +ΨΣ(y).
F__ Todo subconjunto de un lenguaje regular es regular.
F__ Todo lenguaje regular es finito.
V__ Sea s una sustitución. Entonces ∀ L1 , L2 ⊆ Σ1*, s(L1 ∪ L2) = s(L1) ∪ s(L2) .
V__ Si f es una función biyectiva, entonces || Dom(f ) || = || Rg(f ) ||.
V__ Si G es una GLI, entonces ∃ M AFD | L(M)=L(G) .
V__ Toda GCL tiene al menos un símbolo terminable.
V__ Existe al menos un AFND que acepta una cadena mediante infinitas computaciones completas
F__ ∅100={ε}.
V__ Un AFD tiene tantas configuraciones terminales como estados.
F__ Si L es LCL entonces no cumple el lema de bombeo para lenguajes regulares.
V__ Una gramática puede estar a la vez en FNG y en FNC.
V__ Todo lenguaje generado por una GLI es regular y existe una GRD que lo genera.
F__ Si G es una GLI, entonces ∃ G’ GRD | L(G’)=L(G)*
V__ Si G es GCL entonces ∃M APND | L(M)−{ε}=L(G)
F__ En el algoritmo de conversión de GCL a APND, siempre es cierto que || ∆ || ≤ 3 || P || .
F__ x=y si y sólo si x es, a la vez, prefijo y sufijo de y.
V__ Tras aplicar el algoritmo de eliminación de axioma a la derecha, se cumple que: || P1 || ≤ 2 || P || .
V__ En el algoritmo de conversión de GRI en AFND, || P || = || ∆ || .
F__ R− I es el cierre reflexivo de R.
V__ Toda cadena generada por una gramática es una forma sentencial de la misma gramática.
V__ Para eliminar símbolos inútiles primero eliminamos no terminables y después inaccesibles.
F__ || {M | M es AFDM} || < || {M | M es AFD} || < || {M | M es AFND}|| .
V__ Si a y b son símbolos, se verifica esta igualdad de lenguajes: (a+b)* = ((a+b)*)+ .
V__ (α*β)*α* = (α+β)*
F__ Cualquier GR está en FNC.
V__ Dadas las ER α y β, L(α+ββ*αβα+β)∈L.3
GR: Gramática Regular. GRI/GRD: Gramática Regular Izquierda/Derecha. AF: Autómata Finito.
GCL: Gramática de contexto libre. GLI/GLD: Gramática Lineal Izquierda/Derecha.
AFD: Autómata Finito Determinista. AFND: Autómata Finito No Determinista .
PRIMER EJEMPLO DE EXAMEN PRÁCTICO
1º) 1,25
Dado el siguiente AFD, y la partición
Π = { Q0 = {q2 , q3} , Q1 = {q0 , q4} , Q2 = {q1} }
> q0
b
a
q1
a
b
a
q2
a
q3
a
b
q4
b
b
rellenar las siguientes tablas:
D
Q0
Q1
Q2
a
{Q1, Q2}
{Q0, Q2}
{Q0}
b
{Q0, Q1}
{Q1}
{Q1}
DD
Q0
Q1
Q2
a
{{q2}, {q3}}
{{q0}, {q4}}
{{q1}}
b
{{q2}, {q3}}
{{q0}, {q4}}
{{q1}}
2º) 1,25 Sea G = (N,T,P,S) con N = {S,A,B,C,D} , T = {a,b,c,d} ,
P = { S→AASBB , S→AB , A→a , A→b , B→c , B→d , d→c , b→a }.
¿De qué tipos (0, 1, 2, RI, RD, L, LI, LD) es la gramática?
Es de tipo 0. No es de ningún otro tipo.
¿Qué lenguaje genera la gramática?
L(G) = (a+b) ( (a+b)(a+b) )* (c+d) ( (c+d)(c+d) )*
¿De qué tipos (0, 1, 2, 3, Lineal) es el lenguaje generado?
L(G) es de tipos 0, 1, 2, 3 y lineal.
3º) 1,25 Demostrar formalmente que 2N no es un conjunto numerable, donde N es el conjunto de
los números naturales.
Visto en la teoría (Tema 1).
4º) 1,25 Aplicarle el algoritmo de conversión de GCL en APND visto en clase a la siguiente
gramática G = ( N , T , P , S ) con:
N = { S , A , B } , T = { a , b, c } , P = { S → ASBB , A → abAb | accb ,
B → cBSA | ca }
Construimos M = ( K , Σ , Γ , ∆ , s , F ) con:
K = { p, q }
Σ = T = { a, b, c }
Γ = V = N ∪ T = { S, A, B, a, b, c }
∆ = { ((p, ε , ε ), (q, S)) ,
((q, ε , S), (q, ASBB)) ,
((q, ε , A), (q,abAb)) ,
((q, ε , A), (q,accb)) ,
((q, ε , B), (q,cBSA)) ,
((q, ε , B), (q,ca)) ,
((q, a, a), (q, ε )) ,
((q, b, b), (q, ε )) ,
((q, c, c), (q, ε )) }
s=p
F={q}
cumpliéndose que L(G) = L(M) .
5º) 1,25 Sea Σ = {a,b,c,d}. Demostrar usando el lema de bombeo que el lenguaje
L = { w∈Σ* | w = a2n b2n c3n d4n con n ≥ 0 } no es regular.
Sea n∈N, y sea x = a2n b2n c3n d4n ∈ L, |x|=11n ≥ n. Supongamos que ∃ u, v, w ∈ Σ* que cumplen
conjuntamente todas las condiciones del lema del bombeo para lenguajes regulares. Entonces:
1) x=uvw
2) |uv| ≤ n ⇒ (por 1) uv=ak con 0≤k≤ n ⇒ (por 1) w = a2n–k b2n c3n d4n
3) |v| > 0 ⇒ (por 2) v=aj, u=ak–j con 0 < j < k,
4) ∀m≥0, uvmw∈L ⇒ Si m=0, uw∈L. Pero uw = ak–j a2n–k b2n c3n d4n = ak–j+2n–k b2n c3n d4n =
an–j b2n c3n d4n ∉ L porque j>0. Por lo tanto hemos llegado a un absurdo, de donde L no
es regular.
6º) 1,25 Sea Σ = {a,b,c} y L = { w∈Σ* | w=cvc, con v∈{a,b}* } . Calcular paso a paso, mostrando
los lenguajes intermedios obtenidos, la expresión ( ( s(L) )2 )R donde:
s(a) ={ b }, s(b) = { a }, s(c) = { cc } .
s(L) = { w∈Σ* | w = ccvcc , con v∈{a,b}* } = cc (a+b)* cc
(s(L))2 = cc (a+b)* cc cc (a+b)* cc
( ( s(L) )2 )R = (s(L))2 = cc (a+b)* cc cc (a+b)* cc
7º) 1,25 Sea Σ = {0,1}. Dar una Expresión Regular para el lenguaje:
L = {w ∈ Σ*  |w|>3 ∧ w(3)=0 ∧ w( |w| )=1 }
(0+1) (0+1) 0 (0+1)* 1
8º) 1,25 Sea Σ = {a,b,c,d}. Demostrar, sin usar el lema de Parikh, que ΨΣ(L) es semilineal para
L={bbb}{aaaa}+ ∪ {cc,dd}+
ΨΣ(L) = { v∈N4 | v = (4,3,0,0) + X1(4,0,0,0) con X1∈N } ∪
{ v∈N4 | v = (0,0,2,0) + X1(0,0,2,0) + X2(0,0,0,2) con X1, X2∈N } ∪
{ v∈N4 | v = (0,0,0,2) + X1(0,0,2,0) + X2(0,0,0,2) con X1, X2∈N }
SEGUNDO EJEMPLO DE EXAMEN PRÁCTICO
1º) 1,25 Dada la gramática G=(N,T,P,S), con
N={A, B, C, D, E}
T={a, b, c, d}
P={ A → bacE | adB | a | d,
B → aC | a,
C → adD | daA | b }
S=A
¿De qué tipos es L(G) y de cuáles no (0, 1, 2, lineal, 3)?
L(G) es de tipos 0, 1, 2, lineal y 3.
¿Qué cardinalidad tiene L(G) ?
|| L(G) || = ℵ0
Obtener una GRI equivalente aplicando el algoritmo visto en clase
G=(N1,T,P1,S), donde: N1=N∪{ A6, A7, A8, A9, A10} ,
P1={ A → bA6 | aA8 | a | d,
A6→aA7,
A7→cE,
A8→dB,
B → aC | a,
C → aA9 | dA10 | b,
A9→ dD,
A10→ aA
}
2º) 1,25 Sea Σ = {a,b}. Dar una Expresión Regular para el lenguaje:
L = {w ∈ Σ*  w = xz , con (|x|=2n ∧ n∈N) ∨ (z ∈ {a,b}2 Σ*) }
L = ((a+b)(a+b))* (a+b)* + (a+b)* (a+b)(a+b) (a+b)* = (a+b)*
3º) 1,25 Rellenar las siguientes tablas para el autómata presentado.
c-ε
c-a
c-b
q0
∅
{q1}
∅
q1
∅
{q2}
{q0}
q2
{q5}
{q1}
{q3}
q3
{q0}
{q2}
∅
q4
∅
∅
{q1, q5}
q5
{q4}
{q6}
∅
q6
∅
{q5}
{q3}
b
q1
b
a
a
> q0
ε
a
a
q3
{ q1 , q6 }
{ q2 , q4 , q5 }
C-ε
∅
{q4, q5}
C-a
{q2, q5}
{q1, q6}
C-b
{q0, q3}
{q1, q3, q5}
b
ε
ε
q2
b
q4
q5
a
b
{ q1 , q6 }
{ q2 , q4 , q5 }
Cierre-ε
{q1, q6}
{q2, q4, q5}
Cierre-a
{q2, q4, q5}
{q1, q6}
Cierre-b
{q0, q3}
{q0, q1, q3, q5}
a
q6
4º) 1,25 Sea Σ = {a,b,c,d}. Demostrar, sin usar el lema de Parikh, que ΨΣ(L) es semilineal para L = {
w∈Σ* | |w|a=3|w|b }
ΨΣ(L) = { v∈N4 |
v = (0,0,0,0) + X1(3,1,0,0) + X2(0,0,1,0) + X3(0,0,0,1) con X1, X2, X3∈N }
5º) 1,25 Sea Σ = {a,b,c,d}. Demostrar usando el lema de bombeo que el lenguaje
L = { w∈Σ* | w = an bp cn+p d con n,p ≥ 0 } no es regular.
Sea n∈N, y sea x = an bn c2n d ∈ L, |x|=4n+1≥n. Supongamos que ∃ u, v, w ∈ Σ* que cumplen
conjuntamente todas las condiciones del lema del bombeo para lenguajes regulares. Entonces:
5) x=uvw
6) |uv| ≤ n ⇒ (por 1) uv=ak con 0≤k≤ n ⇒ (por 1) w = an–k bn c2n d
7) |v| > 0 ⇒ (por 2) v=aj, u=ak–j con 0 < j < k,
8) ∀m≥0, uvmw∈L ⇒ Si m=0, uw∈L. Pero uw = ak–j an–k bn c2n d=ak–j+n–k bn c2n d = an–j bn
c2n d ∉ L porque j>0. Por lo tanto hemos llegado a un absurdo, de donde L no es regular.
6º) 1,25 Sea Σ = {a,b,c,d} y sea L = { w∈Σ* | w = vavR, con v∈{a,b}* }.
Obtenga un APND M tal que L(M)=L .
M=(K,Σ,Γ,∆,s,F), donde:
K={p,q}
Σ={a,b,c,d}
Γ={a,b}
s=p
F={q}
∆={ ((p,a,ε),(p,a)) , ((p,b,ε),(p,b)) , ((p,a,ε),(q,ε)) , ((q,a,a),(q,ε)) , ((q,b,b),(q,ε)) }
Nótese que la 1ª y 2ª transiciones sirven para introducir v en la pila (que se almacena como vR). La
3ª transición sirve para consumir la ‘a’ que hay en medio de w de manera no determinista. Las
transiciones 4ª y 5ª sirven para ir comparando la cadena vR almacenada en la pila con el resto de w.
7º) 1,25 Sean Σ1 = {0,1} , Σ2 = {a,b,c,d} y L = 1*00 .
a) Calcular paso a paso, mostrando los lenguajes intermedios obtenidos, la expresión
((s(L))*)2 donde: s(0) = {c,d} , s(1) = {aba, a, b} .
b) ¿ abbdcdc ∈ ((s(L))*)2 ? Razona tu respuesta.
a)
s(L) = { w∈Σ* | w = v z , con v∈{a,b}* , z∈{c,d}2 } = (a+b)* (c+d) (c+d)
(s(L))* = ( (a+b)* (c+d) (c+d) )*
((s(L))*)2 = ( ( (a+b)* (c+d) (c+d) )* ) 2 = ( (a+b)* (c+d) (c+d) )*
b) abbdcdc ∈ ((s(L))*)2, dado que por una parte se tiene que abbdc∈ (a+b)* (c+d) (c+d), y por otro
lado también tenemos que dc ∈ (a+b)* (c+d) (c+d), con lo cual se concluye que abbdcdc ∈ ( (a+b)*
(c+d) (c+d) )* = ((s(L))*)2
8º) 1,25 Sea Σ un alfabeto. Demostrar formalmente el siguiente enunciado:
∀ M=(K, Σ, δ, s, F) AFD ,
∃ M’=(K’, Σ, ∆’, s’, F’) AFND | ( ||K||=||K’||–3 ) ∧ ( L(M)=L(M’) )
Sea M=(K, Σ, δ, s, F) un AFD cualquiera. Sea entonces M’ el siguiente AFND que cumple la
condición exigida:
M’=(K’, Σ, ∆’, s’, F’)
K’ = K ∪ {q, q’, q’’}, donde q, q’, q’’∉K
s’=s
F’=F
∆’={ (qi, σ, qj) ∈ K×Σ×K | δ(qi, σ)= qj}
Nótese que M’ es como M, salvo que hemos añadido tres estados nuevos, llamados q, q’, q’’, de tal
manera que dichos estados no tienen ninguna transición entrante ni saliente.
Descargar