ling. formais e autômatos afn-ε. tópicos af com ε-transições autômatos finitos
TRANSCRIPT
![Page 1: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/1.jpg)
Ling. Formais e Autômatos
AFN-ε
![Page 2: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/2.jpg)
Tópicos
AF com ε-transições
Autômatos finitos
![Page 3: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/3.jpg)
AF com ε-transições
Definição O autômato finito com ε-transições permite
transições sobre ε, a string vazia O AFN-ε tem permissão para fazer uma
transição espontaneamente, sem receber um símbolo de entrada
Conveniência de programação
q0 q1
ε
![Page 4: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/4.jpg)
AF com ε-transições
Definição Um autômato finito com ε-transições consiste
em:• Um conjunto finito de estados: Q• Um conjunto finito de símbolos de entrada: Σ• Uma função de transição que toma como
argumentos um estado em Q e um elemento de Σ U {ε}: δ
• Um estado inicial (que está em Q)• Um conjunto de estados finais F (F é um
subconjunto de Q)
![Page 5: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/5.jpg)
AF com ε-transições
Notação:
A = (Q, Σ, δ, q0, F)
![Page 6: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/6.jpg)
Exemplo 1
Construir um AFN que reconheça as palavras-chave web e ebay
Como ele poderia ser construído?
![Page 7: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/7.jpg)
Exemplo 1
Construir um AFN que reconheça as palavras-chave web e ebay
1.º passo: Construímos uma seqüência completa de estados para cada palavra-chave, como se fosse a única palavra que o autômato precisasse reconhecer
![Page 8: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/8.jpg)
Exemplo 1
Construir um AFN que reconheça as palavras-chave web e ebay
O AFN abaixo reconhece a palavra-chave web
q0 q1
w eq2 q3
b
![Page 9: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/9.jpg)
Exemplo 1
Construir um AFN que reconheça as palavras-chave web e ebay
O AFN abaixo reconhece a palavra-chave ebay
q4 q5
eq6 q8q7
b a y
![Page 10: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/10.jpg)
Exemplo 1
Construir um AFN que reconheça as palavras-chave web e ebay
2.º passo: Adicionamos um novo estado inicial com ε-transições para os estados iniciais dos autômatos anteriores, que correspondem a cada uma das palavras-chave!
![Page 11: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/11.jpg)
Exemplo 1
Construir um AFN que reconheça as palavras-chave web e ebay
q4 q5
eq6 q8q7
b a y
q0 q1
w eq2 q3
b
Início
ε
ε
Acabamos de construir um AFN com ε-transições!
![Page 12: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/12.jpg)
Exemplo 2
L = { w | qualquer símbolo a antecede qualquer símbolo b }
Como seria o AFN-ε que aceita essa linguagem?
![Page 13: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/13.jpg)
Exemplo 2
L = { w | qualquer símbolo a antecede qualquer símbolo b }
q0 q1
ε
a b
![Page 14: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/14.jpg)
ε-fechamento de um estado
Definição informal Usamos o ε-fechamento em um estado q
seguindo todas as transições saindo de q rotuladas por ε. Porém, quando chegamos a outros estados seguindo ε, acompanhamos as transições ε que saem desses estados, e assim por diante, encontrando eventualmente todo estado que pode ser alcançado a partir de q ao longo de qualquer caminho cujos arcos são todos rotulados por ε.
![Page 15: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/15.jpg)
ε-fechamento de um estado
Definição formal O estado q está em ECLOSE(q). Se o estado
p está em ECLOSE(q), e existe uma transição do estado p para o estado r rotulada por ε, então r está em ECLOSE(q). Mais precisamente, se δ é a função de transição do AFN-ε envolvido, e p está em ECLOSE(q), então ECLOSE(q) também contém todos os estados em δ(p, ε).
![Page 16: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/16.jpg)
ε-fechamento de um estado
ECLOSE(1) = { ? }
5
6
7
1
2 3
4
ε
ε ε
ε
εa
b
![Page 17: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/17.jpg)
ε-fechamento de um estado
ECLOSE(1) = { 1, 2, 3, 4, 6 }
5
6
7
1
2 3
4
ε
ε ε
ε
εa
b
![Page 18: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/18.jpg)
AF com ε-transições
Considerações Dado qualquer AFN-ε E, podemos encontrar
um AFD D que aceita a mesma linguagem que E.
Para eliminar as ε-transições, aplica-se uma construção muito parecida com a construção de conjuntos, pois os estados de D são subconjuntos dos estados de E.
• A única diferença é que devemos incorporar as ε-transições de E, o que fazemos por meio do mecanismo do ε-fechamento (ECLOSE).
![Page 19: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/19.jpg)
Ling. Formais e Autômatos
Exp. regulares
![Page 20: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/20.jpg)
Tópicos
Expressões regulares
Introdução
Operadores
![Page 21: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/21.jpg)
Linguagens regulares
De acordo com a Hierarquia de Chomsky, as linguagens regulares constituem a classe de linguagens mais simples, sendo possível desenvolver algoritmos de reconhecimento, de geração ou de conversão entre formalismos de pouca complexidade, de grande eficácia e de fácil implementação.
Entretanto, as linguagens regulares possuem fortes limitações de expressividade.
![Page 22: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/22.jpg)
Linguagens regulares
Um autômato finito reconhece uma linguagem regular!
![Page 23: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/23.jpg)
Expressões regulares
Toda linguagem regular pode ser descrita por uma expressão regular
Uma expressão regular é definida a partir de conjuntos (linguagens) básicos e operações de concatenação e de união
![Page 24: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/24.jpg)
Expressões regulares
Ø é uma expressão regular e denota o conjunto { }
Ε é uma expressão regular e denota o conjunto {ε}
Para cada a Є Σ, a é uma expressão regular e denota o conjunto { a }
Se r e s são expressões regulares denotando os conjuntos R e S, então (r+s), (rs) e (r*) são expressões regulares e denotam os conjuntos RUS, RS e R*, respectivamente
![Page 25: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/25.jpg)
Expressões regulares
Alfabeto: Σ = { 0, 1 }
00 é expressão regular se 0 é expressão regular L(0) L(0) = { 0 } { 0 } = { 0 }
0+1 é expressão regular se 0 é expressão regular e 1 é expressão regular L(0) U L(1) = { 0 } U { 1 } = { 0, 1 } = Σ
0* é expressão regular se 0 é expressão regular L(0)* = { 0 }* = { ε, 0, 00, 000, 0000, ... }
![Page 26: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/26.jpg)
Expressões regulares
Precedência: * , +
0+1*
L(0) U L(1)* = { 0 } U L(1)* = { 0 } U { 1 }* = { 0 } U { ε, 1, 11, ...}=
= { 0, ε, 1, 11, ... }
Abreviamos rr* por r+
00*11*22* = 0+1+2+
![Page 27: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/27.jpg)
Exemplo 1
Considerando o alfabeto Σ={ 0, 1 }
E1 = (0+1)* 00 (0+1)*
O que E1 representa?
![Page 28: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/28.jpg)
Exemplo 1
Considerando o alfabeto Σ={ 0, 1 }
E1 = (0+1)* 00 (0+1)* =
L(E1) = L((0+1)*) . L(0) . L(0) . L((0+1)*) =
{0, 1}* . {00} . {0, 1}*
Uma string que tenha, pelo menos,2 zeros consecutivos!
![Page 29: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/29.jpg)
Exemplo 2
Considerando o alfabeto Σ={ 0, 1 }
E2 = ((0+1) (0+1))*
O que E2 representa?
![Page 30: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/30.jpg)
Exemplo 2
Considerando o alfabeto Σ={ 0, 1 }
E2 = ((0+1) (0+1))* =
L(E2) = L((0+1) (0+1))* = (L(0+1) . L(0+1))* =
= ({0,1} {0,1})* = {ε, 00, 01, 10, 11}*
Cadeias que tenhamcomprimento par! (ou ε)
![Page 31: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/31.jpg)
Expressões regulares
AFDeterminístico
AF NãoDeterminístico
ExpressõesRegulares
![Page 32: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/32.jpg)
Expressões regulares
Simplificações Associação Distribuição Equivalência de fecho
![Page 33: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/33.jpg)
Expressões regulares
Seja r uma expressão regular. Então existe um AF não determinístico com ε-transições que aceita r.
![Page 34: Ling. Formais e Autômatos AFN-ε. Tópicos AF com ε-transições Autômatos finitos](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc13f497959413d8de188/html5/thumbnails/34.jpg)
Universidade Federal de São Carlos
Sérgio Donizetti Zorzo
Paulo R. M. Cereda