conversão de um nfa para um dfa com um exemplo
Post on 10-Jan-2016
44 Views
Preview:
DESCRIPTION
TRANSCRIPT
Aula 71
Conversão de um NFA para um DFA com um exemplo
Compiladores, Aula Nº 7 (suplementos)
João M. P. Cardoso
Aula 72
NFA para DFA NFA para (0 | 1)*.(0 | 1)*
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
Aula 73
NFA para DFA Começar pelo estado início do NFA (estado 1)
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
Aula 74
NFA para DFA Agrupar todos os estado que possam ser
alcançados do estado 1 com transições
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
Aula 75
NFA para DFA O agrupamento forma o estado início do DFA
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8
Aula 76
NFA para DFA Agora determinamos as transições sobre o
alfabeto que podem ocorrer deste estado
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8
Aula 77
NFA para DFA Agora determinamos as transições sobre o
alfabeto que podem ocorrer deste estado
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8
0
1
Aula 78
NFA para DFA Para cada transição vamos encontrar no NFA os estados
destino a partir dos estados agrupados no DFA
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8
0
1
Aula 79
NFA para DFA Para a transição do “.” (ocorre do estado 8 para
o 9)
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8
Aula 710
NFA para DFA O estado é dado pelo agrupamento dos estados que
sendo alcançáveis com . são depois alcançáveis com
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8 9,10,11,12,16
Aula 711
NFA para DFA Como o estado 16 é um estado de aceitação no NFA
então o estado (9, 10, 11, 12, 16) é um estado de aceitação no DFA pois inclui o estado 16
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8 9,10,11,12,16
Aula 712
NFA para DFA Para a transição do “1” (ocorre do estado 3
para o 5)
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8 9,10,11,12,1615,7,2,3,4,8
Aula 713
NFA para DFA O estado é dado pelo agrupamento dos estados que
sendo alcançáveis com 1 são depois alcançáveis com
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8 9,10,11,12,1615,7,2,3,4,8
Aula 714
NFA para DFA Para a transição do “0” (ocorre do estado 4
para o 6)
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8 9,10,11,12,1615,7,2,3,4,8
0
Aula 715
NFA para DFA O estado é dado pelo agrupamento dos estados que
sendo alcançáveis com 0 são depois alcançáveis com
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8 9,10,11,12,1615,7,2,3,4,8
0 6,7,2,3,4,8
Aula 716
NFA para DFA Percorremos todas as transições possíveis do
estado início do DFA
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8 9,10,11,12,1615,7,2,3,4,8
0 6,7,2,3,4,8
Aula 717
NFA para DFA Agora vamos fazer o mesmo para os outros
estados entretanto adicionados ao DFA
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8 9,10,11,12,1615,7,2,3,4,8
0 6,7,2,3,4,8
Aula 718
NFA para DFA Vamos começar por exemplo pelo estado (5, 7,
2, 3, 4, 8)
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8 9,10,11,12,1615,7,2,3,4,8
0 6,7,2,3,4,8
Aula 719
NFA para DFA Para a transição do “1” (ocorre do estado 3
para o 5)
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8 9,10,11,12,1615,7,2,3,4,8
0 6,7,2,3,4,8
1
Aula 720
NFA para DFA O estado é dado pelo agrupamento dos estados que
sendo alcançáveis com 1 são depois alcançáveis com
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8 9,10,11,12,1615,7,2,3,4,8
0 6,7,2,3,4,8
1
Aula 721
NFA para DFA Para a transição do “0” (ocorre do estado 4
para o 6)
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8 9,10,11,12,1615,7,2,3,4,8
0 6,7,2,3,4,8
1
Aula 722
NFA para DFA O estado é dado pelo agrupamento dos estados que
sendo alcançáveis com 0 são depois alcançáveis com
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8 9,10,11,12,1615,7,2,3,4,8
0 6,7,2,3,4,8
1
0
Aula 723
NFA para DFA Para a transição do “.” (ocorre do estado 8
para o 9)
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8 9,10,11,12,1615,7,2,3,4,8
0 6,7,2,3,4,8
1
0
Aula 724
NFA para DFA O estado é dado pelo agrupamento dos estados que
sendo alcançáveis com . são depois alcançáveis com
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8 9,10,11,12,1615,7,2,3,4,8
0 6,7,2,3,4,8
1
0
Aula 725
NFA para DFA Da continuação da aplicação do algoritmo
resultaria
1 2
3
4
5
6
1
0
7
8
9 10
11
12
13
14
1
0
15
16
.
1,2,3,4,8
5,7,2,3,4,8
6,7,2,3,4,8
9,10,11,12,16
13,15,10,11,12,16
14,15,10,11,12,16
1
0
1
0
10
10
00
1 1
top related