computabilidade e linguagens formais
DESCRIPTION
Computabilidade e Linguagens Formais. Problemas Notas baseadas em John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. “Introduction to automata theory, languages and computation” . 2nd ed, Addison-Wesley, 2001. Gabriel David / Cristina Ribeiro. Problema 1. - PowerPoint PPT PresentationTRANSCRIPT
1
Computabilidade e Linguagens Formais
Problemas
– Notas baseadas em John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. “Introduction to automata theory, languages and computation”. 2nd ed, Addison-Wesley, 2001.
Gabriel David / Cristina Ribeiro
Problemas-2
Problema 1
Considere a linguagem S* em que S= {aa, b}. Quantas palavras de comprimento 4, 5e 6 contém esta linguagem?
– O que pode concluir em geral?
Resposta– 4: aaaa, aabb, baab, bbaa, bbbb (5)– 5: aaaab, aabaa, baaaa, aabbb, baabb, bbaab, bbbaa, bbbbb (8)– 6: aaaaaa, aaaabb, aabaab, aabbaa, aabbbb, baabaa, baaaab, baabbb,
bbaaaa, bbaabb, bbbaab, bbbbaa, bbbbbb (13)
Problemas-3
Problema 2
(i) Seja S={ab, bb} e T={ab, bb, bbbb}. Mostre que S*=T*. (ii) Seja S={ab, bb} e T={ab, bb, bbb}. Mostre que S*T*,
mas que S* T*. (iii) Que princípio ilustram estes resultados? Resposta
– (i) S* T*. Se w S* então é constituído por uma sequência de ocorrências de ab e de bb. Ora quer ab quer bb pertencem a T e portanto w T*.
– T* S*. Se w T* então é constituído por uma sequência de ocorrências de ab, bb e bbbb. Ora quer ab quer bb pertencem a S e bbbb corresponde a repetir bb que está em S e portanto w S*.
Problemas-4
Problema 2 (cont.)
– (ii) S* T*. Se w S* então é constituído por uma sequência de ocorrências de ab e de bb. Ora quer ab quer bb pertencem a T e portanto w T*.
– S*T*, porque, por exemplo bbb T* mas não a S*, uma vez que as cadeias só com b’s em S* tem que ter comprimento par pois são construídas à custa de repetições de bb.
– (iii) o princípio ilustrado é o de que S T S* T*.
Problemas-5
Problema 3
Suponha que numa certa linguagem L se podem sempre concatenar duas palavras e obter uma palavra em L, desde que as duas sejam diferentes, isto é, dadas w1, w2 L, w1w2, então w1w2 L, embora w1w1 não pertença. Mostre que isto não pode acontecer.
Resposta– Se w1, w2 L então w1w2 L e w1w2w1 L e, fazendo x1= w1w2w1
e x2=w2, w1w2w1w2 L. Mas então, fazendo agora x1= w1w2, também x1x1 L, contrariando a hipótese.
Problemas-6
Problema 4
Apesar de alguma semelhanças, as expressões regulares não são polinómios algébricos. Quais das seguintes igualdades são verdadeiras? Justifique.
– (i) (a+b)* = (a+b)* + (a+b)* – (ii) (a+b)* = (a+b)* b (a+b)* – (iii) (a+b)* = (a+b)* + a*– (iv) (a+b)* = (a+b)* (a+b)*– (v) (a+b)* = a(a+b)* + b(a+b)*– (vi) (a+b)* = (a+b)*ab(a+b)*+b*a*
Resposta– falsas são (ii), porque exige sempre um b, e (v) porque falta o caso
vazio (acrescentar ); na (vi) trata-se primeiro os casos em que existe um ab e com b*a* todos os outros
Problemas-7
Problema 5
Considere a expressão regular e simplifique-a– E = (a+b)*a(a+b)*(a+)(a+b)*a(a+b)*
Resposta– Aplicar a propriedade distributiva– E = (a+b)*a(a+b)*(a)(a+b)*a(a+b)* + (a+b)*a(a+b)*()
(a+b)*a(a+b)*– Reconhecer: 1ª operando exige 3 a’s, enquanto que o segundo exige
apenas 2, o que inclui o caso dos 3.– Simplifica para: E= (a+b)*a(a+b)*a(a+b)*
Problemas-8
Problema 6
Considere o autómato da figura. Obtenha uma expressão regular que defina a mesma linguagem usando
– (i) o método da construção de caminhos– (ii) o método da redução de nós
Start
2a
3b
4
a,b
1
a
ab
b
Problemas-9
Problema 6 (cont.)
Rij(k) = Rij
(k-1) + Rik(k-1) (Rkk
(k-1))* Rkj(k-1)
R11(0)
R12(0) a
R13(0) b
R14(0)
R21(0)
R22(0)
R23(0) a
R24(0) a
Start
2a
3b
4
a,b
1
a
ab
bR31(0)
R32(0) b
R33(0)
R34(0) b
R41(0)
R42(0)
R43(0)
R44(0) +a+b
R11(1)
R12(1) a
R13(1) b
R14(1)
R21(1)
R22(1)
R23(1) a
R24(1) a
R12(1)=a+()*a = a
R31(1)
R32(1) b
R33(1)
R34(1) b
R41(1)
R42(1)
R43(1)
R44(1) + a+b
Problemas-10
Problema 6 (cont.)
Rij(k) = Rij
(k-1) + Rik(k-1) (Rkk
(k-1))* Rkj(k-1)
R11(2)
R12(2) a
R13(2) b+aa
R14(2) aa
R21(2)
R22(2)
R23(2) a
R24(2) a
Start
2a
3b
4
a,b
1
a
ab
bR31(2)
R32(2) b+ba
R33(2) +ba
R34(2) b+ba
R41(2)
R42(2)
R43(2)
R44(2) +a+b
R11(3)
R12(3) a+(b+aa)(ba)*(b+ba)
R13(3) b+aa +(b+aa)(ba)*(+ba)
R14(3) aa+(b+aa)(ba)*(b+ba)
R21(3)
R22(3) +a(b+a)(b+ba)
R23(3) a+a(+ba)*(+ba)
R24(3) a+a(ba)*(b+ba)
R12(2)=a+a()* = a
R13(2)=b+a()*a = b+aa
R32(2)=b+b()*a = b+ba
R12(3)=a+(b+aa)
(+ba)*(b+ba) = a+(b+aa)(ba)*(b+ba)
Problemas-11
Problema 6 (cont)
Rij(k) = Rij
(k-1) + Rik(k-1) (Rkk
(k-1))* Rkj(k-1)
Start
2a
3b
4
a,b
1
a
ab
bR31(3)
R32(3) b(+a)+(ba)*b(+a)
R33(3) (ba)*
R34(3) b+ba+ (ba)*(b+ba)
R41(3)
R42(3)
R43(3)
R44(3) +a+b
R14(4)=aa+(b+aa)(ba)*(b+ba)+(aa+(b+aa)
(ba)*(b+ba))(+a+b)*(+a+b)= aa+(b+aa)(ba)*(b+ba)+(aa+(b+aa)(ba)*(b+ba))(a+b)*
Problemas-12
Problema 6 (cont)
Eliminar 2 e depois 3
Start
2a
3b
4
a,b
1
a
ab
b
Startaa
3b+aa
4
a,b
1
b+ba Startaa+(b+aa)(ba)*(b+ba)
4
a,b
1
ba
R= [aa+(b+aa)(ba)*(b+ba)](a+b)* == [aa+b(ba)*b+b(ba)*ba +aa(ba)*b + aa(ba)*ba](a+b)*= = (aa+bb)(a+b)*