Dep. Matem´atica e Aplica¸c˜oes 27 de Abril de 2011 Universidade do Minho
1o
Teste de
Teoria das Linguagens
Lic. Ciˆencias Computa¸c˜ao Dura¸c˜ao: 2 horas
Proposta de resolu¸c˜ao
1. Considere a linguagem L = aA∗a sobre o alfabeto A = {a, b}.
(a) Diga, justificando, se s˜ao verdadeiras ou falsas as seguintes afirma¸c˜oes: (i) Para todo u ∈ L2
, tem-se u = v2
, para algum v ∈ L. R: A afirma¸c˜ao ´e falsa.
Contra-exemplo: As palavras aa e aba s˜ao elementos de L, logo u = aaaba ´e um elemento de L2
. No entanto, u 6= vv, para todo v ∈ L. (ii) LI
= L.
R: A afirma¸c˜ao ´e verdadeira. De facto, para quaisquer linguagens L1, L2, L3
sobre um alfabeto A, sabe-se que • (L1L2)L3= L1(L2L3); • (L1∗) I = L1∗; • (L1L2)I = L2 I L1 I , logo LI = ({a}A∗{a})I = {a}I ({a}A∗ )I = {a}I ((A∗)I {a}I ) = {a}(A∗{a}) = {a}A∗{a} = L.
(b) Recorrendo ao Princ´ıpio de Indu¸c˜ao em N, mostre que para todo n ∈ N, Ln+1⊆ Ln
. Conclua que L∗ = L ∪ {ǫ}.
R: O Principio de Indu¸c˜ao em N estabelece o seguinte: Seja P (n) uma propriedade sobre elementos de n ∈ N. Se
1) P (1) ´e verdadeira;
2) P (k) ⇒ P (k + 1), para todo k ∈ N, ent˜ao, P (n) ´e verdadeira, para todo n ∈ N.
Representemos por P (n) a propriedade “Ln+1 ⊆ Ln
” e mostremos, recorrendo ao Princ´ıpio de Indu¸c˜ao em N, que P (n) ´e verdadeiro, para todo n ∈ N.
1) Caso base (n = 1): Temos L2 = (aA∗a)(aA∗a). Logo, dado u ∈ L2 tem-se
u = (au1a)(au2a) = au1aau2a, para alguns u1, u2 ∈ A∗. Ent˜ao, como a ∈ A∗ e
u1, u2 ∈ A∗, temos v = u1aau2 ∈ A∗ e, portanto, u = ava ∈ aA∗a = L. Logo
L2 ⊆ L e, portanto P (1) ´e verdadeiro.
2) Passo de indu¸c˜ao: Dado k ∈ N, admitamos que P (k) ´e verdadeiro, ou seja, que Lk+1 ⊆ Lk
. Pretendemos mostrar que P (k+1) ´e verdade, ou seja, que Lk+2 ⊆ Lk+1.
Com efeito, se Lk+1 ⊆ Lk
, segue que Lk+2 = L · Lk+1 ⊆ L · Lk
= Lk+1. Assim,
P (k) ⇒ P (k + 1).
De 1) e 2) e do Princ´ıpio de Indu¸c˜ao em N conclu´ımos que, para todo n ∈ N, P (n) ´e verdadeiro.
Do que acab´amos de provar segue que, para todo n ∈ N, Ln
⊆ L1 , logo L∗ = [ n∈N0 Ln = L0 ∪ [ n∈N Ln = {ǫ} ∪ L.
2. Considere as seguintes express˜oes regulares sobre o alfabeto A = {a, b} r1 = b(a + b)∗ r2 = (a + b)∗a
r3 = b((a + b)(a + b))∗a r4 = b(a∗+ b∗)∗a
(a) Apresente uma defini¸c˜ao indutiva da linguagem L(r1).
R: A linguagem L(r1) pode ser definida indutivamente pelas regras seguintes:
1) b ∈ L;
2) Se u ∈ L, ent˜ao ua ∈ L; 3) Se u ∈ L, ent˜ao ub ∈ L.
(b) Diga, justificando, se s˜ao verdadeiras ou falsas as seguintes afirma¸c˜oes: (i) r1r2= r3;
R: A afirma¸c˜ao ´e falsa. Dado que
L(r1r2) = L(r1)L(r2)
= (L(b)L((a + b)∗))(L((a + b)∗)L(a))
= {b}(L(a + b))∗(L(a + b))∗{a}
= {b}({a} ∪ {b})∗
({a} ∪ {b})∗{a}
= {b}{a, b}∗{a, b}∗{a}
= {b}{a, b}∗{a}
L(r3) = L(b)L(((a + b)(a + b))∗)L(a)
= {b}(L((a + b)(a + b)))∗{a}
= {b}(L(a + b)L(a + b))∗{a}
= {b}(({a} ∪ {b})({a} ∪ {b}))∗{a}
= {b}(({a, b}{a, b})∗{a}
= {b}{aa, ab, ba, bb}∗{a}.
temos bba ∈ L(r1r2), mas bba 6∈ L(r3). Assim, L(r1r2) 6= L(r3) e, portanto,
r1r2 6= r3.
(ii) r1r2 = r4.
R: A afirma¸c˜ao ´e verdadeira. Com efeito, dado um alfabeto A e r, s, t express˜oes regulares sobre A, sabe-se que
(i) (rs)t = r(st); (ii) r∗r∗= r∗; (iii) (r + s)∗ = (r∗ + s∗ )∗ . Ent˜ao r1r2 = (b(a + b)∗)((a + b)∗a)
= b((a + b)∗(a + b)∗)a por (i)
= b(a + b)∗ a por (ii) = b(a∗ + b∗ )∗ a por (iii) = r4.
3. Indique uma express˜ao regular sobre o alfabeto A = {a, b} que represente: (a) A linguagem L sobre A tal que L = (L1∪ L2)∗, onde L1 = A∗a e L2 = {b}.
Justifique.
L(r) = (L((a + b)∗a + b))∗ = (L((a + b)∗ a) ∪ L(b))∗ = (L((a + b)∗)L(a) ∪ {b})∗ = ((L(a + b))∗{a} ∪ {b})∗ = (({a} ∪ {b})∗{a} ∪ {b})∗ = ({a, b}∗{a} ∪ {b})∗ = (A∗{a} ∪ {b})∗ = (L1∪ L2)∗
(b) A linguagem L1 sobre A tal que
L1 = aL2
L2 = bL3∪ aL4
L3 = aL2∪ bL2∪ {ǫ}
L4 = aL2∪ bL2.
onde L2, L3, L4 s˜ao linguagens sobre A. Justifique a sua resposta usando
um sistema de equa¸c˜oes linares para determinar uma express˜ao regular r sobre A tal que L(r) = L1.
R: O sistema de equa¸c˜oes lineares `a direita associado `a defini¸c˜ao de L1´e o seguinte
X1 = aX2 X2 = bX3+ aX4 X3 = aX2+ bX2+ ǫ X4 = aX2+ bX2
Resolvendo este sistema, temos X1 = aX2 X2 = bX3+ aX4 X3 = aX2+ bX2+ ǫ X4 = aX2+ bX2 ⇔ X1 = aX2 X2 = b(aX2+ bX2+ ǫ) + a(aX2+ bX2) X3 = aX2+ bX2+ ǫ X4 = aX2+ bX2 ⇔ X1 = aX2 X2 = (ba + bb + aa + ab)X2+ b X3 = aX2+ bX2+ ǫ X4 = aX2+ bX2 ⇔ X1 = aX2 X2 = (ba + bb + aa + ab)∗b X3 = aX2+ bX2+ ǫ X4 = aX2+ bX2 ⇔ X1 = a(ba + bb + aa + ab)∗b X2 = (ba + bb + aa + ab)∗b X3 = aX2+ bX2+ ǫ X4 = aX2+ bX2
Uma vez que a solu¸c˜ao para X1 representa a linguagem L1, temos
L1 = L(a(ba + bb + aa + ab)∗b) = L(a((a + b)(a + b))∗b).
4. Sejam A = {a, b} e A = ({1, 2, 3}, A, δ, 1, {3}) o aut´omato finito representado pelo grafo seguinte: 1 2 3 a a b a a b b b
(a) Determine {u ∈ L(A) : |u| ≤ 4}. Diga, justificando, se L(A) = L((a+
b+
)+
). R: Uma palavra u ∈ A∗´e um elemento de L(A) se existe um caminho bem sucedido
em A com etiqueta u. Assim,
{u ∈ L(A) : |u| ≤ 4} = {b, ab, bb, aab, abb, bbb, aaab, aabb, abbb, bbbb, bbab}. Uma vez que b ∈ L(A) e b 6∈ L((a+
b+
)+
), tem-se L(A) 6= L((a+
b+
)+
).
(b) Construa um aut´omatoA′ finito determinista completo acess´ıvel
equiva-lente a A.
Um aut´omato finito A = (Q, A, δ, i, F ) diz-se
• completo se para cada q ∈ Q e a ∈ A existe, pelo menos, uma transi¸c˜ao com origem q e etiqueta a;
• determinista se para cada q ∈ Q e a ∈ A existe no m´aximo uma transi¸c˜ao com origem q e etiqueta a;
• acess´ıvel se para cada q ∈ Q existe um caminho inicial com t´ermino no estado q.
O aut´omato A′seguinte (constru´ıdo de acordo com a Proposi¸c˜ao 3.19) ´e um aut´omato
determinista, completo, acess´ıvel e equivalente a A:
1 a 12 3 13 ∅ b a b b a b a a, b (c) Indique o conjunto de estados Q′ do aut´omato A′.
R: Representando por q1, q2, q3, q4 e q0 os estados 1, 12, 3, 13 e ∅ do aut´omato A′,
temos Q′ = {q
0, q1, q2, q3, q4}.
i. Para cada k ∈ N0, determine o conjunto quociente Q′/ ∼k para a
rela¸c˜ao ∼k.
R: Dado um aut´omato A′ = (Q′, A, δ′, i′, F′) e dados q, q′∈ Q′, as rela¸c˜oes ∼ k
podem ser definidas recursivamente do seguinte modo: • q ∼0q ′ se e s´o se q, q′∈ F′ ou q, q′ ∈ Q′\ F′;
• para cada k ∈ N0, q ∼k+1 q′ se e s´o se q ∼k q′ e, para cada a ∈ A, se
δ′(q, a) = {p} e δ′(q′, a) = {p′}, ent˜ao p ∼ kp′. Assim, considerando A′ = (Q′ , A, δ′ , i′ , F′
) o aut´omato determinado anterior-mente temos
Q′
/ ∼0= {{q3, q4}, {q0, q1, q2}},
pois q3 e q4 s˜ao os ´unicos estados finais de A′.
Agora, da defini¸c˜ao de ∼1 e da tabela seguinte
δ′ a b q0 q0 q0 q1 q2 q3 q2 q2 q3 q3 q0 q4 q4 q2 q4 segue que • q3 ∼1 q4, pois
δ′ (q3, b) = {q4}, δ′(q4, b) = {q4} e q4∼0 q4; • q0 ≁1 q1 pois δ′(q 0, b) = {q0}, δ′(q1, b) = {q3} e q0≁0 q3; • q1 ∼1 q2, pois δ′(q 1, a) = {q2}, δ′(q2, a) = {q2} e q2∼0 q2; δ′(q 1, b) = {q3}, δ′(q2, b) = {q3} e q3∼0 q3.
Logo, atendendo a que ∼1 ´e uma rela¸c˜ao de equivalˆencia, temos
Q′
/ ∼1= {{q3, q4}, {q1, q2}, {q0}}.
Calculemos, agora, a rela¸c˜ao ∼2. Da rela¸c˜ao ∼1, da defini¸c˜ao de ∼2 e da tabela
anterior temos • q3 ≁2 q4, pois δ′ (q3, a) = {q0}, δ′(q4, a) = {q2} e q0≁1 q2; • q1 ∼2 q2, pois δ′(q 1, a) = {q2}, δ′(q2, a) = {q2} e q2∼1 q2; δ′ (q1, b) = {q3}, δ′(q2, b) = {q3} e q3∼1 q3. Logo Q′ / ∼2= {{q3}, {q4}, {q1, q2}, {q0}}.
Da rela¸c˜ao ∼2, da defini¸c˜ao de ∼3 e novamente da tabela anterior, temos
• q1 ∼3 q2, pois δ′ (q1, a) = {q2}, δ′(q2, a) = {q2} e q2∼2 q2; δ′(q 1, b) = {q3}, δ′(q2, b) = {q3} e q3∼2 q3. Assim Q′ / ∼3= Q′/ ∼2
e consequentemente tamb´em temos Q′
/ ∼k= Q′/ ∼2, para todo k ≥ 3, .
ii. Determine a rela¸c˜ao ∼ e construa o aut´omato A′/ ∼. Diga,
justifi-cando, se existe um aut´omato com 3 estados que seja determinista, completo, acess´ıvel e equivalente a A.
R: Da al´ınea anterior sabemos que ∼3=∼2 e, portanto,∼=∼2. Logo
Q′
/ ∼= {{q0}, {q1, q2}, {q3}, {q4}}.
Logo o aut´omato quociente A′/ ∼= (Q′, A, δ′, i′, F′) ´e o aut´omato representado
por q1 q3 q4 q0 a b b b a b a a, b onde q0 = {q0}, q1 = q2 = {q1, q2}, q3 = {q3}, q4 = {q4} e q0, q1, q2, q3 e q4
representam os estados ∅, 1, 12, 3 e 13 do aut´omato A′.
O aut´omato anterior ´e, a menos de isomorfismo, o aut´omato determinista, completo, acess´ıvel com menor n´umero de estados que ´e equivalente a A′
e, por conseguinte, ´e o aut´omato determinista, completo, acess´ıvel com menor n´umero de estados que ´e equivalente a A. Logo n˜ao existe qualquer aut´omato com 3 estados nas condi¸c˜oes indicadas.
Cota¸c˜ao:
1. (3,25 + 2,25) 2. (1,5 + 3,25) 3. (1,75 + 2,0) 4. (1,5 + 2,0 + 2,5)