linguagens formais e autômatos€¦ · autômatos finitos (afs) •pensar em um controlador de...
TRANSCRIPT
![Page 1: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/1.jpg)
Universidade Federal de Alfenas
Linguagens Formais e Autômatos
Aula 06 – Autômatos Finitos Determiní[email protected]
![Page 2: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/2.jpg)
Últimas aulas...
• Linguagens Formais vs Linguagens Naturais
![Page 3: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/3.jpg)
Últimas aulas...
• Linguagens Formais vs Linguagens Naturais
• Gramáticas
▫ G = (V, , R, P)
V
R
P
![Page 4: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/4.jpg)
Últimas aulas...
• Linguagens Formais vs Linguagens Naturais
• Gramáticas
▫ G = (V, , R, P)
V
R
P
9|8|7|6|5|4|3|2|1|0
|
|)(
||
:
}9,8,7,6,5,4,3,2,1,0),(,,,{
},,,{
),,,(
D
DDNN
NPT
TTPTPP
regrasascontémR
DNTPV
PRVG
![Page 5: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/5.jpg)
Autômatos Finitos (AFs)
• Existem dois tipos de máquinas de estados finitos:
![Page 6: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/6.jpg)
Autômatos Finitos (AFs)
• Existem dois tipos de máquinas de estados finitos:
▫ Transdutoras:
São máquinas com entrada e saída. A saída pode ser considerada uma saída qualquer.
![Page 7: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/7.jpg)
Autômatos Finitos (AFs)
• Existem dois tipos de máquinas de estados finitos:
▫ Transdutoras:
São máquinas com entrada e saída. A saída pode ser considerada uma saída qualquer.
▫ Reconhecedoras:
São máquinas com duas saídas possíveis.
Verdadeiro ou falso.
![Page 8: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/8.jpg)
Autômatos Finitos (AFs)
• Aos AFs são bons modelos para computadores com uma quantidade extremamente limitada de memória;
![Page 9: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/9.jpg)
Autômatos Finitos (AFs)
• Aos AFs são bons modelos para computadores com uma quantidade extremamente limitada de memória;
• Com esta limitação, eles reconhecem um conjunto limitado de linguagens:
▫ Reconhece as linguagensregulares (LR).
P(Σ*)
Recursivamente enumeráveis
Recursivas
Sensíveis ao contexto
regularesLivres do contexto
Regulares
![Page 10: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/10.jpg)
Autômatos Finitos (AFs)
• Diante do fato que AFs possuem memória limitada, surge a pergunta:
![Page 11: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/11.jpg)
Autômatos Finitos (AFs)
• Diante do fato que AFs possuem memória limitada, surge a pergunta:
O que um computador pode fazer com uma memória tão pequena?
![Page 12: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/12.jpg)
Autômatos Finitos (AFs)
• O controlador de porta automática é um exemplo deste tipo de dispositivo, geralmente encontrado em supermercados e restaurantes;
![Page 13: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/13.jpg)
Autômatos Finitos (AFs)
Porta automática
fechada
![Page 14: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/14.jpg)
Autômatos Finitos (AFs)
Porta automática
aberta
![Page 15: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/15.jpg)
Autômatos Finitos (AFs)
fechada aberta
AtrásAmbos
Nenhum
FrenteAtrás
Ambos
Frente
Nenhum
![Page 16: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/16.jpg)
Autômatos Finitos (AFs)
Nenhum Frente Atrás Ambos
Fechado Fechado Aberto Fechado Fechado
Aberto Fechado Aberto Aberto Aberto
Tabela de transição de estados
sinal de entrada
estado
![Page 17: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/17.jpg)
Autômatos Finitos (Afs)
• Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com apenas um bit de memória, capaz de registrar em qual dos dois estados o controlador está.
![Page 18: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/18.jpg)
Autômatos Finitos (Afs)
• Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com apenas um bit de memória, capaz de registrar em qual dos dois estados o controlador está.
• Outros, e inúmeros sistemas podem ser descritos através de autômatos finitos.
![Page 19: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/19.jpg)
Autômatos Finitos (Afs)
• Vamos dar uma olhada mais cuidadosa em autômatosfinitos com uma visão matemática;
![Page 20: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/20.jpg)
Autômatos Finitos (Afs)
• Vamos agora dar uma olhada mais cuidadosa em autômatos finitos com uma visão matemática;
• Uma definição precisa para descrever e manipular autômatos finitos.
![Page 21: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/21.jpg)
Autômato Finito Determinístico
![Page 22: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/22.jpg)
Autômatos Finitos Determinístico (AFD)
• Um autômatos finito determinístico é uma estrutura matemática constituída por três tipos de entidades:
![Page 23: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/23.jpg)
Autômatos Finitos Determinístico (AFD)
• Um autômatos finito determinístico é uma estrutura matemática constituída por três tipos de entidades:
• Um conjunto de estados;
![Page 24: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/24.jpg)
Autômatos Finitos Determinístico (AFD)
• Um autômatos finito determinístico é uma estrutura matemática constituída por três tipos de entidades:
• Um conjunto de estados;
• Um alfabeto;
![Page 25: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/25.jpg)
Autômatos Finitos Determinístico (AFD)
• Um autômatos finito determinístico é uma estrutura matemática constituída por três tipos de entidades:
• Um conjunto de estados;
• Um alfabeto;
• Um conjunto de transições;
![Page 26: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/26.jpg)
Autômatos Finitos Determinístico (AFD)
• Dos estados, destacamos um como estado inicial;
![Page 27: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/27.jpg)
Autômatos Finitos Determinístico (AFD)
• Dos estados, destacamos um como estado inicial;
• Destacamos também um conjunto de estados como estados finais;
![Page 28: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/28.jpg)
Autômatos Finitos Determinístico (AFD)
• Dos estados, destacamos um como estado inicial;
• Destacamos também um conjunto de estados como estados finais;
• O conjunto de transições é definido através de uma função.
![Page 29: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/29.jpg)
Autômatos Finitos Determinístico (AFD)
• Um autômato finito é definido pela tupla:
),,,,( FiEAFD
![Page 30: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/30.jpg)
Autômatos Finitos Determinístico (AFD)
• Um autômato finito é definido pela tupla:
• E: conjunto finito não vazio de estados;
),,,,( FiEAFD
![Page 31: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/31.jpg)
Autômatos Finitos Determinístico (AFD)
• Um autômato finito é definido pela tupla:
• E: conjunto finito não vazio de estados;
• : conjunto que define o alfabeto;
),,,,( FiEAFD
![Page 32: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/32.jpg)
Autômatos Finitos Determinístico (AFD)
• Um autômato finito é definido pela tupla:
• E: conjunto finito não vazio de estados;
• : conjunto que define o alfabeto;
• : E x E: uma função de transição;
),,,,( FiEAFD
![Page 33: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/33.jpg)
Autômatos Finitos Determinístico (AFD)
• Um autômato finito é definido pela tupla:
• E: conjunto finito não vazio de estados;
• : conjunto que define o alfabeto;
• : E x E: uma função de transição;
• i E: estado inicial;
),,,,( FiEAFD
![Page 34: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/34.jpg)
Autômatos Finitos Determinístico (AFD)
• Um autômato finito é definido pela tupla:
• E: conjunto finito não vazio de estados;
• : conjunto que define o alfabeto;
• : E x E: uma função de transição;
• i E: estado inicial;
• F: um subconjunto de E, que representa o conjunto de estados finais.
),,,,( FiEAFD
![Page 35: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/35.jpg)
Autômatos Finitos Determinístico (AFD)
• Exemplo de AFD:e1
a,b
e2c
),,,,(1 FiEM
![Page 36: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/36.jpg)
Autômatos Finitos Determinístico (AFD)
• Exemplo de AFD:e1
a,b
e2c
?
?
?
?
?
F
i
E
),,,,(1 FiEM
![Page 37: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/37.jpg)
Autômatos Finitos Determinístico (AFD)
• Exemplo de AFD:e1
a,b
e2c
?
?
?
?
},{ 21
F
i
eeE
),,,,(1 FiEM
![Page 38: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/38.jpg)
Autômatos Finitos Determinístico (AFD)
• Exemplo de AFD:e1
a,b
e2c
?
?
?
},,{
},{ 21
F
i
cba
eeE
),,,,(1 FiEM
![Page 39: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/39.jpg)
Autômatos Finitos Determinístico (AFD)
• Exemplo de AFD:e1
a,b
e2c
?
?
}),(;),(;),{(
},,{
},{
211111
21
F
i
eceebeeae
cba
eeE
),,,,(1 FiEM
![Page 40: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/40.jpg)
Autômatos Finitos Determinístico (AFD)
• Exemplo de AFD:e1
a,b
e2c
?
}),(;),(;),{(
},,{
},{
1
211111
21
F
ei
eceebeeae
cba
eeE
),,,,(1 FiEM
![Page 41: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/41.jpg)
Autômatos Finitos Determinístico (AFD)
• Exemplo de AFD:e1
a,b
e2c
),,,,(1 FiEM
}{
}),(;),(;),{(
},,{
},{
2
1
211111
21
eF
ei
eceebeeae
cba
eeE
![Page 42: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/42.jpg)
• É comum encontrarmos a representação matricial para descrever :
Autômatos Finitos Determinístico (AFD)
3333
3332
2111
eeee
eeee
eeee
cba
EE :e1
a,b
e2c
![Page 43: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/43.jpg)
• É comum encontrarmos a representação matricial para descrever :
Autômatos Finitos Determinístico (AFD)
3333
3332
2111
eeee
eeee
eeee
cba
EE :e1
a,b
e2c
e3 representa um estado de erro que nem sempre é descrito
nas imagens
![Page 44: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/44.jpg)
Autômatos Finitos Determinístico (AFD)
e1
a,b
e2c
e1
a,b
e2c
e3
a,b,c
a,b,c
![Page 45: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/45.jpg)
Autômatos Finitos Determinístico (AFD)
• Se L é o conjunto de todas as palavras/cadeias que M1
aceita, dizemos:
• L é a linguagem da máquina M1.
e1
a,b
e2c
),,,,(1 FiEM
![Page 46: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/46.jpg)
Autômatos Finitos Determinístico (AFD)
• Se L é o conjunto de todas as palavras/cadeias que M1
aceita, dizemos:
• L é a linguagem da máquina M1.
• Dizemos que M1 reconhece L ou
• M1 aceita L.
e1
a,b
e2c
),,,,(1 FiEM
![Page 47: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/47.jpg)
Autômatos Finitos Determinístico (AFD)
• A palavra/cadeia
“c”
é reconhecida pela máquina M1?
e1
a,b
e2c
),,,,(1 FiEM
![Page 48: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/48.jpg)
Autômatos Finitos Determinístico (AFD)
• A palavra/cadeia
“c”
é reconhecida pela máquina M1?
• “abc”?
e1
a,b
e2c
),,,,(1 FiEM
![Page 49: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/49.jpg)
Autômatos Finitos Determinístico (AFD)
• A palavra/cadeia
“c”
é reconhecida pela máquina M1?
• “abc”?
• “ababc”?
e1
a,b
e2c
),,,,(1 FiEM
![Page 50: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/50.jpg)
Autômatos Finitos Determinístico (AFD)
• A palavra/cadeia
“c”
é reconhecida pela máquina M1?
• “abc”?
• “ababc”?
• “bc”? e1
a,b
e2c
),,,,(1 FiEM
![Page 51: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/51.jpg)
Autômatos Finitos Determinístico (AFD)
• A palavra/cadeia
“c”
é reconhecida pela máquina M1?
• “abc”?
• “ababc”?
• “bc”?
• “ca“?
e1
a,b
e2c
),,,,(1 FiEM
![Page 52: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/52.jpg)
Autômatos Finitos Determinístico (AFD)
• Qual linguagem M1 aceita?
e1
a,b
e2c
),,,,(1 FiEM
![Page 53: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/53.jpg)
Autômatos Finitos Determinístico (AFD)
• Qual linguagem M1 aceita?
• L={a,b}*{c}e1
a,b
e2c
),,,,(1 FiEM
![Page 54: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/54.jpg)
Exemplos de AFDs
![Page 55: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/55.jpg)
Autômatos Finitos Determinístico (AFD)
• Definição informal de um linguagem:
• Toda palavra w de L possui um número impar de zeros e um número ímpar de uns;
![Page 56: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/56.jpg)
Autômatos Finitos Determinístico (AFD)
• Definição informal de um linguagem:
• Toda palavra w de L possui um número impar de zeros e um número ímpar de uns;
• Usando a notação de conjuntos, mas ainda com informalidade da língua portuguesa:
})()(|{ 1 imparétambémwneimparéwnwL o
![Page 57: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/57.jpg)
Autômatos Finitos Determinístico (AFD)
• Usando um autômato para descrever L:
})()(|{ 1 imparétambémwneimparéwnwL o
p p i p
1
0
0
1
p i
1 1
0
0i i
![Page 58: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/58.jpg)
Autômatos Finitos Determinístico (AFD)
• Usando um autômato para descrever L:
})()(|{ 1 imparétambémwneimparéwnwL o
p p i p
1
0
0
1
p i
1 1
0
0i i
Repare que o nome dos estados auxilia no entendimento do
autômato.
![Page 59: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/59.jpg)
Exercícios
• Descreva um autômato para cada item, para reconhecer as seguintes linguagens regulares:
▫ L1 = {111}
▫ L2 = {111}{222}
▫ L3 = {111,222,12}
▫ L4 = {111,222,12}
▫ L5 = {w{a,b}*}
▫ L6 = {w{a,b}*|w começa com a}
▫ L7 = {w{a,b}*|w começa com a e tem tamanho par}
▫ L8 = {w{a,b}*||w|3}
▫ L9 = {w{a,b}*|w termina com 3 b’s}
▫ L10 = {w{a,b}*|w começa com a e termina com a}
![Page 60: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/60.jpg)
Leitura para próxima aula
• SIPSER, Michael. Introdução à Teoria da Computação. 2a ed.:São Paulo, Thomson, 2007.
▫ 1.1 Linguagens Regulares Projetando autômatos finitos
As operações regulares
• VIEIRA, Newton José. Introdução aos Fundamentos da Computação: Linguagens e Máquinas. 1a ed.: Rio de Janeiro: Thomson, 2006.
▫ 2.2.2 Minimização de AFDs
▫ 2.2.3 Algumas propriedades dos AFDs
![Page 61: Linguagens Formais e Autômatos€¦ · Autômatos Finitos (Afs) •Pensar em um controlador de parta como um autômato finito é útil porque este é capaz de ser implementado com](https://reader033.vdocuments.site/reader033/viewer/2022050401/5f7ed35e40b90158fb71202b/html5/thumbnails/61.jpg)
Bibliografia
• SIPSER, Michael. Introdução à Teoria da Computação. 2a ed.:São Paulo, Thomson, 2007.
• VIEIRA, Newton José. Introdução aos Fundamentos da Computação: Linguagens e Máquinas. 1a ed.: Rio de Janeiro: Thomson, 2006.