autômato finito determinístico
TRANSCRIPT
![Page 1: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/1.jpg)
BCC242
Auômato Finito Determinístico
![Page 2: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/2.jpg)
Máquinas de Estados Finitos
• As máquinas de estados finitos são máquinas abstratas que capturam partes essenciais de algumas máquinas concretas.
• Tipos– Tradutores – máquinas com entradas e saída– Reconhecedores – possuem duas saídas possíveis,
“aceita” e “rejeita”.
• A memória de uma máquina de estados finitos élimitada e organizada em torno do conceito de “estado”.
![Page 3: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/3.jpg)
Exemplo 1
• Um homem, um leão, um coelho e um repolho devem atravessar um rio usando uma canoa, com a restrição de que o homem deve transportar no máximo um dos três de cada vez de uma margem a outra. Além disso, o leão não pode ficar na mesma margem que o coelho sem a presença do homem, e o coelho não pode ficar com o repolho sem a presença do homem. O problema consiste em determinar se épossível fazer a travessia.
![Page 4: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/4.jpg)
Exemplo 2
• Projetar uma máquina que, dada uma seqüência de 0´s e 1´s, determinar se o número representado por ela na base 2 édivisível por 6.
![Page 5: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/5.jpg)
Autômato Finito Determinístico
0
1
0
1
1 1 0 0 1
Mais parecido com computer:
01
esta seta denotainicio
círculoduplodenotaaceita
entradaem fitalida daesquerdap/ direita
![Page 6: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/6.jpg)
Autômato Finito Determinístico
0
1
0
1
1 1 0 0 1
01
![Page 7: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/7.jpg)
Autômato Finito Determinístico
0
1
0
1
1 1 0 0 1
01
![Page 8: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/8.jpg)
Autômato Finito Determinístico
0
1
0
1
1 1 0 0 1
01
![Page 9: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/9.jpg)
Autômato Finito Determinístico
0
1
0
1
1 1 0 0 1
01
![Page 10: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/10.jpg)
Autômato Finito Determinístico
0
1
0
1
1 1 0 0 1
01
![Page 11: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/11.jpg)
Autômato Finito Determinístico
0
1
0
1
1 1 0 0 1
01
REJEITA!
![Page 12: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/12.jpg)
Autômato Finito Determinístico
0
1
0
1
01
Q: Que tipos de bitstringssão aceitos?
![Page 13: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/13.jpg)
Autômato Finito Determinístico
0
1
0
1
01
R: Bitstrings que representamnúmeros binários pares.
![Page 14: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/14.jpg)
Autômato Finito DeterminísticoExercicio: Projete uma máquina que
determina quando um string de entrada éum número na base-10 divisível por 3
Qual deve ser o alfabeto?Como você pode determinar se um número
é divisível por 3?
![Page 15: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/15.jpg)
Autômato Finito DeterminísticoSolução:
0 mod 3
1 mod 3
2 mod 30,3,6,9
0,3,6,9
0,3,6,9
1,4,7
1,4,7
1,4,7
2,5,8 2,5,8
2,5,8
![Page 16: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/16.jpg)
Definição Formal de FA
DEF: Um autômato finito (determinístico)
(FA) consiste de um conjunto de estados Q, um alfabeto Σ, transiçõesrotuladas entre estados δ, um estadoinicial q0 ∈Q, e um conjunto de estadosde aceitação F.
M = (Q, Σ, δ, q0, F )
![Page 17: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/17.jpg)
Definição Formal de FANote que o string de entrada, assim como a
fita que contém o string de entrada, sãoimplícitos na definição de um FA. Ouseja, a definição provê apenas uma visãoestática. É necessária explicaçãoadicional para entender como um FA interage com a sua entrada.
![Page 18: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/18.jpg)
Porque Determinístico?Determinístico significa que existe
informação suficiente para sempredeterminar qual é o próximo estado para o qual vai o Autômato, ao ler um dado símbolo. Nosso Exemplo de Máquina de Venda de fato não era determinísticoporque, depois de terem sido depositados$.45, os efeitos de depósitos adicionaissão indefinidos.
![Page 19: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/19.jpg)
0 mod 3 1 mod 3
2 mod 3
0,3,6,9
0,3,6,9
0,3,6,9
1,4,7
1,4,71,4,7
2,5,8 2,5,8
2,5,8
Exercicio: Obtenha adescrição formal desteautômato.
![Page 20: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/20.jpg)
Definição de FA, exemploQ = { 0 mod 3, 1 mod 3, 2 mod 3 } (
renomeie: {q0, q1, q2} )Σ = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }q0 = 0 mod 3F = { 0 mod 3 } δ – requer explicação adicional
![Page 21: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/21.jpg)
A função de transição δ
δ Determina o estado para o qual vai o autômato, dado o estado corrente e o símbolo corrente na entrada. I.e., dado um estado q ∈Q e um símbolo a ∈ Σ, δdefine um único estado alvo q’ ∈Q. Emoutras palavras, δ é uma função do produto Cartesiano Q x Σ em Q :
QQ →Σ×:δ
![Page 22: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/22.jpg)
A função de transição δ
?),(δ:Questão
.)5,(δ,)3,(δ ,)7,(δ
,)2,(δ,)9,(δ ,)2,(δ
:δ
122221
010020
=
===
===
→Σ×
jq
qqqqqq
qqqqqq
i
![Page 23: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/23.jpg)
A função de transição δ
3 mod )(),(δ jii qjq+
=
Usualmente a função de transição nãotem uma definição tal como nesse caso,dada por uma fórmula simples.
![Page 24: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/24.jpg)
Definição Formal de FA:Dinâmica
Como um FA opera sobre um string? Existe implicitamente a noção de umafita auxiliar que contém o string. O FA lêa fita da esquerda para a direita e cadacaractere faz com que o autômato vápara um novo estado, definido pelafunção δ. Quando o string é lido completamente, ele é aceito ou não, conforme o estado final do FA seja ounão um estado de aceitação.
![Page 25: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/25.jpg)
Definição Formal de FA:Dinâmica
DEF: Um string u é aceito por um autômato sse o caminho a partir do estado inicial q0 que é rotulado por u termina em um estado de aceitação.
![Page 26: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/26.jpg)
Linguagem Aceita por um FADEF: A linguagem aceita por um FA M é o
conjunto de todos os strings que são aceitospor M e é denotada por L (M ).
Intuitivamente, pense em todos os possíveiscaminhos que levam do estado inicial a um estado de aceitação do autômato. Então penseem todas as possíveis maneiras de rotularesses caminhos (caso existam múltiplos rótulosem algumas setas).
![Page 27: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/27.jpg)
Linguagens RegularesVeremos mais adiante que nem toda
linguagem pode ser descrita como umalinguagem aceita por um FA. Umalinguagem que é aceita por algum FA exibe um alto grau de regularidade.
DEF: Uma linguagem L é chamadalinguagem regular se existe um FA M talqueL = L (M ).
![Page 28: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/28.jpg)
Função de transição estendida
• Seja um AFD M=(Q, Σ, δ, q0, F). A função de transição estendida , é uma função de Q x Σ* para Q, definida recursivamente como:
para todo a ∈ Σ e y ∈ Σ*.
δ̂
)),,((ˆ),(ˆ
),(ˆ
yaeayq
δδδ
εδ
=
=
}),(ˆ|*{)( 0 FwqwML ∈∑∈= δ
![Page 29: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/29.jpg)
Algumas propriedades
• Sejam os AFDs M1=(Q1, Σ, δ1, i1, F1) e M2 =(Q2, Σ, δ2, i2, F2). Existem AFDs para as seguintes linguagens.
• (1) Pode ser obtido a partir de M1simplesmente colocando-se como estados finais aqueles que não são finais em M1.
)()()3(
)()()2(
)()1(
21
21
1
MLML
MLML
ML
∪
∩
![Page 30: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/30.jpg)
Algumas propriedades
• (2) Seja o AFD M3= (Q1xQ2, Σ, δ3, [i1,i2], F3), construído com– δ3([e1,e2],a) = [δ1(e1, a), δ2(e2, a)]– F3 = F1 x F2
• (3) Seja o AFD M3= (Q1xQ2, Σ, δ3, [i1,i2], F3), construído com– δ3([e1,e2],a) = [δ1(e1, a), δ2(e2, a)]
– F3 = {[e1,e2] ∈ Q1xQ2 | e1 ∈ F1 ou e2 ∈ F2}
![Page 31: Autômato Finito Determinístico](https://reader034.vdocuments.mx/reader034/viewer/2022051302/58735b0c1a28ab87318c063a/html5/thumbnails/31.jpg)
ExercícioDefina um AFD que aceita a linguagem L
sobre o alfabeto {0,1} cujos strings possuem tamanho múltiplo de 3 outerminam com 1.
Defina um AFD que aceita a linguagem L
sobre o alfabeto {0,1} cujos strings começam com 0 e terminam com 10 oucom 11