linguagens formais e autômatas dfa
TRANSCRIPT
-
7/24/2019 Linguagens formais e autmatas DFA
1/56
1
Linguagens
-
7/24/2019 Linguagens formais e autmatas DFA
2/56
2
Um alfabeto um cojunto finito de smbolos
String (ou palavra): sequncia de smbolosExemplos: cat, dog, house,
Definida sobre um alfabeto:
Linguagens
{ }zcba ,,,, K=
cba ,,,, K=
-
7/24/2019 Linguagens formais e autmatas DFA
3/56
3
Uma linguagem um conjunto de stringssobre um determinado alfabeto
: Conjunto de todos os strings sobre o
alfabeto
Linguagens
*
L
L *
-
7/24/2019 Linguagens formais e autmatas DFA
4/56
4
Alfabeto e Strings
Vamos usar alfabetos pequenos:
Strings
abbaw
bbbaaavabu
=
=
=
ba,=
baaabbbaaba
baba
abba
ab
a
-
7/24/2019 Linguagens formais e autmatas DFA
5/56
5
Operaes sobre Strings
m
n
bbbv
aaaw
L
L
21
21
=
=
bbbaaa
abba
mn bbbaaawv LL
2121=
Concatenao
abbabbbaaa
-
7/24/2019 Linguagens formais e autmatas DFA
6/56
6
12aaaw nR
L=
naaaw L21= ababaaabbb
Reverso
bbbaaababa
-
7/24/2019 Linguagens formais e autmatas DFA
7/56
7
Comprimento de um String
Comprimento:
Exemplos:
naaaw L21=
nw =
1
2
4
=
=
=
a
aa
abba
-
7/24/2019 Linguagens formais e autmatas DFA
8/56
8
Definio Recursiva de Comprimento
Para o string vazio:
Para qualquer string :
Exemplo:
= 0
aw =1+ wa
abba =1+ bba=1+1+ ba
=1+1+1+ a=1+1+1+1
= 4
-
7/24/2019 Linguagens formais e autmatas DFA
9/56
9
Comprimento de Concatenao
Exemplo:
vuuv +=
853
8
5,
3,
=+=+=
==
==
==
vuuv
aababaabuv
vabaabv
uaabu
-
7/24/2019 Linguagens formais e autmatas DFA
10/56
10
Prova de Comprimento de Concatenao
afirmao:
Prova: InduoCaso base:
uv= u+ v
uv = v pela definio de concatenao
= 0+ v aritmmtica
= u+ v pela definio de length
u=
-
7/24/2019 Linguagens formais e autmatas DFA
11/56
11
Hiptese de Induo:
para
Passo Indutivo: vamos provar
para
vuuv +=
u =
1,2, ,n
1
u = n
vuuv +=
-
7/24/2019 Linguagens formais e autmatas DFA
12/56
12
Passo Indutivo
Seja onde
Da definio de length:
Da hiptese de induo:
Portanto:
u= a w = n1, a =1
uv = awv =1+ wv
wv = w+ v
uv=1+ w+ v= aw+ v = u+ v
-
7/24/2019 Linguagens formais e autmatas DFA
13/56
13
String vazio
String sem nenhuma letra:
Observaes:
abbaabbaabba
www
==
==
=
0
-
7/24/2019 Linguagens formais e autmatas DFA
14/56
14
Substring
Substring de um string:subsequncia de caracteres consecutivos
String Substring
bbab
b
abba
ab
abbab
abbab
abbab
abbab
-
7/24/2019 Linguagens formais e autmatas DFA
15/56
15
Prefixo e Sufixo
Prefixos Sufixosabbab
abbab
abba
abb
ab
a
b
ab
bab
bbab
abbab uvw =
prefixosufixo
-
7/24/2019 Linguagens formais e autmatas DFA
16/56
16
Outra Operao
Exemplo:
Definio:
43421L
n
nwwww =
( ) abbaabbaabba =2
=0
w
( ) =0abba
-
7/24/2019 Linguagens formais e autmatas DFA
17/56
17
A Operao *
: o conjunto de todos os possveis stringsdo alfabeto
*
{ }
{ }K
,,,,,,,,,*
,
aabaaabbbaabaaba
ba
=
=
-
7/24/2019 Linguagens formais e autmatas DFA
18/56
18
A Operao +
: o conjunto de todos os possveis stringsdo alfabeto exceto
+
{ }
{ }K
,,,,,,,,,*
,
aabaaabbbaabaaba
ba
=
=
+
= *{}
{ }K,,,,,,,, aabaaabbbaabaaba=+
-
7/24/2019 Linguagens formais e autmatas DFA
19/56
19
Linguagem
Uma linguagem qualquer subconjunto de
Exemplo:
Linguagens:
*
{ }{ }K,,,,,,,,*,
aaabbbaabaaba
ba
=
=
{ }
},,,,,{
,,
aaaaaaabaababaabba
aabaaa
-
7/24/2019 Linguagens formais e autmatas DFA
20/56
20
Outro Exemplo
Uma linguagem infinita }0:{ = nbaL nn
aaaaabbbbbaabb
ab
L abb
-
7/24/2019 Linguagens formais e autmatas DFA
21/56
21
Operaes sobre Linguagens
Operaes usuais sobre conjuntos
Complemento:
{ } { }
{ } { }
{ } { } { }aaaaaabbbaaaaaba
ababbbaaaaaba
aaaabbabaabbbaaaaaba
,,,,
}{,,,
},,,{,,,
=
=
=
I
U
LL = *
{ } { }K,,,,,,, aaabbabaabbaa =
-
7/24/2019 Linguagens formais e autmatas DFA
22/56
22
Reverso
Definio:
Exemplos:
}:{ LwwL RR =
{ } { }ababbaabababaaabab R ,,,, =
}0:{
}0:{
=
=
nabL
nbaL
nnR
nn
-
7/24/2019 Linguagens formais e autmatas DFA
23/56
23
Concatenao
Definio:
Exemplo:
2121 ,: LyLxxyLL =
{ }{ }
{ }baaabababaaabbaaaab
aabbaaba
,,,,,
,,,
=
-
7/24/2019 Linguagens formais e autmatas DFA
24/56
24
Outra Operao
Definio:
Caso epecial:
321L
n
nLLLL =
{ } { }{ }{ }
{ }bbbbbababbaaabbabaaabaaa
babababa
,,,,,,,
,,,,
3==
{ }
{ } { }
=
=
0
0
,, aaabbaa
L
-
7/24/2019 Linguagens formais e autmatas DFA
25/56
25
Mais Exemplos
}0:{ = nbaL nn
}0,:{2
= mnbabaL
mmnn
2Laabbaaabbb
-
7/24/2019 Linguagens formais e autmatas DFA
26/56
26
Fecho de Kleene *
Definio:
Exemplo:
LUU 210
* LLLL =
{ }
=
K,,,,
,,,,
,,
,
*,
abbbbabbaaabbaaa
bbbbbbaabbaa
bba
bba
-
7/24/2019 Linguagens formais e autmatas DFA
27/56
27
Fecho Positivo
Definio:
{ }=
=+
*
21
L
LLL LUU
{ }
=+
K,,,,
,,,,
,,
,
abbbbabbaaabbaaa
bbbbbbaabbaa
bba
bba
-
7/24/2019 Linguagens formais e autmatas DFA
28/56
28
Autmato Finito
-
7/24/2019 Linguagens formais e autmatas DFA
29/56
29
Autmato Finito
Entrada
StringSada
String
Autmato
Finito
-
7/24/2019 Linguagens formais e autmatas DFA
30/56
30
Aceitador Finito
Entrada
Aceita
ou
Rejeita
String
Autmato
Finito
Sada
-
7/24/2019 Linguagens formais e autmatas DFA
31/56
31
Grafo deTransio
estado
inicial
estado
finalaceitaestado
transio
Autmato Finito para abba
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
ba,
-
7/24/2019 Linguagens formais e autmatas DFA
32/56
32
Configurao Inicial
1q 2q 3q 4qa b b a
5q
a a bb
ba,
String de Entradaa b b a
ba,
0q
-
7/24/2019 Linguagens formais e autmatas DFA
33/56
33
Lendo a Entrada
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
-
7/24/2019 Linguagens formais e autmatas DFA
34/56
34
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
-
7/24/2019 Linguagens formais e autmatas DFA
35/56
35
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
-
7/24/2019 Linguagens formais e autmatas DFA
36/56
36
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b b a
ba,
-
7/24/2019 Linguagens formais e autmatas DFA
37/56
37
0q 1q 2q 3q 4qa b b a
Sada:
aceita
5q
a a bb
ba,
a b b a
ba,
R j i
-
7/24/2019 Linguagens formais e autmatas DFA
38/56
38
Rejeio
1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
0q
-
7/24/2019 Linguagens formais e autmatas DFA
39/56
39
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
-
7/24/2019 Linguagens formais e autmatas DFA
40/56
40
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
-
7/24/2019 Linguagens formais e autmatas DFA
41/56
41
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
a b a
ba,
-
7/24/2019 Linguagens formais e autmatas DFA
42/56
42
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
Sada:
rejeita
a b a
ba,
Outro Exemplo
-
7/24/2019 Linguagens formais e autmatas DFA
43/56
43
Outro Exemplo
a
b ba,
ba,
0q 1q 2q
a ba
-
7/24/2019 Linguagens formais e autmatas DFA
44/56
44
a
b ba,
ba,
0q 1q 2q
a ba
-
7/24/2019 Linguagens formais e autmatas DFA
45/56
45
a
b ba,
ba,
0q 1q 2q
a ba
-
7/24/2019 Linguagens formais e autmatas DFA
46/56
46
a
b ba,
ba,
0q 1q 2q
a ba
-
7/24/2019 Linguagens formais e autmatas DFA
47/56
47
a
b ba,
ba,
0q 1q 2q
a ba
Sada:aceita
Rejeio
-
7/24/2019 Linguagens formais e autmatas DFA
48/56
48
Rejeio
a
b ba,
ba,
0q 1q 2q
ab b
-
7/24/2019 Linguagens formais e autmatas DFA
49/56
49
a
b ba,
ba,
0q 1q 2q
ab b
-
7/24/2019 Linguagens formais e autmatas DFA
50/56
50
a
b ba,
ba,
0q 1q 2q
ab b
-
7/24/2019 Linguagens formais e autmatas DFA
51/56
51
a
b ba,
ba,
0q 1q 2q
ab b
-
7/24/2019 Linguagens formais e autmatas DFA
52/56
52
a
b ba,
ba,
0q 1q 2q
ab b
Sada: rejeita
Formalizao
-
7/24/2019 Linguagens formais e autmatas DFA
53/56
53
Formal zao
Autmato Finito Determinista (DFA)
( )FqQM ,,,, 0=
Q
0q
F
: conjunto de estados
: alfabeto de entrada: funo de transio
: estado inicial
: conjunto de estados finais
Alfabeto de Entrada
-
7/24/2019 Linguagens formais e autmatas DFA
54/56
54
0q 1q 2q 3q 4qa b b a
5q
a a bb
ba,
{ }ba,=
ba,
Conjunto de Estados Q
-
7/24/2019 Linguagens formais e autmatas DFA
55/56
55
onjunto Esta os Q
0q 1q 2q 3q 4qa b b a
5q
a a
bb
ba,
543210 ,,,,, qqqqqqQ =
ba,
Estado Inicial 0q
-
7/24/2019 Linguagens formais e autmatas DFA
56/56
56
0q
1q 2q 3q 4qa
b b a
5q
a a bb
ba,
ba,
0q