Академический Документы
Профессиональный Документы
Культура Документы
Linguagens
Um alfabeto um cojunto finito de smbolos
= {a, b, c,K, z}
String (ou palavra): sequncia de smbolos
Exemplos: cat, dog, house,
Definida sobre um alfabeto:
= {a, b, c,K, z}
2
Linguagens
Uma linguagem L um conjunto de strings
sobre um determinado alfabeto
L *
Alfabeto e Strings
Vamos usar alfabetos pequenos:
= {a, b}
Strings
a
ab
u = ab
abba
v = bbbaaa
w = abba
baba
aaabbbaabab
w = a1a2 L an
abba
v = b1b2 Lbm
bbbaaa
Concatenao
abbabbbaaa
5
w = a1a2 L an
ababaaabbb
Reverso
w = an L a2a1
bbbaaababa
6
Comprimento de um String
w = a1a2 L an
Comprimento:
Exemplos:
w =n
abba = 4
aa = 2
a =1
7
=0
aw = 1+ w
abba = 1+ bba
= 1+1+ ba
= 1+1+1+ a
= 1+1+1+1
=4
Comprimento de Concatenao
uv = u + v
Exemplo:
u = aab, u = 3
v = abaab, v = 5
uv = aababaab = 8
uv = u + v = 3 + 5 = 8
9
uv = u + v
Prova: Induo
Caso base: u =
uv = v
= 0+ v
= u+ v
Hiptese de Induo:
uv = u + v
para u = 1, 2,
, n 1
uv = u + v
u =n
11
Seja
Passo Indutivo
u = aw onde w = n1, a = 1
Da definio de length:
uv = awv = 1+ wv
Da hiptese de induo:
wv = w + v
Portanto:
uv = 1+ w + v = aw + v = u + v
12
String vazio
String sem nenhuma letra:
Observaes:
=0
w = w = w
abba = abba = abba
13
Substring
Substring de um string:
subsequncia de caracteres consecutivos
String
Substring
abbab
ab
abbab
abbab
abbab
abba
b
bbab
14
Prefixo e Sufixo
abbab
Prefixos
Sufixos
a
ab
abb
abba
abbab
abbab
bbab
bab
ab
b
w = uv
prefixo
sufixo
15
Outra Operao
n
w =1
ww
L
w
42
4
3
n
Exemplo:
Definio:
(abba ) = abbaabba
0
w =
0
(abba ) =
16
A Operao *
= {a, b}
* = { , a, b, aa, ab, ba, bb, aaa, aab,K}
17
A Operao +
+ : o conjunto de todos os possveis strings
do alfabeto exceto
= {a, b}
* = { , a, b, aa, ab, ba, bb, aaa, aab,K}
+
= * {}
+
Linguagem
Uma linguagem qualquer subconjunto de
Exemplo:
= {a, b}
* = { , a, b, aa, ab, ba, bb, aaa,K}
Linguagens: { }
19
Outro Exemplo
Uma linguagem infinita
ab
aabb
aaaaabbbbb
n n
L = { a b : n 0}
abb L
20
L = * L
Reverso
Definio:
Exemplos:
L = {w : w L}
R
L = {a b : n 0}
R
n n
L = {b a : n 0}
22
Concatenao
Definio:
Exemplo:
Outra Operao
Definio:
L =1
LL2
L3
L
n
{a , bba , aaa }0 = {}
24
Mais Exemplos
n n
L = {a b : n 0}
2
n n m m
L = {a b a b : n, m 0}
2
aabbaaabbb L
25
Fecho de Kleene *
Definio:
L* = L U L U L L
Exemplo:
a, bb,
{a, bb}* =
Fecho Positivo
Definio:
L = L U L UL
= L * { }
a, bb,
+
{a, bb} = aa, abb, bba, bbbb,
27
Autmato Finito
28
Autmato Finito
Entrada
String
Sada
Autmato
Finito
String
29
Aceitador Finito
Entrada
String
Sada
Autmato
Finito
Aceita
ou
Rejeita
30
Grafo deTransio
Autmato Finito para abba a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
estado
inicial
transio
estado
a, b
q4
estado
final
aceita
31
Configurao Inicial
String de Entrada
a b b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
32
Lendo a Entrada
a b b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
33
a b b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
34
a b b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
35
a b b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
36
a b b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
Sada: aceita
37
Rejeio
a b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
38
a b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
39
a b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
40
a b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
41
a b a
a, b
b
q0 a
Sada:
q5 rejeita
a, b
a
a
b
q1 b q2 b q3 a
q4
42
Outro Exemplo
a a b
a, b
q0
q1
a, b
q2
43
a a b
a, b
q0
q1
a, b
q2
44
a a b
a, b
q0
q1
a, b
q2
45
a a b
a, b
q0
q1
a, b
q2
46
a a b
a, b
a
Sada: aceita
q0
q1
a, b
q2
47
Rejeio
b a b
a, b
q0
q1
a, b
q2
48
b a b
a, b
q0
q1
a, b
q2
49
b a b
a, b
q0
q1
a, b
q2
50
b a b
a, b
q0
q1
a, b
q2
51
b a b
a, b
q0
q1
a, b
q2
Sada: rejeita
52
Formalizao
Autmato Finito Determinista (DFA)
M = (Q, , , q0 , F )
Q : conjunto de estados
: alfabeto de entrada
: funo de transio
q0 : estado inicial
Alfabeto de Entrada
= {a, b}
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
54
Conjunto de Estados Q
Q = {q0 , q1, q2 , q3 , q4 , q5 }
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
55
Estado Inicial q0
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
56