P. Blauth Menezes
blauth@inf.ufrgs.br
4 Propriedades das LR
Linguagens Formais e Autmatos - P. Blauth Menezes
4 Propriedades das LR
AFD
AFN
AFN
GR
Lema do Bombeamento
til no estudo das propriedades das LR
Idia 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 u q z 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
Como m n, ento existem r e s com 0 r < s n tais que q r = 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 Como qr = qs , ento: v reconhecida em um ciclo Portanto, para todo i 0, u vi z palavra de L e uvn
14
q0
q1
b b
q2
qf
15
q0
q1
b b
q2
qf
16
Diversos bombeamentos???
duplo bombeamento: { anbm n 0 e m 0 } triplo bombeamento: { anbmar n 0, m 0 e r 0 }
17
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
21
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 Idia inverter condies ACEITA/REJEITA de M para reconhecer ~L como fazer? e se for no-total (rejeitar por indefinio)?
24
Construo do AFD MC tal que ACEITA(MC) = ~L MC = (, QC, C, q0, FC) QC = Q { d } 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) (suponha d Q)
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
b a,b
a,b
27
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
Infinita sse M aceita palavra w tal que n w < 2n () Se L infinita, ento existe w tal que w n Duas possibilidades Caso 1 (direta): w < 2n prova est completa
31
Caso 2 (por absurdo): w 2n Suponha que no existe palavra de comprimento menor que 2n w a menor palavra tal que w 2n w pode ser definida como w = u v z uvn e v1 em, particular, 1 v n Logo, u z palavra de L. Absurdo!!! u z 2n contradiz a suposio: w a menor palavra tal que w 2n u z < 2n n u z < 2n (pois u v z 2n, 1 v n) contradiz a suposio: no existe w tal que n w < 2n
Linguagens Formais e Autmatos - P. Blauth Menezes
32
Vazia sse M no aceita qualquer palavra w tal que w < n Processa M para todas as palavras de comprimento menor que n Se rejeita todas as palavras: linguagem vazia detalhamento da prova: exerccio
33
Finita sse M no aceita qualquer palavra w tal que n w < 2n (por contraposio) (p q) (p q) Mesma prova do caso Infinita (por que?)
34
b
q0
q1
qf
A linguagem infinita sse aceita palavra w tal que n w < 2n aabaa aceita 3 aabaa < 6 Logo, a linguagem infinita
35
36
Importante conseqncia
existe um algoritmo que permite verificar se duas implementaes so equivalentes
37
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
38
39
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
40
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
41
42
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/
43
44
45
Algoritmo de minimizao
identifica os estados equivalentes por excluso tabela de estados marca estados no-equivalentes entradas no-marcadas: estados equivalentes
46
...
qn d q0 q1
...
qn-1
qn
47
Passo 2: Marcao dos Estados Trivialmente No-Equivalentes pares do tipo { estado final, estado no-final } Passo 3: Marcao dos Estados No-Equivalentes Para { qu, qv } no-marcado e a , suponha que p u = pv q u equivalente a qv para a: no marcar (qu, a) = pu e (qv , a) = pv
p u pv e { pu, pv } no est marcado { qu, qv } includo na lista encabeada por { pu, pv } p u 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 - P. Blauth Menezes
48
Passo 4: Unificao dos Estados Equivalentes Pares no-marcados so equivalentes equivalncia de estados transitiva pares de estados no-finais equivalentes um nico estado no-final pares de estados finais equivalentes um nico estado final se algum dos estados equivalentes inicial estado unificado inicial transies com origem (destino) em um estado equivalente origem (destino) no estado unificado
49
Passo 5: Excluso dos Estados Inteis q um estado intil no-final a partir de q no possvel atingir um estado final d (se includo) intil Transies com origem ou destino em estado intil excluir Algoritmo para excluir os estados inteis exerccio
50
Exp: Minimizao
q0 a b b q1 a
q2 a b q4
b b
q3 a
q5
51
Passo 1. Construo da tabela Passo 2. Marcao dos pares { estado final, estado no-final }
q1 q2 q3 q4 q5 q0 q1 q2 q3 q4
52
Passo 3. Anlise dos pares de estado no-marcados { q0, q4 } (q0, a) = q2 (q0, b) = q1 (q4, a) = q3 (q4, b) = q2 { q1, q2 } e { q2, q3 } so no-marcados inclui { q0, q4 } nas listas de { q1, q2 } e { q2, q3 } { q0, q5 } (q0, a) = q2 (q0, b) = q1 (q5, a) = q2 (q5, b) = q3 { q1, q3 } no-marcado (e { q2, q2 } trivialmente equivalente) inclui { q0, q5 } na lista de { q1, q3 }
Linguagens Formais e Autmatos - P. Blauth Menezes
53
{ 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 }
54
{ 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 }
55
q1 q2 q3 q4 q5 q0 q1 q2 q3 q4
{q2, q3}
56
q1 q2 q3 q4 q5 q0 q1 q2 q3 q4
{q2, q3}
Passo 4. { q2, q3 } e { q4, q5 } so no-marcados q 23: unificao dos estados q2 e q3 q 45: unificao dos estados finais q4 e q5
57
q1
q0
b b
q1
q2 a b q4
b b
q3 a
q5
q45
58
59
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
60
62