Page 2
2
Um alfabeto é um cojunto finito de símbolos
String (ou palavra): sequência de símbolos
Exemplos: “cat”, “dog”, “house”, …
Definida sobre um alfabeto:
Linguagens
zcba ,,,,
zcba ,,,,
Page 3
3
Uma linguagem é um conjunto de strings sobre um determinado alfabeto
: Conjunto de todos os strings sobre o alfabeto
Linguagens
*
Page 4
4
Alfabeto e StringsVamos usar alfabetos pequenos:
Strings
abbawbbbaaavabu
ba,
baaabbbaabababaabbaaba
Page 5
5
Operações sobre Strings
m
nbbbvaaaw
21
21
bbbaaaabba
mn bbbaaawv 2121
Concatenação
abbabbbaaa
Page 6
6
12aaaw nR
naaaw 21 ababaaabbb
Reverso
bbbaaababa
Page 7
7
Comprimento de um String
Comprimento:
Exemplos:
naaaw 21
nw
124
aaaabba
Page 8
8
Definição Recursiva de Comprimento
Para o string vazio:
Para qualquer string :
Exemplo:
Page 9
9
Comprimento de Concatenação
Exemplo:
vuuv
8538
5,3,
vuuvaababaabuv
vabaabvuaabu
Page 10
10
Prova de Comprimento de Concatenação
afirmação:
Prova: Indução Caso base:
Page 11
11
Hipótese de Indução:
para
Passo Indutivo: vamos provar para
vuuv
vuuv
Page 12
12
Passo IndutivoSeja onde
Da definição de length:
Da hipótese de indução:
Portanto:
Page 13
13
String vazioString sem nenhuma letra:
Observações:
abbaabbaabba
www
0
Page 14
14
SubstringSubstring de um string: subsequência de caracteres consecutivos
String Substring
bbabbabbaab
abbababbababbababbab
Page 15
15
Prefixo e Sufixo
Prefixos Sufixosabbab
abbababbaabbaba
babbabbbababbab uvw
prefixosufixo
Page 16
16
Outra Operação
Exemplo:
Definição:
n
n wwww
abbaabbaabba 2
0w
0abba
Page 17
17
A Operação * : o conjunto de todos os possíveis strings
do alfabeto
*
,,,,,,,,,*,
aabaaabbbaabaababa
Page 18
18
A Operação + : o conjunto de todos os possíveis strings do alfabeto exceto
,,,,,,,,,*,
aabaaabbbaabaababa
,,,,,,,, aabaaabbbaabaaba
Page 19
19
LinguagemUma linguagem é qualquer subconjunto de
Exemplo:
Linguagens:
*
,,,,,,,,*,
aaabbbaabaababa
},,,,,{,,
aaaaaaabaababaabbaaabaaa
Page 20
20
Outro Exemplo
Uma linguagem infinita }0:{ nbaL nn
aaaaabbbbbaabbab
L Labb
Page 21
21
Operações sobre LinguagensOperações usuais sobre conjuntos
Complemento:
aaaaaabbbaaaaaba
ababbbaaaaabaaaaabbabaabbbaaaaaba
,,,,}{,,,
},,,{,,,
LL *
,,,,,,, aaabbabaabbaa
Page 22
22
Reverso
Definição:
Exemplos:
}:{ LwwL RR
ababbaabababaaabab R ,,,,
}0:{
}0:{
nabL
nbaL
nnR
nn
Page 23
23
Concatenação
Definição:
Exemplo:
2121 ,: LyLxxyLL
baaabababaaabbaaaab
aabbaaba
,,,,,
,,,
Page 24
24
Outra OperaçãoDefinição:
Caso epecial:
n
n LLLL
bbbbbababbaaabbabaaabaaa
babababa,,,,,,,
,,,, 3
0
0
,, aaabbaa
L
Page 25
25
Mais Exemplos
}0:{ nbaL nn
}0,:{2 mnbabaL mmnn
2Laabbaaabbb
Page 26
26
Fecho de Kleene *
Definição:
Exemplo:
210* LLLL
,,,,,,,,
,,,
*,
abbbbabbaaabbaaabbbbbbaabbaa
bbabba
Page 27
27
Fecho Positivo
Definição:
*
21
LLLL
,,,,,,,,
,,,
abbbbabbaaabbaaabbbbbbaabbaa
bbabba
Page 28
28
Autômato Finito
Page 29
29
Autômato Finito
Entrada
String
Saída
String
AutômatoFinito
Page 30
30
Aceitador Finito
Entrada
“Aceita” ou“Rejeita”
String
AutômatoFinito
Saída
Page 31
31
Grafo deTransição
estadoinicial
estado final “aceita”estado
transição
Autômato Finito para abba
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
Page 32
32
Configuração Inicial
1q 2q 3q 4qa b b a
5q
a a bb
ba,
String de Entradaa b b a
ba,0q
Page 33
33
Lendo a Entrada
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
Page 34
34
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
Page 35
35
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
Page 36
36
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
Page 37
37
0q 1q 2q 3q 4qa b b a
Saída: “aceita”
5q
a a bb
ba,
a b b a
ba,
Page 38
38
Rejeição
1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,0q
Page 39
39
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
Page 40
40
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
Page 41
41
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
Page 42
42
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,Saída:“rejeita”
a b a
ba,
Page 43
43
Outro Exemplo
a
b ba,
ba,
0q 1q 2q
a ba
Page 44
44
a
b ba,
ba,
0q 1q 2q
a ba
Page 45
45
a
b ba,
ba,
0q 1q 2q
a ba
Page 46
46
a
b ba,
ba,
0q 1q 2q
a ba
Page 47
47
a
b ba,
ba,
0q 1q 2q
a ba
Saída: “aceita”
Page 48
48
Rejeição
a
b ba,
ba,
0q 1q 2q
ab b
Page 49
49
a
b ba,
ba,
0q 1q 2q
ab b
Page 50
50
a
b ba,
ba,
0q 1q 2q
ab b
Page 51
51
a
b ba,
ba,
0q 1q 2q
ab b
Page 52
52
a
b ba,
ba,
0q 1q 2q
ab b
Saída: “rejeita”
Page 53
53
FormalizaçãoAutômato Finito Determinista (DFA)
FqQM ,,,, 0
Q
0q
F
: conjunto de estados
: alfabeto de entrada
: função de transição
: estado inicial
: conjunto de estados finais
Page 54
54
Alfabeto de Entrada
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
ba,
Page 55
55
Conjunto de Estados
Q
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
543210 ,,,,, qqqqqqQ
ba,
Page 56
56
Estado Inicial
0q
1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,0q
Page 57
57
Conjunto de Estados Finais
F
0q 1q 2q 3qa b b a
5q
a a bb
ba,
4qF
ba,
4q
Page 58
58
Função de Transição
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
QQ :
ba,
Page 59
59
10 , qaq
2q 3q 4qa b b a
5q
a a bb
ba,
ba,0q 1q
Page 60
60
50 , qbq
1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,0q
Page 61
61
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
32 , qbq
Page 62
62
Função deTransição
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b0q
1q
2q
3q
4q
5q
1q 5q
5q 2q
2q 3q
4q 5q
ba,5q5q5q5q
Page 63
63
Função deTransição Extendida
*
QQ *:*
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
Page 64
64
20 ,* qabq
3q 4qa b b a
5q
a a bb
ba,
ba,0q 1q 2q
Page 65
65
40 ,* qabbaq
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
Page 66
66
50 ,* qabbbaaq
1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,0q
Page 67
67
50 ,* qabbbaaq
1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,0q
Observação: Existe um caminho de para com rótulo
0qabbbaa
Page 68
68
Definição Recursiva
)),,(*(,*,*
awqwaqqq
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
Page 69
69
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
2
10
00
0
,,,
,,,*),,(*
,*
qbq
baqbaq
baqabq
Page 70
70
Linguagens Aceitas por DFAsSeja um DFA
Definição:A linguagem contém todos os strings aceitos por
= {strings que levam a um estado final }
M
MLM
M ML
Page 71
71
Exemplo
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
abbaML M
aceita
Page 72
72
Outro Exemplo
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
abbaabML ,, M
aceitaaceitaaceita
Page 73
73
Formalmente
Dado um DFA
Linguagem aceita por :
FqQM ,,,, 0
M
FwqwML ,*:* 0
alfabeto função detransição
estadoinicial
estadosfinais
Page 74
74
Observação Linguagem aceita por :
Linguagem rejeitada por :
FwqwML ,*:* 0
M
FwqwML ,*:* 0
M
Page 75
75
Mais Exemplos
a
b ba,
ba,
0q 1q 2q
}0:{ nbaML n
aceita estado de erro
Page 76
76
ML = { todos os strings com prefixo }
ab
a b
ba,
0q 1q 2q
aceita
ba,3q
ab
Page 77
77
ML= { todos os strings que não contêm o substring }001
0 00 001
1
0
110
0 1,0
Page 78
78
Linguagens Regulares
Uma linguagem é regular se existe um DFA tal que
O conjunto de todas as linguagens regulares constitui uma classe de linguagens
LM MLL
Page 79
79
ExemploA linguagemé regular:
*,: bawawaL
a
b
ba,
a
b
ba
0q 2q 3q
4q