Revis o aut matos
This presentation is the property of its rightful owner.
Sponsored Links
1 / 13

Revisão Autômatos PowerPoint PPT Presentation


  • 42 Views
  • Uploaded on
  • Presentation posted in: General

Revisão Autômatos. Teoria da Computação Pós-graduação em Ciência da Computação – UFU Profa. Sandra de Amo. Como detectar se uma linguagem não é regular ?. Seja L uma linguagem regular. Existe autômato A tal que L(A) = L. A = ({q 0 ,…,q n-1 }, S, δ , q0,F).

Download Presentation

Revisão Autômatos

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Revis o aut matos

Revisão Autômatos

Teoria da Computação

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

Profa. Sandra de Amo


Como detectar se uma linguagem n o regular

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


Como detectar se uma linguagem n o regular1

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


Como detectar se uma linguagem n o regular2

qf

ak

qs

q2

q2

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

q1

a2

a4

q2

qi

a3

sem estados intermediários repetidos


Como detectar se uma linguagem n o regular3

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

a1a2

a3 a4

… ak

w =

a3

x

y

z


Revis o aut matos

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

a1a2

… ak

a3 a4

w =

x

y

z

|x y| ≤ n

e |y| > 0

qf

ak

ak

a1

q0

qs

q1

a2

a4

q2

qi

a3


Como detectar se uma linguagem n o regular4

Como detectar se uma linguagem não é regular ?

  • Se L é regular e w pertence a L e

    |w| ≥ n, então:

    • w = xyz

    • |x y| ≤ n

    • | y | > 0

    • xykz pertence a L para todo k ≥ 0


Como detectar se uma linguagem n o regular5

Como detectar se uma linguagem não é regular ?

Se L é regularentã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 = xyz

    | x y |≤ n, |y| > 0

  • Para todo k ≥ 0

    xykz pertence a L


Como detectar se uma linguagem n o regular6

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 = xyz

    | x y |≤ n, |y| > 0

  • Para todo k ≥ 0

    xykz pertence a L

    então L não é regular


Para mostrar que l n o regular basta mostrar que a expressao abaixo falsa

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 = xyz

    | x y |≤ n, |y| > 0

  • Para todo k ≥ 0

    xykz pertence a L


Para mostrar que l n o regular basta mostrar que a expressao abaixo falsa1

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 = xyz

    | x y |≤ n, |y| > 0

  • Existe k ≥ 0

    xykz nãopertence a L


Exemplo

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


Exemplo1

Exemplo

z

y

x

1

1

1

1

0

0

0

0

0

n vezes

n vezes

0

0

1

1

0

0

0

0

0

1

1

x

y

y

z

m vezes, m > n

n vezes

Não está em L


  • Login