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

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

Pós-graduação em Ciência da Computação – UFU

Apresentações semelhantes


Apresentação em tema: "Pós-graduação em Ciência da Computação – UFU"— Transcrição da apresentação:

1 Pós-graduação em Ciência da Computação – UFU
Revisão Autômatos Teoria da Computação Pós-graduação em Ciência da Computação – UFU Profa. Sandra de Amo

2 Como detectar se uma linguagem não é regular ?
Seja L uma linguagem regular Existe autômato A tal que L(A) = L A = ({q0,…,qn-1}, S, δ, q0,F) w = a1 a2 a3 a4 … ak palavra de L a1 q0 qf q1 a2 ak a3 qs a4 q2 qi qj

3 Como detectar se uma linguagem não é regular ?
Qual o comprimento máximo de w para que todos os estados percorridos sejam distintos ? O caminho percorrido tem no máximo n estados Logo w tem no máximo comprimento n-1 a1 q0 qf q1 a2 ak a3 qs a4 q2 qi qj

4 Como detectar se uma linguagem não é regular ?
E se comprimento de w for maior ou igual a n ? O caminho percorrido terá estados repetidos Seja q2 o primeiro estado que se repete futuramente e tal que não existem estados repetidos entre as duas ocorrências de q2 a1 q0 qf qs ak q1 a2 a4 q2 q2 q2 qi a3 sem estados intermediários repetidos

5 Como detectar se uma linguagem não é regular ?
E se comprimento de w for maior ou igual a n ? O caminho percorrido terá estados repetidos w = a1a2a3a4…ak qf ak ak a1a2 … ak a1 q0 qs a1a2 a3a4 a3a4…ak q1 a2 a1a2 a3a4 a3a4 a3a4…ak a4 q2 qi w = a1a2 a3 a4 … ak a3 x y z

6 |x y| ≤ n e |y| > 0 w = a1a2 a3 a4 … ak x y z
O caminho percorrido pela palavra xy tem no máximo um estado repetido (q2) Logo, total de estados percorridos pela palavra é no máximo n+1. Portanto a palavra xy tem comprimento máximo n |y| = comprimento do caminho percorrido no laço (q2... qi ... q2) O número mínimo de estados dentro do laço é zero, o que produziria |y| = 1 Logo |y| > 0 qf ak ak a1 q0 qs q1 a2 a4 q2 qi a3

7 Como detectar se uma linguagem não é regular ?
Se L é regular e w pertence a L e |w| ≥ n, então: w = x y z |x y| ≤ n | y | > 0 x yk z pertence a L para todo k ≥ 0

8 Como detectar se uma linguagem não é regular ?
Se L é regular então Existe n > 0 (n = número de estados do automato minimal que aceita L) tal que: Para toda palavra w de L com |w| ≥ n Existe uma maneira de dividir w em 3 partes w = x y z | x y | ≤ n, |y| > 0 Para todo k ≥ 0 x yk z pertence a L

9 Como detectar se uma linguagem não é regular ?
Se a expressão abaixo nao se verifica Existe n > 0 (n = número de estados do automato minimal que aceita L) tal que: Para toda palavra w de L com |w| ≥ n Existe uma maneira de dividir w em 3 partes w = x y z | x y | ≤ n, |y| > 0 Para todo k ≥ 0 x yk z pertence a L então L não é regular

10 Para mostrar que L não é regular basta mostrar que a expressao abaixo é falsa !
Existe n > 0 (n = número de estados do automato minimal que aceita L) tal que: Para toda palavra w de L com |w| ≥ n Existe uma maneira de dividir w em 3 partes w = x y z | x y | ≤ n, |y| > 0 Para todo k ≥ 0 x yk z pertence a L

11 Para mostrar que L não é regular basta mostrar que a expressao abaixo é falsa !
Para todo n > 0 Existe palavra w de L com |w| ≥ n Para toda maneira de dividir w em 3 partes w = x y z | x y | ≤ n, |y| > 0 Existe k ≥ 0 x yk z não pertence a L

12 Exemplo L = {0k 1k | k ≥ 0} nao é regular Para todo n > 0
Tenho de exibir uma palavra w de L com |w| ≥ n Tal que para toda maneira de dividir w em 3 partes w = com a parte | x y | ≤ n, |y| > 0 Existe um k tal que x yk z não está em L. X y z

13 Exemplo Não está em L n vezes n vezes m vezes, m > n n vezes x y z
1 1 1 1 n vezes n vezes 1 1 1 1 x y y z m vezes, m > n n vezes Não está em L


Carregar ppt "Pós-graduação em Ciência da Computação – UFU"

Apresentações semelhantes


Anúncios Google