professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… ·...
Transcript of professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… ·...
![Page 1: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/1.jpg)
Autômatos finitosMCTA015-13 - Linguagens Formais e Autômata
Profa. Carla Negri [email protected]/∼carla.negri
Centro de Matemática, Computação e Cognição – Universidade Federal do ABC
1
![Page 2: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/2.jpg)
Determinismo
![Page 3: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/3.jpg)
Autômatos finitos determinísticos
Um autômato finito determinístico (AFD) é uma 5-upla(Q,Σ, δ, q0,F) em que
• Q é um conjunto finito de estados• Σ é um alfabeto• δ : Q × Σ → Q é uma função de transição• q0 ∈ Q é o estado inicial• F ⊆ Q é o conjunto de estados finais
2
![Page 4: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/4.jpg)
Autômatos finitos determinísticos - Exemplo
M1 = (Q1,Σ1, δ1, q1,F1) com Q1 = {q1, q2, q3, q4, q5},Σ1 = {a, b}, F1 = {q5} e δ1 dada por
δ1 a bq1 q1 q2q2 q3 q2q3 q1 q4q4 q5 q2q5 q5 q5
é um AFD.
3
![Page 5: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/5.jpg)
Autômatos finitos determinísticos - Exemplo
M1 também pode ser definido por um diagrama de estados:
M1 q1 q2 q3 q4 q5
a b a,b
b a b aa
a
b
4
![Page 6: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/6.jpg)
Autômatos finitos determinísticos - Computação
Ideia: o estado inicial fica ativo; uma transição com rótulo x pode ser seguida a partirde um estado ativo sempre que x for lido na entrada; o estado atingido pela transiçãoque foi seguida fica ativo.
A todo momento, existe uma (e apenas uma) possibilidade de transição a ser seguida.
q1 q2 q3 q4 q5
a b a,b
b a b aa
a
b
Leu a: q1 q2 q3 q4 q5
a b a,b
b a b aa
a
b
Leu b: q1 q2 q3 q4 q5
a b a,b
b a b aa
a
b
5
![Page 7: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/7.jpg)
Autômatos finitos determinísticos
Dado um AFD M = (Q,Σ, δ, q0,F), definimos a função detransição estendida de M, δ̂ : Q × Σ∗ → Q como
δ̂(q, ω) =
q se ω = ε
δ(δ̂(q, α), x) se ω = αx e x ∈ Σ
Ou seja, δ̂(q, ω) é o estado ativo em M após computar toda umacadeia ω a partir do estado q.
6
![Page 8: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/8.jpg)
Autômatos finitos determinísticos
Dado um AFD M = (Q,Σ, δ, q0,F), definimos a função detransição estendida de M, δ̂ : Q × Σ∗ → Q como
δ̂(q, ω) =
q se ω = ε
δ(δ̂(q, α), x) se ω = αx e x ∈ Σ
Ou seja, δ̂(q, ω) é o estado ativo em M após computar toda umacadeia ω a partir do estado q.
6
![Page 9: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/9.jpg)
Autômatos finitos determinísticos - Transição estendida
Considere M1 novamente:
M1 q1 q2 q3 q4 q5
a b a,b
b a b aa
a
b
• δ̂1(q1, aabba) = q3
• δ̂1(q2, ε) = q2
• δ̂1(q4, abbba) = q5
7
![Page 10: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/10.jpg)
Computando ω = aabbabaa em M1
M1 q1 q2 q3 q4 q5
a b a,b
b a b aa
a
b
estados ativos símbolo lidoq1
aabbabaaq1 aabbabaaq1 aabbabaaq2 aabbabaaq2 aabbabaaq3 aabbabaaq4 aabbabaaq5 aabbabaaq5 aabbabaa
8
![Page 11: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/11.jpg)
Computando ω = aabbabaa em M1
M1 q1 q2 q3 q4 q5
a b a,b
b a b aa
a
b
estados ativos símbolo lidoq1 aabbabaaq1
aabbabaaq1 aabbabaaq2 aabbabaaq2 aabbabaaq3 aabbabaaq4 aabbabaaq5 aabbabaaq5 aabbabaa
8
![Page 12: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/12.jpg)
Computando ω = aabbabaa em M1
M1 q1 q2 q3 q4 q5
a b a,b
b a b aa
a
b
estados ativos símbolo lidoq1 aabbabaaq1 aabbabaaq1
aabbabaaq2 aabbabaaq2 aabbabaaq3 aabbabaaq4 aabbabaaq5 aabbabaaq5 aabbabaa
8
![Page 13: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/13.jpg)
Computando ω = aabbabaa em M1
M1 q1 q2 q3 q4 q5
a b a,b
b a b aa
a
b
estados ativos símbolo lidoq1 aabbabaaq1 aabbabaaq1 aabbabaaq2
aabbabaaq2 aabbabaaq3 aabbabaaq4 aabbabaaq5 aabbabaaq5 aabbabaa
8
![Page 14: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/14.jpg)
Computando ω = aabbabaa em M1
M1 q1 q2 q3 q4 q5
a b a,b
b a b aa
a
b
estados ativos símbolo lidoq1 aabbabaaq1 aabbabaaq1 aabbabaaq2 aabbabaaq2
aabbabaaq3 aabbabaaq4 aabbabaaq5 aabbabaaq5 aabbabaa
8
![Page 15: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/15.jpg)
Computando ω = aabbabaa em M1
M1 q1 q2 q3 q4 q5
a b a,b
b a b aa
a
b
estados ativos símbolo lidoq1 aabbabaaq1 aabbabaaq1 aabbabaaq2 aabbabaaq2 aabbabaaq3
aabbabaaq4 aabbabaaq5 aabbabaaq5 aabbabaa
8
![Page 16: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/16.jpg)
Computando ω = aabbabaa em M1
M1 q1 q2 q3 q4 q5
a b a,b
b a b aa
a
b
estados ativos símbolo lidoq1 aabbabaaq1 aabbabaaq1 aabbabaaq2 aabbabaaq2 aabbabaaq3 aabbabaaq4 aabbabaaq5 aabbabaaq5 aabbabaa
8
![Page 17: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/17.jpg)
Computando ω = aabbabaa em M1
M1 q1 q2 q3 q4 q5
a b a,b
b a b aa
a
b
estados ativos símbolo lidoq1 aabbabaaq1 aabbabaaq1 aabbabaa
q2 = δ̂1(q1, aab) aabbabaaq2 aabbabaaq3 aabbabaaq4 aabbabaaq5 aabbabaaq5 aabbabaa
8
![Page 18: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/18.jpg)
Computando ω = aabbabaa em M1
M1 q1 q2 q3 q4 q5
a b a,b
b a b aa
a
b
estados ativos símbolo lidoq1 = δ̂1(q1, ε) aabbabaaq1 = δ̂1(q1, a) aabbabaaq1 = δ̂1(q1, aa) aabbabaaq2 = δ̂1(q1, aab) aabbabaaq2 = δ̂1(q1, aabb) aabbabaaq3 = δ̂1(q1, aabba) aabbabaaq4 = δ̂1(q1, aabbab) aabbabaaq5 = δ̂1(q1, aabbaba) aabbabaaq5 = δ̂1(q1, aabbabaa) aabbabaa
8
![Page 19: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/19.jpg)
Autômatos finitos determinísticos
Seja M = (Q,Σ, δ, q0,F) um AFD e seja ω ∈ Σ∗.Dizemos que M aceita ω se δ̂(q0, ω) ∈ F.Caso contrário, M rejeita ω.
Seja M = (Q,Σ, δ, q0,F) um AFD.Dizemos que L(M) = {ω ∈ Σ∗ | M aceita ω} é a linguagemreconhecida por M.
9
![Page 20: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/20.jpg)
Autômatos finitos determinísticos
M1 q1 q2 q3 q4 q5
a b a,b
b a b aa
a
b
L(M1) = {ω ∈ {a, b}∗ | ω contém baba como subcadeia }
Pois:
• δ̂1(q1, α) = q1 ⇔ α ∈ Σ∗ não contém o padrão desejado• δ̂1(q1, α) = q2 ⇔ α = βb para β ∈ Σ∗
• δ̂1(q1, α) = q3 ⇔ α = βba para β ∈ Σ∗
• δ̂1(q1, α) = q4 ⇔ α = βbab para β ∈ Σ∗
• δ̂1(q1, α) = q5 ⇔ α = βbabaγ para β, γ ∈ Σ∗
10
![Page 21: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/21.jpg)
Linguagens regulares
Uma linguagem é dita regular se algum AFD a reconhece.
Todas as linguagens do universo
Linguagens regulares(AFD)
11
![Page 22: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/22.jpg)
Não determinismo
![Page 23: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/23.jpg)
Autômatos finitos não determinísticos
Um autômato finito não determinístico (AFN) é uma 5-upla(Q,Σ, δ, q0,F) em que
• Q é um conjunto finito de estados• Σ é um alfabeto• δ : Q × (Σ ∪ {ε}) → P(Q) é uma função de transição• q0 ∈ Q é o estado inicial• F ⊆ Q é o conjunto de estados finais
12
![Page 24: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/24.jpg)
Autômatos finitos não determinísticos - Exemplo
N1 = (Q1,Σ1, δ1, 1,F1) com Q1 = {1, 2, 3, 4, 5}, Σ1 = {a, b},F1 = {5} e δ1 dada por
δ1 a b ε
1 {1} {1, 2} ∅2 {3} ∅ {3}3 ∅ {4} ∅4 {5} ∅ ∅5 {5} {5} ∅
é um AFN.
13
![Page 25: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/25.jpg)
Autômatos finitos não determinísticos - Exemplo
N1 também pode ser definido por um diagrama de estados:
N1 1 2 3 4 5
a,b a,b
b a,ε b a
14
![Page 26: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/26.jpg)
Autômatos finitos não determinísticos - Exemplo
N2 = (Q2,Σ2, δ2, q1,F2) com Q2 = {q1, q2, q3, q4, q5, q6},Σ2 = {0, 1}, F2 = {q4, q6} e δ2 dada por
δ2 0 1 ε
q1 {q3} ∅ {q2}q2 ∅ {q4} {q3, q5}q3 {q5} ∅ ∅q4 {q6} ∅ {q5}q5 ∅ ∅ {q6}q6 {q6} ∅ ∅
é um AFN.
15
![Page 27: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/27.jpg)
Autômatos finitos não determinísticos - Exemplo
N2 também pode ser definido por um diagrama de estados:
N2 q1 q2
q3
q4
q5 q6 0
ε
0 ε ε
1
0
ε 0
ε
16
![Page 28: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/28.jpg)
Autômatos finitos não determinísticos - Computação
Ideia: o estado inicial fica ativo; uma transição com rótulo x pode serseguida a partir de um estado ativo apenas quando x for lido na entrada;uma transição com rótulo ε pode ser seguida a partir de um estado ativosem que nada da entrada seja lido; o estado atingido pela transição quefoi seguida fica ativo.
A todo momento pode haver mais de uma possibilidade de transição aser seguida. Nesse caso, é criada uma cópia da máquina para cadapossibilidade.
A cópia desaparece quando não consegue mais seguir transições.
17
![Page 29: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/29.jpg)
Autômatos finitos não determinísticos - Computação
N1 1 2 3 4 5
a,b a,b
b a,ε b a
Leu b:
1 2 3 4 5
a,b a,b
b a,ε b a
1 2 3 4 5
a,b a,b
b a,ε b a
1 2 3 4 5
a,b a,b
b a,ε b a
18
![Page 30: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/30.jpg)
Autômatos finitos não determinísticos - Computação
N1 1 2 3 4 5
a,b a,b
b a,ε b a
Leu b:
1 2 3 4 5
a,b a,b
b a,ε b a
1 2 3 4 5
a,b a,b
b a,ε b a
1 2 3 4 5
a,b a,b
b a,ε b a
18
![Page 31: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/31.jpg)
Autômatos finitos não determinísticos - Computação
N2 q1 q2
q3
q4
q5 q6 0
ε
0 ε ε
1
0ε 0
ε
q1 q2
q3
q4
q5 q6 0
ε
0 ε ε
1
0ε 0
ε
q1 q2
q3
q4
q5 q6
0
ε
0 ε ε
1
0ε 0
ε
q1 q2
q3
q4
q5 q6
0
ε
0 ε ε
1
0ε 0
ε
q1 q2
q3
q4
q5 q6
0
ε
0 ε ε
1
0ε 0
ε
Leu 0:
Leu 0: q1 q2
q3
q4
q5 q6 0
ε
0 ε ε
1
0ε 0
ε
q1 q2
q3
q4
q5 q6 0
ε
0 ε ε
1
0ε 0
ε
q1 q2
q3
q4
q5 q6 0
ε
0 ε ε
1
0ε 0
ε
q1 q2
q3
q4
q5 q6 0
ε
0 ε ε
1
0ε 0
ε
19
![Page 32: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/32.jpg)
Autômatos finitos não determinísticos - Computação
N2 q1 q2
q3
q4
q5 q6 0
ε
0 ε ε
1
0ε 0
ε
q1 q2
q3
q4
q5 q6 0
ε
0 ε ε
1
0ε 0
ε
q1 q2
q3
q4
q5 q6
0
ε
0 ε ε
1
0ε 0
ε
q1 q2
q3
q4
q5 q6
0
ε
0 ε ε
1
0ε 0
ε
q1 q2
q3
q4
q5 q6
0
ε
0 ε ε
1
0ε 0
ε
Leu 0: q1 q2
q3
q4
q5 q6 0
ε
0 ε ε
1
0ε 0
ε
q1 q2
q3
q4
q5 q6 0
ε
0 ε ε
1
0ε 0
ε
q1 q2
q3
q4
q5 q6 0
ε
0 ε ε
1
0ε 0
ε
q1 q2
q3
q4
q5 q6 0
ε
0 ε ε
1
0ε 0
ε19
![Page 33: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/33.jpg)
Autômatos finitos não determinísticos
Seja N = (Q,Σ, δ, q0,F) um AFN.Para q ∈ Q, o ε-fechamento de q, denotado E(q), é o conjuntodefinido da seguinte forma:
• q ∈ E(q);• se r ∈ E(q) e s ∈ δ(q, ε), então s ∈ E(q).
Ou seja:
• E(q) é o conjunto de estados que são alcançáveis a partir de qseguindo 0 ou mais transições com rótulo ε.
• E(q) é o conjunto dos estados que ficam ativos no mesmoinstante em que q fica ativo.
20
![Page 34: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/34.jpg)
Autômatos finitos não determinísticos
Seja N = (Q,Σ, δ, q0,F) um AFN.Para q ∈ Q, o ε-fechamento de q, denotado E(q), é o conjuntodefinido da seguinte forma:
• q ∈ E(q);• se r ∈ E(q) e s ∈ δ(q, ε), então s ∈ E(q).
Ou seja:
• E(q) é o conjunto de estados que são alcançáveis a partir de qseguindo 0 ou mais transições com rótulo ε.
• E(q) é o conjunto dos estados que ficam ativos no mesmoinstante em que q fica ativo.
20
![Page 35: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/35.jpg)
Autômatos finitos não determinísticos
Seja N = (Q,Σ, δ, q0,F) um AFN.Para q ∈ Q, o ε-fechamento de q, denotado E(q), é o conjuntodefinido da seguinte forma:
• q ∈ E(q);• se r ∈ E(q) e s ∈ δ(q, ε), então s ∈ E(q).
Ou seja:
• E(q) é o conjunto de estados que são alcançáveis a partir de qseguindo 0 ou mais transições com rótulo ε.
• E(q) é o conjunto dos estados que ficam ativos no mesmoinstante em que q fica ativo.
20
![Page 36: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/36.jpg)
Autômatos finitos não determinísticos - ε-fechamento
Considere N2 novamente:
N2 q1 q2
q3
q4
q5 q6 0
ε
0 ε ε
1
0
ε 0
ε
• E(q1) = {q1, q2, q3, q5, q6}
• E(q2) = {q2, q3, q5, q6}
• E(q3) = {q3}
• E(q4) = {q4, q5, q6}
• E(q5) = {q5, q6}
• E(q6) = {q6}
21
![Page 37: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/37.jpg)
Abusos de notação
Seja N = (Q,Σ, δ, q0,F) um AFN, seja S ⊆ Q e seja x ∈ Σ.
Usaremosδ(S, x) =
∪q∈S
δ(q, x)
para denotar quais estados ficam ativos ao seguir transições rotuladascom x a partir dos estados de S.
UsaremosE(S) =
∪q∈S
E(q)
para denotar quais estados ficam ativos no mesmo instante em que osestados de S ficam ativos.
22
![Page 38: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/38.jpg)
Autômatos finitos não determinísticos
Dado um AFN N = (Q,Σ, δ, q0,F), definimos a função detransição estendida de N, δ̂ : Q × Σ∗ → P(Q) como
δ̂(q, ω) =
E(q) se ω = ε
E(δ(δ̂(q, α), x)) se ω = αx e x ∈ Σ
Ou seja, δ̂(q, ω) é o conjunto de estados ativos em N apóscomputar toda uma cadeia ω a partir do estado q.
23
![Page 39: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/39.jpg)
Autômatos finitos não determinísticos
Dado um AFN N = (Q,Σ, δ, q0,F), definimos a função detransição estendida de N, δ̂ : Q × Σ∗ → P(Q) como
δ̂(q, ω) =
E(q) se ω = ε
E(δ(δ̂(q, α), x)) se ω = αx e x ∈ Σ
Ou seja, δ̂(q, ω) é o conjunto de estados ativos em N apóscomputar toda uma cadeia ω a partir do estado q.
23
![Page 40: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/40.jpg)
Autômatos finitos não determinísticos - Transição estendida
N1 1 2 3 4 5
a,b a,b
b a,ε b a
• δ̂1(1, ε) = E(1) = {1}
• δ̂1(1, a) = E(δ1(δ̂1(1, ε), a)) = E(δ1({1}, a)) = E({1}) = {1}
• δ̂1(1, ab) = E(δ1(δ̂1(1, a), b)) = E(δ1({1}, b)) = E({1, 2}) ={1, 2, 3}
• δ̂1(1, abb) = E(δ1(δ̂1(1, ab), b)) = E(δ1({1, 2, 3}, b)) =E({1, 2, 4}) = {1, 2, 3, 4}
• δ̂1(2, a) = E(δ1(δ̂1(2, ε), a)) = E(δ1({2, 3}, a)) = E({3}) = {3}
24
![Page 41: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/41.jpg)
Autômatos finitos não determinísticos - Transição estendida
N1 1 2 3 4 5
a,b a,b
b a,ε b a
• δ̂1(1, ε) = E(1) = {1}
• δ̂1(1, a) = E(δ1(δ̂1(1, ε), a)) = E(δ1({1}, a)) = E({1}) = {1}
• δ̂1(1, ab) = E(δ1(δ̂1(1, a), b)) = E(δ1({1}, b)) = E({1, 2}) ={1, 2, 3}
• δ̂1(1, abb) = E(δ1(δ̂1(1, ab), b)) = E(δ1({1, 2, 3}, b)) =E({1, 2, 4}) = {1, 2, 3, 4}
• δ̂1(2, a) = E(δ1(δ̂1(2, ε), a)) = E(δ1({2, 3}, a)) = E({3}) = {3}
24
![Page 42: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/42.jpg)
Autômatos finitos não determinísticos - Transição estendida
N1 1 2 3 4 5
a,b a,b
b a,ε b a
• δ̂1(1, ε) = E(1) = {1}
• δ̂1(1, a) = E(δ1(δ̂1(1, ε), a)) = E(δ1({1}, a)) = E({1}) = {1}
• δ̂1(1, ab) = E(δ1(δ̂1(1, a), b)) = E(δ1({1}, b)) = E({1, 2}) ={1, 2, 3}
• δ̂1(1, abb) = E(δ1(δ̂1(1, ab), b)) = E(δ1({1, 2, 3}, b)) =E({1, 2, 4}) = {1, 2, 3, 4}
• δ̂1(2, a) = E(δ1(δ̂1(2, ε), a)) = E(δ1({2, 3}, a)) = E({3}) = {3}
24
![Page 43: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/43.jpg)
Autômatos finitos não determinísticos - Transição estendida
N1 1 2 3 4 5
a,b a,b
b a,ε b a
• δ̂1(1, ε) = E(1) = {1}
• δ̂1(1, a) = E(δ1(δ̂1(1, ε), a)) = E(δ1({1}, a)) = E({1}) = {1}
• δ̂1(1, ab) = E(δ1(δ̂1(1, a), b)) = E(δ1({1}, b)) = E({1, 2}) ={1, 2, 3}
• δ̂1(1, abb) = E(δ1(δ̂1(1, ab), b)) = E(δ1({1, 2, 3}, b)) =E({1, 2, 4}) = {1, 2, 3, 4}
• δ̂1(2, a) = E(δ1(δ̂1(2, ε), a)) = E(δ1({2, 3}, a)) = E({3}) = {3}
24
![Page 44: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/44.jpg)
Autômatos finitos não determinísticos - Transição estendida
N1 1 2 3 4 5
a,b a,b
b a,ε b a
• δ̂1(1, ε) = E(1) = {1}
• δ̂1(1, a) = E(δ1(δ̂1(1, ε), a)) = E(δ1({1}, a)) = E({1}) = {1}
• δ̂1(1, ab) = E(δ1(δ̂1(1, a), b)) = E(δ1({1}, b)) = E({1, 2}) ={1, 2, 3}
• δ̂1(1, abb) = E(δ1(δ̂1(1, ab), b)) = E(δ1({1, 2, 3}, b)) =E({1, 2, 4}) = {1, 2, 3, 4}
• δ̂1(2, a) = E(δ1(δ̂1(2, ε), a)) = E(δ1({2, 3}, a)) = E({3}) = {3}
24
![Page 45: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/45.jpg)
Autômatos finitos não determinísticos - Transição estendida
N2 q1 q2
q3
q4
q5 q6 0
ε
0 ε ε
1
0ε 0
ε
• δ̂2(q1, ε) = E(q1) = {q1, q2, q3, q5, q6}
• δ̂2(q1, 0) = E(δ2(δ̂2(q1, ε), 0)) = E(δ2({q1, q2, q3, q5, q6}, 0)) =E({q3, q5, q6}) = {q3, q5, q6}
• δ̂2(q1, 01) = E(δ2(δ̂2(q1, 0), 1)) = E(δ2({q3, q5, q6}, 1)) = E(∅) = ∅
25
![Page 46: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/46.jpg)
Computando ω = abbaab em N1
N1 1 2 3 4 5
a,b a,b
b a,ε b a
estados ativos símbolo lido1
abbaababbaababbaababbaababbaababbaababbaab
26
![Page 47: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/47.jpg)
Computando ω = abbaab em N1
N1 1 2 3 4 5
a,b a,b
b a,ε b a
estados ativos símbolo lido1 abbaab1
abbaababbaababbaababbaababbaababbaab
26
![Page 48: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/48.jpg)
Computando ω = abbaab em N1
N1 1 2 3 4 5
a,b a,b
b a,ε b a
estados ativos símbolo lido1 abbaab1 abbaab
1, 2, 3
abbaababbaababbaababbaababbaab
26
![Page 49: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/49.jpg)
Computando ω = abbaab em N1
N1 1 2 3 4 5
a,b a,b
b a,ε b a
estados ativos símbolo lido1 abbaab1 abbaab
1, 2, 3 abbaab1, 2, 3, 4
abbaababbaababbaababbaab
26
![Page 50: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/50.jpg)
Computando ω = abbaab em N1
N1 1 2 3 4 5
a,b a,b
b a,ε b a
estados ativos símbolo lido1 abbaab1 abbaab
1, 2, 3 abbaab1, 2, 3, 4 abbaab1, 3, 5
abbaababbaababbaab
26
![Page 51: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/51.jpg)
Computando ω = abbaab em N1
N1 1 2 3 4 5
a,b a,b
b a,ε b a
estados ativos símbolo lido1 abbaab1 abbaab
1, 2, 3 abbaab1, 2, 3, 4 abbaab1, 3, 5 abbaab1, 5
abbaababbaab
26
![Page 52: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/52.jpg)
Computando ω = abbaab em N1
N1 1 2 3 4 5
a,b a,b
b a,ε b a
estados ativos símbolo lido1 abbaab1 abbaab
1, 2, 3 abbaab1, 2, 3, 4 abbaab1, 3, 5 abbaab1, 5 abbaab
1, 2, 3, 5
abbaab
26
![Page 53: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/53.jpg)
Computando ω = abbaab em N1
N1 1 2 3 4 5
a,b a,b
b a,ε b a
estados ativos símbolo lido1 abbaab1 abbaab
1, 2, 3 abbaab1, 2, 3, 4 abbaab1, 3, 5 abbaab1, 5 abbaab
1, 2, 3, 5 abbaab
26
![Page 54: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/54.jpg)
Computando ω = abbaab em N1
N1 1 2 3 4 5
a,b a,b
b a,ε b a
estados ativos símbolo lido1 abbaab1 abbaab
1, 2, 3 abbaab{1, 2, 3, 4} = δ̂1(1, abb) abbaab
1, 3, 5 abbaab1, 5 abbaab
1, 2, 3, 5 abbaab
26
![Page 55: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/55.jpg)
Computando ω = abbaab em N1
N1 1 2 3 4 5
a,b a,b
b a,ε b a
estados ativos símbolo lido{1} = δ̂1(1, ε) abbaab{1} = δ̂1(1, a) abbaab
{1, 2, 3} = δ̂1(1, ab) abbaab{1, 2, 3, 4} = δ̂1(1, abb) abbaab{1, 3, 5} = δ̂1(1, abba) abbaab{1, 5} = δ̂1(1, abbaa) abbaab
{1, 2, 3, 5} = δ̂1(1, abbaab) abbaab
26
![Page 56: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/56.jpg)
Computando ω = 100 em N2
N2 q1 q2
q3
q4
q5 q6 0
ε
0 ε ε
1
0
ε 0
ε
estados ativos símbolo lido{q1, q2, q3, q5, q6} = δ̂2(q1, ε) 100
{q4, q5, q6} = δ̂2(q1, 1) 100{q6} = δ̂2(q1, 10) 100{q6} = δ̂2(q1, 100) 100
27
![Page 57: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/57.jpg)
Autômatos finitos não determinísticos
Seja N = (Q,Σ, δ, q0,F) um AFN e seja ω ∈ Σ∗.Dizemos que N aceita ω se δ̂(q0, ω) ∩ F ̸= ∅.Caso contrário, N rejeita ω.
Seja N = (Q,Σ, δ, q0,F) um AFN.Dizemos que L(N) = {ω ∈ Σ∗ | N aceita ω} é a linguagemreconhecida por N.
28
![Page 58: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/58.jpg)
Autômatos finitos não determinísticos
N1 1 2 3 4 5
a,b a,b
b a,ε b a
L(N1) = {ω ∈ {a, b}∗ | ω contém baba ou bba como subcadeia }
Pois:
• 1 ∈ δ̂1(1, α) ⇔ α ∈ Σ∗
• 2 ∈ δ̂1(1, α) ⇔ α = βb para β ∈ Σ∗
• 3 ∈ δ̂1(1, α) ⇔ α = βb ou α = βba para β ∈ Σ∗
• 4 ∈ δ̂1(1, α) ⇔ α = βbb ou α = βbab para β ∈ Σ∗
• 5 ∈ δ̂1(1, α) ⇔ α = βbbaγ ou α = βbabaγ para β, γ ∈ Σ∗
29
![Page 59: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/59.jpg)
Autômatos finitos não determinísticos
N2 q1 q2
q3
q4
q5 q6 0
ε
0 ε ε
1
0
ε 0
ε
L(N2) = {ε} ∪ {10k | k ≥ 0} ∪ {00k | k ≥ 0}Pois:
• q1 ∈ δ̂2(q1, α) ⇔ α = ε
• q2 ∈ δ̂2(q1, α) ⇔ α = ε
• q3 ∈ δ̂2(q1, α) ⇔ α = ε ou α = 0• q4 ∈ δ̂2(q1, α) ⇔ α = 1• q5 ∈ δ̂2(q1, α) ⇔ α = ε ou α = 0 ou α = 00 ou α = 1• q6 ∈ δ̂2(q1, α) ⇔ α = 0k ou α = 00k ou α = 000k ou α = 10k ou
α = 100k, com k ≥ 0 30
![Page 60: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/60.jpg)
Equivalência entre AFD e AFN
![Page 61: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/61.jpg)
Definição de Equivalência
Dois autômatos M e N são equivalentes se L(M) = L(N), i.e., seambos reconhecem a mesma linguagem.
31
![Page 62: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/62.jpg)
AFD vs. AFN
TeoremaTodo AFN tem um AFD equivalente.
Demonstração.Seja N = (Q,Σ, δ, q0,F) um AFN.
A ideia é criar um AFD que reconhece L(N) fazendo-o simular N. Paraisso, o AFD deve lembrar quais são os estados ativos do AFN em cadamomento da entrada.Seja M = (B,Σ, φ, p0,T) em que:
• B = P(Q)
• Para R ∈ B e x ∈ Σ, φ(R, x) =∪
q∈RE(δ(q, x))
• p0 = E(q0)
• T = {R ∈ B | R ∩ F ̸= ∅}
Note que L(M) = L(N) porque δ̂(q0, ω) = φ̂(p0, ω) para qualquerω ∈ Σ∗.
32
![Page 63: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/63.jpg)
AFD vs. AFN
TeoremaTodo AFN tem um AFD equivalente.
Demonstração.Seja N = (Q,Σ, δ, q0,F) um AFN.A ideia é criar um AFD que reconhece L(N) fazendo-o simular N. Paraisso, o AFD deve lembrar quais são os estados ativos do AFN em cadamomento da entrada.
Seja M = (B,Σ, φ, p0,T) em que:
• B = P(Q)
• Para R ∈ B e x ∈ Σ, φ(R, x) =∪
q∈RE(δ(q, x))
• p0 = E(q0)
• T = {R ∈ B | R ∩ F ̸= ∅}
Note que L(M) = L(N) porque δ̂(q0, ω) = φ̂(p0, ω) para qualquerω ∈ Σ∗.
32
![Page 64: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/64.jpg)
AFD vs. AFN
TeoremaTodo AFN tem um AFD equivalente.
Demonstração.Seja N = (Q,Σ, δ, q0,F) um AFN.A ideia é criar um AFD que reconhece L(N) fazendo-o simular N. Paraisso, o AFD deve lembrar quais são os estados ativos do AFN em cadamomento da entrada.Seja M = (B,Σ, φ, p0,T) em que:
• B = P(Q)
• Para R ∈ B e x ∈ Σ, φ(R, x) =∪
q∈RE(δ(q, x))
• p0 = E(q0)
• T = {R ∈ B | R ∩ F ̸= ∅}
Note que L(M) = L(N) porque δ̂(q0, ω) = φ̂(p0, ω) para qualquerω ∈ Σ∗.
32
![Page 65: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/65.jpg)
AFD vs. AFN
TeoremaTodo AFN tem um AFD equivalente.
Demonstração.Seja N = (Q,Σ, δ, q0,F) um AFN.A ideia é criar um AFD que reconhece L(N) fazendo-o simular N. Paraisso, o AFD deve lembrar quais são os estados ativos do AFN em cadamomento da entrada.Seja M = (B,Σ, φ, p0,T) em que:
• B = P(Q)
• Para R ∈ B e x ∈ Σ, φ(R, x) =∪
q∈RE(δ(q, x))
• p0 = E(q0)
• T = {R ∈ B | R ∩ F ̸= ∅}
Note que L(M) = L(N) porque δ̂(q0, ω) = φ̂(p0, ω) para qualquerω ∈ Σ∗. 32
![Page 66: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/66.jpg)
AFD vs. AFN
N3 1
3
2 a
ε
a
b
a,b
ε
33
![Page 67: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/67.jpg)
AFD vs. AFN
AFD gerado a partir de N3:
∅ {1}
{2} {3}
{1, 2} {1, 3}
{2, 3} {1, 2, 3}
34
![Page 68: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/68.jpg)
AFD vs. AFN
AFD gerado a partir de N3:
∅ {1}
{2} {3}
{1, 2} {1, 3}
{2, 3} {1, 2, 3}
34
![Page 69: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/69.jpg)
AFD vs. AFN
AFD gerado a partir de N3:
∅ {1}
{2} {3}
{1, 2} {1, 3}
{2, 3} {1, 2, 3}
34
![Page 70: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/70.jpg)
AFD vs. AFN
AFD gerado a partir de N3:
∅ {1}
{2} {3}
{1, 2} {1, 3}
{2, 3} {1, 2, 3}
a
34
![Page 71: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/71.jpg)
AFD vs. AFN
AFD gerado a partir de N3:
∅ {1}
{2} {3}
{1, 2} {1, 3}
{2, 3} {1, 2, 3}
ab
34
![Page 72: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/72.jpg)
AFD vs. AFN
AFD gerado a partir de N3:
∅ {1}
{2} {3}
{1, 2} {1, 3}
{2, 3} {1, 2, 3}
ab
a
34
![Page 73: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/73.jpg)
AFD vs. AFN
AFD gerado a partir de N3:
∅ {1}
{2} {3}
{1, 2} {1, 3}
{2, 3} {1, 2, 3}
ab
a
b
34
![Page 74: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/74.jpg)
AFD vs. AFN
AFD gerado a partir de N3:
∅ {1}
{2} {3}
{1, 2} {1, 3}
{2, 3} {1, 2, 3}
ab
a
b
a
34
![Page 75: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/75.jpg)
AFD vs. AFN
AFD gerado a partir de N3:
∅ {1}
{2} {3}
{1, 2} {1, 3}
{2, 3} {1, 2, 3}
ab
a
b
a
b
34
![Page 76: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/76.jpg)
AFD vs. AFN
AFD gerado a partir de N3:
∅ {1}
{2} {3}
{1, 2} {1, 3}
{2, 3} {1, 2, 3}
ab
a
b
a
b
a,b
a
b
a
b
a
b
a,b
34
![Page 77: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/77.jpg)
AFD vs. AFN - Exercício
N4 1
3
2 a
ε
a
b
a,b
35
![Page 78: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/78.jpg)
AFD vs. AFN - Exercício
AFD gerado a partir de N4 (após remoção de estadosinalcançáveis):
{1, 3} {3} ∅
{2} {2, 3} {1, 2, 3}
a
b
a
b
a b
a
b
a,b
ab
36
![Page 79: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/79.jpg)
Linguagens regulares
CorolárioUma linguagem é regular se e somente se algum AFN a reconhece.
Demonstração.(⇒) Se a linguagem é regular, então por definição um AFD a reconhecee todo AFD é um AFN.(⇐) Se um AFN reconhece a linguagem, então pelo teorema anteriorpodemos construir um AFD equivalente. Logo, por definição, alinguagem é regular.
Todas as linguagens do universo
Linguagens regulares(AFD,AFN)
37
![Page 80: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/80.jpg)
Linguagens regulares
CorolárioUma linguagem é regular se e somente se algum AFN a reconhece.
Demonstração.(⇒) Se a linguagem é regular, então por definição um AFD a reconhecee todo AFD é um AFN.(⇐) Se um AFN reconhece a linguagem, então pelo teorema anteriorpodemos construir um AFD equivalente. Logo, por definição, alinguagem é regular.
Todas as linguagens do universo
Linguagens regulares(AFD,AFN)
37
![Page 81: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/81.jpg)
Propriedades de linguagens regulares
![Page 82: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/82.jpg)
Operações regulares
Sejam A e B linguagens.
São operações regulares:
• União: A ∪ B = {x | x ∈ A ou x ∈ B}• Concatenação: AB = {xy | x ∈ A e x ∈ B}• Estrela: A∗ = {x1x2 . . . xk | k ≥ 0 e xi ∈ A}
38
![Page 83: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/83.jpg)
Operações regulares
Considere L = {1, 01, 010} e M = {ε, 11}.
L ∪ M = {ε, 1, 01, 11, 010}
LM = {1, 111, 01, 0111, 010, 01011}
ML = {1, 01, 010, 111, 1101, 11010}
L∗ = {ε, 1, 11, 101, 010, 0101, 1010, 11101010, . . .}
39
![Page 84: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/84.jpg)
Propriedades das operações regulares
1. ∅ ∪ L = L ∪ ∅ = L2. {ε}L = L{ε} = L3. ∅L = L∅ = ∅4. L(M ∪ N) = LM ∪ LN5. (M ∪ N)L = ML ∪ NL6. L ∪ L = L7. (L∗)∗ = L∗
8. ∅∗ = {ε}9. {ε}∗ = {ε}
40
![Page 85: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/85.jpg)
Propriedades de fechamento de linguagens regulares
• Uma coleção de objetos é fechada sob alguma operação se,aplicando-se essa operação a membros da coleção, recebe-seum objeto ainda na coleção.
• Por exemplo, números naturais são fechados sob a operação desoma.
• Por exemplo, números naturais não são fechados sob aoperação de divisão.
41
![Page 86: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/86.jpg)
Propriedades de fechamento de linguagens regulares
As linguagens regulares são fechadas sob:
1. União (teorema a seguir)2. Concatenação (teorema a seguir)3. Estrela (teorema a seguir)4. Interseção (exercício)5. Complemento (respondido na parte 3 da lista 1)6. Diferença (exercício)7. Reverso (exercício na parte 3 da lista 1)
42
![Page 87: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/87.jpg)
União
TeoremaA união de duas linguagens regulares é regular.
Demonstração.Sejam A1 e A2 duas linguagens regulares.
Por definição, existem AFDsM1 = (Q1,Σ, δ1, q1,F1) e M2 = (Q2,Σ, δ2, q2,F2) que as reconhecem,respectivamente.A ideia é criar um AFD que reconhece A1 ∪ A2 fazendo-o simular M1 e M2simultaneamente. Para isso, o AFD precisa lembrar qual o estado ativo em M1 e qualo estado ativo em M2 em cada momento da entrada.Seja M = (Q,Σ, δ, q0,F) em que
• Q = Q1 × Q2 = {(r1, r2) | r1 ∈ Q1 e r2 ∈ Q2}• Para (r1, r2) ∈ Q e x ∈ Σ, δ((r1, r2), x) = ( δ1(r1, x), δ2(r2, x) )
• q0 = (q1, q2)
• F = {(r1, r2) | r1 ∈ F1 ou r2 ∈ F2}
Note que L(M) = A1 ∪ A2 porque
δ̂(q0, ω) = (ri, rj) ⇔ δ̂1(q1, ω) = ri e δ̂2(q2, ω) = rj .
43
![Page 88: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/88.jpg)
União
TeoremaA união de duas linguagens regulares é regular.
Demonstração.Sejam A1 e A2 duas linguagens regulares. Por definição, existem AFDsM1 = (Q1,Σ, δ1, q1,F1) e M2 = (Q2,Σ, δ2, q2,F2) que as reconhecem,respectivamente.
A ideia é criar um AFD que reconhece A1 ∪ A2 fazendo-o simular M1 e M2simultaneamente. Para isso, o AFD precisa lembrar qual o estado ativo em M1 e qualo estado ativo em M2 em cada momento da entrada.Seja M = (Q,Σ, δ, q0,F) em que
• Q = Q1 × Q2 = {(r1, r2) | r1 ∈ Q1 e r2 ∈ Q2}• Para (r1, r2) ∈ Q e x ∈ Σ, δ((r1, r2), x) = ( δ1(r1, x), δ2(r2, x) )
• q0 = (q1, q2)
• F = {(r1, r2) | r1 ∈ F1 ou r2 ∈ F2}
Note que L(M) = A1 ∪ A2 porque
δ̂(q0, ω) = (ri, rj) ⇔ δ̂1(q1, ω) = ri e δ̂2(q2, ω) = rj .
43
![Page 89: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/89.jpg)
União
TeoremaA união de duas linguagens regulares é regular.
Demonstração.Sejam A1 e A2 duas linguagens regulares. Por definição, existem AFDsM1 = (Q1,Σ, δ1, q1,F1) e M2 = (Q2,Σ, δ2, q2,F2) que as reconhecem,respectivamente.A ideia é criar um AFD que reconhece A1 ∪ A2 fazendo-o simular M1 e M2simultaneamente. Para isso, o AFD precisa lembrar qual o estado ativo em M1 e qualo estado ativo em M2 em cada momento da entrada.
Seja M = (Q,Σ, δ, q0,F) em que• Q = Q1 × Q2 = {(r1, r2) | r1 ∈ Q1 e r2 ∈ Q2}• Para (r1, r2) ∈ Q e x ∈ Σ, δ((r1, r2), x) = ( δ1(r1, x), δ2(r2, x) )
• q0 = (q1, q2)
• F = {(r1, r2) | r1 ∈ F1 ou r2 ∈ F2}
Note que L(M) = A1 ∪ A2 porque
δ̂(q0, ω) = (ri, rj) ⇔ δ̂1(q1, ω) = ri e δ̂2(q2, ω) = rj .
43
![Page 90: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/90.jpg)
União
TeoremaA união de duas linguagens regulares é regular.
Demonstração.Sejam A1 e A2 duas linguagens regulares. Por definição, existem AFDsM1 = (Q1,Σ, δ1, q1,F1) e M2 = (Q2,Σ, δ2, q2,F2) que as reconhecem,respectivamente.A ideia é criar um AFD que reconhece A1 ∪ A2 fazendo-o simular M1 e M2simultaneamente. Para isso, o AFD precisa lembrar qual o estado ativo em M1 e qualo estado ativo em M2 em cada momento da entrada.Seja M = (Q,Σ, δ, q0,F) em que
• Q = Q1 × Q2 = {(r1, r2) | r1 ∈ Q1 e r2 ∈ Q2}• Para (r1, r2) ∈ Q e x ∈ Σ, δ((r1, r2), x) = ( δ1(r1, x), δ2(r2, x) )
• q0 = (q1, q2)
• F = {(r1, r2) | r1 ∈ F1 ou r2 ∈ F2}
Note que L(M) = A1 ∪ A2 porque
δ̂(q0, ω) = (ri, rj) ⇔ δ̂1(q1, ω) = ri e δ̂2(q2, ω) = rj .
43
![Page 91: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/91.jpg)
União
TeoremaA união de duas linguagens regulares é regular.
Demonstração.Sejam A1 e A2 duas linguagens regulares. Por definição, existem AFDsM1 = (Q1,Σ, δ1, q1,F1) e M2 = (Q2,Σ, δ2, q2,F2) que as reconhecem,respectivamente.A ideia é criar um AFD que reconhece A1 ∪ A2 fazendo-o simular M1 e M2simultaneamente. Para isso, o AFD precisa lembrar qual o estado ativo em M1 e qualo estado ativo em M2 em cada momento da entrada.Seja M = (Q,Σ, δ, q0,F) em que
• Q = Q1 × Q2 = {(r1, r2) | r1 ∈ Q1 e r2 ∈ Q2}• Para (r1, r2) ∈ Q e x ∈ Σ, δ((r1, r2), x) = ( δ1(r1, x), δ2(r2, x) )
• q0 = (q1, q2)
• F = {(r1, r2) | r1 ∈ F1 ou r2 ∈ F2}
Note que L(M) = A1 ∪ A2 porque
δ̂(q0, ω) = (ri, rj) ⇔ δ̂1(q1, ω) = ri e δ̂2(q2, ω) = rj .
43
![Page 92: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/92.jpg)
União - Outra demonstração
TeoremaA união de duas linguagens regulares é regular.
Ideia da demonstração.Criar um único AFN que reconhece A1 ∪ A2 se aproveitando da onisciência do nãodeterminismo:
44
![Page 93: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/93.jpg)
União - Outra demonstração
TeoremaA união de duas linguagens regulares é regular.
Demonstração.Sejam A1 e A2 duas linguagens regulares. Por definição, existem AFNsN1 = (Q1,Σ, δ1, q1,F1) e N2 = (Q2,Σ, δ2, q2,F2) que as reconhecem,respectivamente.
Construa N = (Q,Σ, δ, q0,F) em que• Q = {q0} ∪ Q1 ∪ Q2• Para q ∈ Q e x ∈ Σ ∪ {ε},
δ(q, x) =
δ1(q, x) se q ∈ Q1
δ2(q, x) se q ∈ Q2
{q1, q2} se q = q0 e x = ε
∅ se q = q0 e x ̸= ε
• F = F1 ∪ F2
Note que L(N) = A1 ∪ A2 porque …
45
![Page 94: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/94.jpg)
União - Outra demonstração
TeoremaA união de duas linguagens regulares é regular.
Demonstração.Sejam A1 e A2 duas linguagens regulares. Por definição, existem AFNsN1 = (Q1,Σ, δ1, q1,F1) e N2 = (Q2,Σ, δ2, q2,F2) que as reconhecem,respectivamente.Construa N = (Q,Σ, δ, q0,F) em que
• Q = {q0} ∪ Q1 ∪ Q2• Para q ∈ Q e x ∈ Σ ∪ {ε},
δ(q, x) =
δ1(q, x) se q ∈ Q1
δ2(q, x) se q ∈ Q2
{q1, q2} se q = q0 e x = ε
∅ se q = q0 e x ̸= ε
• F = F1 ∪ F2
Note que L(N) = A1 ∪ A2 porque …45
![Page 95: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/95.jpg)
Concatenação
TeoremaA concatenação de duas linguagens regulares é regular.
Ideia da demonstração.Criar um único AFN que reconhece A1A2 se aproveitando da onisciência do nãodeterminismo:
46
![Page 96: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/96.jpg)
Concatenação
TeoremaA concatenação de duas linguagens regulares é regular.
Demonstração.Sejam A1 e A2 duas linguagens regulares. Por definição, existem AFNsN1 = (Q1,Σ, δ1, q1,F1) e N2 = (Q2,Σ, δ2, q2,F2) que as reconhecem,respectivamente.
Seja N = (Q,Σ, δ, q0,F) em que• Q = Q1 ∪ Q2• Para q ∈ Q e x ∈ Σ ∪ {ε},
δ(q, x) =
δ1(q, x) se q ∈ Q1 e q /∈ F1
δ1(q, x) se q ∈ F1 e x ̸= ε
δ1(q, x) ∪ {q2} se q ∈ F1 e x = ε
δ2(q, x) se q ∈ Q2
• q0 = q1• F = F2
Note que L(N) = A1A2 porque …
47
![Page 97: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/97.jpg)
Concatenação
TeoremaA concatenação de duas linguagens regulares é regular.
Demonstração.Sejam A1 e A2 duas linguagens regulares. Por definição, existem AFNsN1 = (Q1,Σ, δ1, q1,F1) e N2 = (Q2,Σ, δ2, q2,F2) que as reconhecem,respectivamente.Seja N = (Q,Σ, δ, q0,F) em que
• Q = Q1 ∪ Q2• Para q ∈ Q e x ∈ Σ ∪ {ε},
δ(q, x) =
δ1(q, x) se q ∈ Q1 e q /∈ F1
δ1(q, x) se q ∈ F1 e x ̸= ε
δ1(q, x) ∪ {q2} se q ∈ F1 e x = ε
δ2(q, x) se q ∈ Q2
• q0 = q1• F = F2
Note que L(N) = A1A2 porque … 47
![Page 98: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/98.jpg)
Estrela
TeoremaA estrela de uma linguagem regular é regular.
Ideia da demonstração.Criar um único AFN que reconhece A∗ se aproveitando da onisciência do nãodeterminismo:
48
![Page 99: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/99.jpg)
Estrela
TeoremaA estrela de uma linguagem regular é regular.
Demonstração.Sejam A uma linguagem regular. Por definição, existe um AFNN1 = (Q1,Σ, δ1, q1,F1) que a reconhece.
Seja N = (Q,Σ, δ, q0,F) em que• Q = {q0} ∪ Q1• Para q ∈ Q e x ∈ Σ ∪ {ε},
δ(q, x) =
δ1(q, x) se q ∈ Q1 e q /∈ F1
δ1(q, x) se q ∈ Q1 e x ̸= ε
δ1(q, x) ∪ {q1} se q ∈ F1 e x = ε
{q1} se q = q0 e x = ε
∅ se q = q0 e x ̸= ε
• F = {q0} ∪ F1
Note que L(N) = A∗ porque …
49
![Page 100: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/100.jpg)
Estrela
TeoremaA estrela de uma linguagem regular é regular.
Demonstração.Sejam A uma linguagem regular. Por definição, existe um AFNN1 = (Q1,Σ, δ1, q1,F1) que a reconhece.Seja N = (Q,Σ, δ, q0,F) em que
• Q = {q0} ∪ Q1• Para q ∈ Q e x ∈ Σ ∪ {ε},
δ(q, x) =
δ1(q, x) se q ∈ Q1 e q /∈ F1
δ1(q, x) se q ∈ Q1 e x ̸= ε
δ1(q, x) ∪ {q1} se q ∈ F1 e x = ε
{q1} se q = q0 e x = ε
∅ se q = q0 e x ̸= ε
• F = {q0} ∪ F1
Note que L(N) = A∗ porque …49
![Page 101: professor.ufabc.edu.brprofessor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/automatos.p… · Autômatos finitos não determinísticos - Computação Ideia: o estado inicial fica](https://reader033.fdocuments.mx/reader033/viewer/2022042807/5f7ed35e40b90158fb71202d/html5/thumbnails/101.jpg)
Estrela
Por que a demonstração do fechamento sob estrela precisou criarum estado inicial novo?
q1 q2 q3
a,b
b a
50