Download - Informática Teórica Engenharia da Computação
![Page 1: Informática Teórica Engenharia da Computação](https://reader036.vdocuments.com.br/reader036/viewer/2022083015/56814ab2550346895db7c557/html5/thumbnails/1.jpg)
Informática Teórica Engenharia da Computação
![Page 2: Informática Teórica Engenharia da Computação](https://reader036.vdocuments.com.br/reader036/viewer/2022083015/56814ab2550346895db7c557/html5/thumbnails/2.jpg)
Autômatos FinitosEquivalência entre AFNs e AFDs
Autômatos finitos determinísticos e não-determinísticos reconhecem a mesma classe de linguagens.
Duas máquinas são equivalentes se elas reconhecem a mesma linguagem.
Teorema: Todo autômato finito não-determinístico tem um autômato finito determinístico equivalente.
![Page 3: Informática Teórica Engenharia da Computação](https://reader036.vdocuments.com.br/reader036/viewer/2022083015/56814ab2550346895db7c557/html5/thumbnails/3.jpg)
Equivalência entre AFNs e AFDs
Vamos converter um AFN em um AFD equivalente que o simule.
Se k é o número de estados do AFN, ele tem 2k subconjuntos de estados.
Cada subconjunto corresponde a uma das possibilidades de que o AFD tem que se lembrar, portanto o AFD que simula o AFN terá 2k estados.
![Page 4: Informática Teórica Engenharia da Computação](https://reader036.vdocuments.com.br/reader036/viewer/2022083015/56814ab2550346895db7c557/html5/thumbnails/4.jpg)
Equivalência entre AFNs e AFDs
2a a
a,b 3
{1}
{2}
{1,2,3}
{2,3}{1,3}{1,2}
{3}
N (Q, , ,q0, F)
M ((Q), , ’, qo’, F’)
1
Q’= (Q)
q0’= {1}
F’ = { R Q’ | R contem um estado de aceitação de N}
a b1 {1,2} {1}
2 {3}
3
a
b
a
b
a
b
’ a b{1} {1,2} {1}
{1,2} {1,2,3} {1}
{1,2,3} {1,2,3} {1}
’ (R,s)= união de (q,s) para cada q R.
![Page 5: Informática Teórica Engenharia da Computação](https://reader036.vdocuments.com.br/reader036/viewer/2022083015/56814ab2550346895db7c557/html5/thumbnails/5.jpg)
Equivalência entre AFNs e AFDsIntroduzindo as transições
3
2
a
a
1
a,b
a b
1 {2} {3}
2 {2,3} {3}
3 {1}
b
N (Q, , ,q0, F)
M ((Q), , ’, qo’, F’) q0’= {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) sejaE(R) = {q |q pode ser atingido a partir de R viajando-se ao longo de 0 ou mais setas }
Logo q0’= E({q0}) q0’ = E({1}) = {1,3}
![Page 6: Informática Teórica Engenharia da Computação](https://reader036.vdocuments.com.br/reader036/viewer/2022083015/56814ab2550346895db7c557/html5/thumbnails/6.jpg)
{1}
{2}
{1,2,3}{2,3}{1,3}{1,2}
{3}
N (Q, , ,q0, F)
M ((Q), , ’, qo’, F’)
b
a
’ (R,s)= união de E((q,s)) para cada q R.
3
2
a
a
1
a,b
b
a
b ab
ab
a,b
b
a
![Page 7: Informática Teórica Engenharia da Computação](https://reader036.vdocuments.com.br/reader036/viewer/2022083015/56814ab2550346895db7c557/html5/thumbnails/7.jpg)
Autômatos FinitosEquivalência entre AFNs e AFDs
Como acabamos de ver: Teorema: Todo autômato finito não-determinístico tem
um autômato finito determinístico equivalente.
Logo, Corolário: Uma linguagem é regular se e somente se
algum autômato finito não-determinístico a reconhece.