1 / 12

Computabilidade e Linguagens Formais

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.

wardah
Download Presentation

Computabilidade e Linguagens Formais

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

  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)

  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*.

  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*.

  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, w1w2, 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.

  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

  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)*

  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 2 a,b a a Start 4 1 b a b b 3

  9. Problema 6 (cont.) 2 • Rij(k) = Rij(k-1) + Rik(k-1) (Rkk(k-1))*Rkj(k-1) a,b a a Start R12(1)=a+()*a = a 4 1 b a b b 3

  10. Problema 6 (cont.) 2 • Rij(k) = Rij(k-1) + Rik(k-1) (Rkk(k-1))*Rkj(k-1) a,b a a Start 4 1 b a b b 3 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)

  11. Problema 6 (cont) 2 • Rij(k) = Rij(k-1) + Rik(k-1) (Rkk(k-1))*Rkj(k-1) a,b a a Start 4 1 b a b b 3 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)*

  12. Problema 6 (cont) 2 • Eliminar 2 e depois 3 a,b a a Start 4 1 b a b b a,b 3 aa Start 4 1 a,b ba aa+(b+aa)(ba)*(b+ba) b+aa b+ba Start 4 1 3 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)*

More Related