Informtica Terica Engenharia da Computao Autmatos Finitos Equivalncia

  • Slides: 7
Download presentation
Informática Teórica Engenharia da Computação

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

Autômatos Finitos Equivalência entre AFNs e AFDs n Autômatos finitos determinísticos e nãodeterminísticos reconhecem

Autômatos Finitos Equivalência entre AFNs e AFDs n Autômatos finitos determinísticos e nãodeterminísticos reconhecem a mesma classe de linguagens. n Duas máquinas são equivalentes se elas reconhecem a mesma linguagem. n Teorema: Todo autômato finito não-determinístico tem um autômato finito determinístico equivalente.

Equivalência entre AFNs e AFDs n Vamos converter um AFN em um AFD equivalente

Equivalência entre AFNs e AFDs n Vamos converter um AFN em um AFD equivalente que o simule. n Se k é o número de estados do AFN, ele tem 2 k subconjuntos de estados. n Cada subconjunto corresponde a uma das possibilidades de que o AFD tem que se lembrar, portanto o AFD que simula o AFN terá 2 k estados.

Equivalência entre AFNs e AFDs N (Q, , , q 0, F) a a,

Equivalência entre AFNs e AFDs N (Q, , , q 0, F) a a, b 2 1 M ( (Q), , ’, qo’, F’) Q’= (Q) a b {2} {1} q 0’= {1} a {3} b {1, 3} {1, 2} a b {2, 3} 3 a b 1 {1, 2} {1} 2 {3} 3 ’ a b {1} {1, 2} {1, 2, 3} {1} F’ = { R Q’ | R contem um estado de aceitação de N} ’ (R, s)= união de (q, s) para cada q R. a {1, 2, 3}

Equivalência entre AFNs e AFDs Introduzindo as transições N (Q, , , q 0,

Equivalência entre AFNs e AFDs Introduzindo as transições N (Q, , , q 0, F) 1 b a a 2 a b 1 {2} {3} 2 {2, 3} {3} 3 {1} 3 a, b M ( (Q), , ’, qo’, F’) q 0’= {1, 3} Logo q 0’= E({q 0}) q 0’ = E({1}) = {1, 3} Para qualquer estado R de M definimos E(R) como sendo a coleção de estados que podem ser atingidos a partir de R indo somente ao longo de setas , incluindo os próprios membros de R. Formalmente, para R (Q) seja E(R) = {q |q pode ser atingido a partir de R viajando-se ao longo de 0 ou mais setas }

N (Q, , , q 0, F) 1 b a 2 a, b M

N (Q, , , q 0, F) 1 b a 2 a, b M ( (Q), , ’, qo’, F’) b b {1, 3} a ’ (R, s)= união de E( (q, s)) para cada q R. b {2} {1, 2} 3 a, b {1} a {3} a a a b {2, 3} a b {1, 2, 3}

Autômatos Finitos Equivalência entre AFNs e AFDs Como acabamos de ver: n Teorema: Todo

Autômatos Finitos Equivalência entre AFNs e AFDs Como acabamos de ver: n Teorema: Todo autômato finito não-determinístico tem um autômato finito determinístico equivalente. n Logo, n Corolário: Uma linguagem é regular se e somente se algum autômato finito não-determinístico a reconhece. n