A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Informática Teórica Engenharia da Computação. Fecho sob as operações regulares  Agora retornamos ao fecho da classe de linguagens regulares.  O uso.

Apresentações semelhantes


Apresentação em tema: "Informática Teórica Engenharia da Computação. Fecho sob as operações regulares  Agora retornamos ao fecho da classe de linguagens regulares.  O uso."— Transcrição da apresentação:

1 Informática Teórica Engenharia da Computação

2 Fecho sob as operações regulares  Agora retornamos ao fecho da classe de linguagens regulares.  O uso de não-determinismo torna as provas muito mais fáceis.

3 Operações Regulares  Teorema: A classe de linguagens regulares é fechada sob a operação de união.  Em outras palavras, se A 1 e A 2 são linguagens regulares, o mesmo acontece com A 1  A 2.  Idéia da Prova: Se A 1 e A 2 são linguagens regulares, então existem AFNs N 1 e N 2 que as reconhecem, respectivamente.  Vamos fazer uma nova prova. Vamos construir um AFN N, que reconheça A 1  A 2, a partir de N 1 e N 2.

4 União N 1 = (Q 1,  1,  1, q 1, F 1 ) reconhece A 1 N = (Q, , , q 0, F) reconhece A 1  A 2 Q = Q 1  Q 2  {q 0 }  (q,a) = F = F 1  F 2 N 2 = (Q 2,  2,  2, q 2, F 2 ) reconhece A 2.  1 (q,a) se q  Q 1,  2 (q,a) se q  Q 2, {q 1,q 2 } se q=q 0 e a=   se q=q 0 e a 

5 Operações Regulares  Teorema: A classe de linguagens regulares é fechada sob a operação de concatenação.  Idéia da Prova: Se A 1 e A 2 são linguagens regulares, então existem AFNs N 1 e N 2 que as reconhecem, respectivamente.  Vamos construir um AFN N, que reconheça A 1  A 2, a partir de N 1 e N 2.

6 Concatenação N 1 = (Q 1,  1,  1, q 1, F 1 ) rec. A 1 N 2 = (Q 2,  2,  2, q 2, F 2 ) rec. A 2. N = (Q, , , q 1, F 2 ) reconhece A 1  A 2 Q = Q 1  Q 2  (q,a) =  1 (q,a) se q  Q 1 e q  F 1  1 (q,a) se q  F 1 e a    1 (q,a)  {q 2 } se q  F 1 e a    2 (q,a) se q  Q 2

7 Operações Regulares  Teorema: A classe de linguagens regulares é fechada sob a operação estrela.  Idéia da Prova: Se A 1 é uma linguagem regular, então existe um AFN N 1 que a reconheça.  Vamos construir um AFN N, que reconheça A 1 *, a partir de N 1.

8 Operação Estrela  Podemos construir N como N1 com setas  adicionais retornando ao estado inicial a partir dos estados de aceitação.  Adicionalmente, temos que modificar N de tal forma que ele aceite , que é sempre um membro de A*.

9 Fecho N 1 = (Q 1,  1,  1, q 1, F 1 ) N = (Q, , , q 0, F) reconhece A 1 * Q = Q 1  {q 0 } F = F 1  {q 0 }  (q,a) =  1 (q,a) se q  Q 1 e q  F 1  1 (q,a) se q  F 1 e a    1 (q,a)  {q 1 } se q  F 1 e a   {q 1 } se q = q 0 e a    se q = q 0 e a  

10 Operação Estrela  Uma idéia (levemente má) é simplesmente adicionar o estado inicial ao conjunto de estados de aceitação.  O que você acha dessa abordagem?  Você pode construir um exemplo para mostrar que essa abordagem não funciona?  Tente fazer o exercício 1.15


Carregar ppt "Informática Teórica Engenharia da Computação. Fecho sob as operações regulares  Agora retornamos ao fecho da classe de linguagens regulares.  O uso."

Apresentações semelhantes


Anúncios Google