Академический Документы
Профессиональный Документы
Культура Документы
nguagensFor
mai
se
Aut
mat
os
Paul
oBl
aut
hMenez
es
4 Propriedades das
Linguagens Regulares
4.1
4.2
4.3
4.4
4.5
4.6
Bombeamento para as LR
Investigao se LR
Operaes fechadas sobre as LR
Investigao se uma LR vazia, finita ou infinita
Igualdade de LR
Minimizao de um autmato finito
4 Propriedades das LR
Linguagens Formais e Autmatos
4 Propriedades das LR
LR podem ser representadas por formalismos
de pouca complexidade
de grande eficincia
de fcil implementao
AFD
AFN
AFN
GR
4 Propriedades das
Linguagens Regulares
4.1
4.2
4.3
4.4
4.5
4.6
Bombeamento para as LR
Investigao se LR
Operaes fechadas sobre as LR
Investigao se uma LR vazia, finita ou infinita
Igualdade de LR
Minimizao de um autmato finito
Ideia bsica
se uma linguagem regular, ento:
aceita por um AFD com n estados
se o autmato reconhece w de comprimento maior ou igual a n:
assume algum estado q mais de uma vez
existe um ciclo na funo programa que passa por q
10
v
q0
qf
11
Prova: (direta)
Se L uma LR, ento existe um AFD M = (, Q, , q0, F) tal que
ACEITA(M) = L
12
Suponha que
n o cardinal de Q
existe w = a1a2am palavra de L de comprimento m tal que m n
(q0, a1) = q1
(qm-1, am) = qm
qr = qs
(q0, a1ar) = qr
(qr, ar+1as) = qs
(qs, as+1am) = qm
13
Sejam:
u = a1ar
v = ar+1as
z = as+1am
Como r s n, ento:
v1
uvn
14
q0
q1
b
b
q2
qf
n=4
para w = abbba ???
qr = qs = ??
u = ??
v = ??
z = ??
15
q0
q1
b
b
q2
qf
n=4
para w = abbba
qr = qs = q1
u=a
v = bb
z = ba
16
Diversos bombeamentos???
duplo bombeamento: { anbm n 0 e m 0 }
triplo bombeamento: { anbmar n 0, m 0 e r 0 }
17
4 Propriedades das
Linguagens Regulares
4.1
4.2
4.3
4.4
4.5
4.6
Bombeamento para as LR
Investigao se LR
Operaes fechadas sobre as LR
Investigao se uma LR vazia, finita ou infinita
Igualdade de LR
Minimizao de um autmato finito
18
4.2 Investigao se LR
Mostrar que LR
representar usando um dos formalismos regulares
Mostrar que no LR
desenvolvida para cada caso
ferramenta til: lema do bombeamento
19
20
4 Propriedades das
Linguagens Regulares
4.1
4.2
4.3
4.4
4.5
4.6
Bombeamento para as LR
Investigao se LR
Operaes fechadas sobre as LR
Investigao se uma LR vazia, finita ou infinita
Igualdade de LR
Minimizao de um autmato finito
21
unio
concatenao
complemento
interseco
22
unio
concatenao
complemento
interseco
Prova:
Unio & Concatenao
Decorrem trivialmente da definio de expresso regular (por qu?)
23
Complemento: (direta)
Suponha L, LR sobre *. Ento existe AFD
M = (, Q, , q0, F)
tal que ACEITA(M) = L
Ideia
inverter condies ACEITA/REJEITA de M para reconhecer ~L
como fazer?
e se for no total (rejeitar por indefinio)?
24
(suponha d Q)
FC = QC - F
C como , adicionando as transies (para todo a e q Q)
C(q, a) = d
se (q, a) no definida
C(d, a) = d
Claramente, o autmato finito MC tal que
ACEITA(MC) = ~L
ou seja
ACEITA(MC) = REJEITA(M)
25
Interseco: (direta)
Suponha L1 e L2 LR
Propriedade de DeMorgan para conjuntos
L1 L2 = ~(~L1 ~L2)
Como a classe das LR fechada para complemento e unio, ento
tambm fechada para a interseco.
26
Exp: Complemento
M = ({ a, b }, { q0, q1, q2, qf }, , q0, { qf })
q0
q1
a,b
q2
a,b
qf
q1
a,b
q2
a,b
qf
a,b
a,b
27
4 Propriedades das
Linguagens Regulares
4.1
4.2
4.3
4.4
4.5
4.6
Bombeamento para as LR
Investigao se LR
Operaes fechadas sobre as LR
Investigao se uma LR vazia, finita ou infinita
Igualdade de LR
Minimizao de um autmato finito
28
29
Prova:
Infinita sse M aceita palavra w tal que n w 2n
( direta)
Verificar se M aceita alguma palavra w tal que n w 2n
processar o autmato para todas as entradas neste intervalo
se existe w L pode ser definida como w = u v z
uvn
v1
para todo i 0, u vi z palavra de L
Logo, L infinita
30
31
32
33
b
q0
q1
qf
34
4 Propriedades das
Linguagens Regulares
4.1
4.2
4.3
4.4
4.5
4.6
Bombeamento para as LR
Investigao se LR
Operaes fechadas sobre as LR
Investigao se uma LR vazia, finita ou infinita
Igualdade de LR
Minimizao de um autmato finito
35
Importante consequncia
existe um algoritmo que permite verificar se duas implementaes
so equivalentes
36
Prova: (direta)
Suponha M1 e M2 AF tais que ACEITA(M1) = L1 e ACEITA(M2) = L2
Portanto, possvel construir um AF M3 tal que ACEITA(M3) = L3
L3 = (L1 ~L2) (~L1 L2)
Claramente, L1 = L2 sse L3 vazia
existe um algoritmo para verificar se uma LR vazia
37
4 Propriedades das
Linguagens Regulares
4.1
4.2
4.3
4.4
4.5
4.6
Bombeamento para as LR
Investigao se LR
Operaes fechadas sobre as LR
Investigao se uma LR vazia, finita ou infinita
Igualdade de LR
Minimizao de um autmato finito
38
4.6 Minimizao de um AF
Simulador de AFD
exerccio
algoritmo que controla
mudana de estado do autmato
cada smbolo lido da entrada
tempo de processamento para aceitar ou rejeitar
diretamente proporcional ao tamanho da entrada
39
Complexidade de algoritmos
autmatos finitos pertencem classe de algoritmos mais eficientes
em termos de tempo de processamento
supondo que toda a fita de entrada necessita ser lida
Tempo de processamento
no depende do autmato considerado
qualquer AFD que reconhea a linguagem ter a mesma eficincia
Otimizao possvel
minimizao do nmero de estados
40
41
Algoritmo de minimizao
unifica os estados equivalentes
Estados equivalentes
processamento de uma entrada qualquer a partir de estados
equivalentes resulta na mesma condio de aceita
(q, w)
(p, w)
42
43
44
Algoritmo de minimizao
identifica os estados equivalentes por excluso
tabela de estados
marca estados no equivalentes
entradas no marcadas: estados equivalentes
45
...
qn
d
q0
q1
...
qn-1
qn
46
(qv, a) = pv
pu = pv
qu equivalente a qv para a: no marcar
pu pv e { pu, pv } no est marcado
{ qu, qv } includo na lista encabeada por { pu, pv }
pu pv e { pu, pv } est marcado
{ qu, qv } no equivalente: marcar
se { qu, qv } encabea uma lista: marcar todos os pares da lista (e,
recursivamente, se algum par da lista encabea outra lista)
Linguagens Formais e Autmatos
47
48
49
Exp: Minimizao
b
q0
q1
b
a
q2
q3
a
b
q4
b
a
q5
Pr-requisitos de minimizao???
50
q1
q2
q3
q4
51
52
{ q1, q2 }
(q1, a) = q1 (q1, b) = q0
(q2, a) = q4 (q2, b) = q5
{ q1, q4 } marcado: marca { q1, q2 }
{ q1, q2 } encabea uma lista: marca { q0, q4 }
{ q1, q3 }
(q1, a) = q1 (q1, b) = q0
(q3, a) = q5 (q3, b) = q4
{ q1, q5 } e { q0, q4 } so marcados: marca { q1, q3 }
{ q1, q3 } encabea uma lista: marca { q0, q5 }
53
{ q2, q3 }
(q2, a) = q4 (q2, b) = q5
(q3, a) = q5 (q3, b) = q4
{ q4, q5 } no marcado: inclui { q2, q3 } na lista de { q4, q5 }
{ q4, q5 }
(q4, a) = q3 (q4, b) = q2
(q5, a) = q2 (q5, b) = q3
{ q2, q3 } no marcado: inclui { q4, q5 } na lista de { q2, q3 }
54
q1
{q0, q5}
q2
{q0, q4}
q3
{q0, q4}
{q4, q5}
q4
{q2, q3}
q5
q0
q1
q2
q3
q4
55
q1
{q0, q5}
q2
{q0, q4}
q3
{q0, q4}
{q4, q5}
q4
{q2, q3}
q5
q0
q1
q2
q3
q4
56
q0
q1
q0
q1
q2
q3
q23
a
b
q4
b
a
a,b
a,b
q5
q45
57
58
Isomorfismo de AFD
diferenciam-se, eventualmente, na identificao dos estados
definio formal: no ser apresentada
como um autmato finito mnimo nico, a menos de isomorfismo
usual ser referido como o (e no como um) autmato mnimo
59
60