Вы находитесь на странице: 1из 60

Li

nguagensFor
mai
se
Aut
mat
os
Paul
oBl
aut
hMenez
es

Linguagens Formais e Autmatos


P. Blauth Menezes
1
2
3
4
5
6
7
8
9

Introduo e Conceitos Bsicos


Linguagens e Gramticas
Linguagens Regulares
Propriedades das Linguagens Regulares
Autmato Finito com Sada
Linguagens Livres do Contexto
Propriedades e Reconhecimento das Linguagens
Livres do Contexto
Linguagens Recursivamente Enumerveis e
Sensveis ao Contexto
Hierarquia de Classes de Linguagens e Concluses

Linguagens Formais e Autmatos

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

Linguagens Formais e Autmatos

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

Entretanto, por ser uma classe relativamente simples


restrita e limitada
fcil definir linguagens no regulares

Linguagens Formais e Autmatos

Assim, algumas questes sobre LR necessitam ser


analisadas
como determinar se uma linguagem regular?
fechada para operaes de unio, concatenao e interseco?
como verificar se uma LR infinita, finita ou vazia?
possvel analisar duas LR e concluir se so iguais ou diferentes?

Linguagens Formais e Autmatos

Anlise de cada propriedade


desenvolvida para um dos formalismos estudados
para os demais: suficiente traduzi-los
ER

AFD

AFN

AFN

GR

Linguagens Formais e Autmatos

Obs: Autmato finito Complexidade de algoritmos


Autmatos finitos pertencem classe de algoritmos
mais eficientes em termos de tempo de processamento
supondo que toda a entrada necessita ser lida
se relaxada, podem-se imaginar formalismos mais eficientes
exemplo: reconhecer a linguagem * (por qu?)
Qq autmato finito que solucione um problema igualmente eficiente
a menos de eventual redundncia de estados
no influi no tempo de processamento
Redundncia de estados pode ser facilmente eliminada
Autmato Finito (Determinstico) Mnimo

Linguagens Formais e Autmatos

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

Linguagens Formais e Autmatos

4.1 Bombeamento para as LR


Lema do bombeamento
til no estudo das propriedades das LR

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

Linguagens Formais e Autmatos

10

w pode ser dividida em trs subpalavras: w = u v z


u v n, v 1
v a parte de w reconhecida pelo ciclo
tal ciclo pode ser executado (bombeado) zero ou mais vezes
para qualquer i 0, u vi z, aceita pelo autmato

v
q0

Linguagens Formais e Autmatos

qf

11

Lema do bombeamento para as LR


Se L LR, ento:
existe uma constante n tal que,
para qualquer palavra w de L onde w n,
w pode ser definida como w = u v z
u v n,
v1
sendo que, para todo i 0, u vi z palavra de L

Prova: (direta)
Se L uma LR, ento existe um AFD M = (, Q, , q0, F) tal que
ACEITA(M) = L

Linguagens Formais e Autmatos

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

qr = qs
(q0, a1ar) = qr
(qr, ar+1as) = qs
(qs, as+1am) = qm

ou seja, o autmato passa mais de uma vez no estado qr = qs

Linguagens Formais e Autmatos

13

Sejam:
u = a1ar
v = ar+1as
z = as+1am
Como r s n, ento:
v1

uvn

Como qr = qs, ento:


v reconhecida em um ciclo
Portanto, para todo i 0, u vi z palavra de L

Linguagens Formais e Autmatos

14

Exp: Bombeamento para as linguagens regulares

q0

q1

b
b

q2

qf

n=4
para w = abbba ???
qr = qs = ??
u = ??
v = ??
z = ??

Linguagens Formais e Autmatos

15

Exp: Bombeamento para as linguagens regulares

q0

q1

b
b

q2

qf

n=4
para w = abbba
qr = qs = q1
u=a
v = bb
z = ba

Linguagens Formais e Autmatos

16

Diversos bombeamentos???
duplo bombeamento: { anbm n 0 e m 0 }
triplo bombeamento: { anbmar n 0, m 0 e r 0 }

Linguagens Formais e Autmatos

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

Linguagens Formais e Autmatos

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

Linguagens Formais e Autmatos

19

Exp: Linguagem no regular


L = { w w possui o mesmo nmero de smbolos a e b }
Por absurdo. Suponha que L regular
existe AFD M com n estados que aceita L
Seja w = anbn sendo w = 2n n. Logo (Bombeamento) w = u v z tq
uvn
v1
para todo i 0, u vi z palavra de L
Absurdo !!! Como u v n
u v composta exclusivamente por smbolos a
u v2 z no pertence a L (nmero de a ser maior que o de b)
Linguagens Formais e Autmatos

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

Linguagens Formais e Autmatos

21

4.3 Operaes Fechadas sobre as LR


Operaes sobre LR podem ser usadas para
lgebra de LR
construir novas linguagens a partir de linguagens conhecidas
provar propriedades
construir algoritmos

Classe de linguagens regulares fechada para

unio
concatenao
complemento
interseco

Linguagens Formais e Autmatos

22

Teorema: Operaes fechadas sobre as linguagens


regulares
A classe das linguagens regulares fechada para

unio
concatenao
complemento
interseco

Prova:
Unio & Concatenao
Decorrem trivialmente da definio de expresso regular (por qu?)

Linguagens Formais e Autmatos

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)?

Linguagens Formais e Autmatos

24

Construo do AFD MC tal que ACEITA(MC) = ~L


MC = (, QC, C, q0, FC)
QC = Q { d }

(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

Linguagens Formais e Autmatos

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.

Linguagens Formais e Autmatos

26

Exp: Complemento
M = ({ a, b }, { q0, q1, q2, qf }, , q0, { qf })
q0

q1

a,b

q2

a,b

qf

MC = ({ a, b }, { q0, q1, q2, qf, d }, C, q0, { q0, q1, q2, d })


q0

q1

a,b

q2

a,b

qf

a,b

a,b

Linguagens Formais e Autmatos

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

Linguagens Formais e Autmatos

28

4.4 Investigao se uma LR Vazia,


Finita ou Infinita
Teorema: Linguagem regular vazia, finita ou infinita
Se L LR aceita por um autmato finito M = (, Q, , q0, F) com n estados,
ento L
Vazia sse M no aceita qualquer palavra w tal que w n
Finita sse M no aceita qualquer palavra w tal que n w 2n
Infinita sse M aceita palavra w tal que n w 2n

Linguagens Formais e Autmatos

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

Linguagens Formais e Autmatos

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

Linguagens Formais e Autmatos

31

Caso 2 (por absurdo): w 2n


Suponha que
no exista 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

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
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 qu?)

Linguagens Formais e Autmatos

33

Exp: Linguagem regular infinita

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

Linguagens Formais e Autmatos

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

Linguagens Formais e Autmatos

35

4.5 Igualdade de Linguagens Regulares


Teorema mostra que
existe um algoritmo para verificar se dois autmatos finitos so
equivalentes
reconhecem a mesma linguagem

Importante consequncia
existe um algoritmo que permite verificar se duas implementaes
so equivalentes

Linguagens Formais e Autmatos

36

Teorema: igualdade de linguagens regulares


Se M1 e M2 so AF, ento existe um algoritmo para determinar se
ACEITA(M1) = ACEITA(M2)

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

Linguagens Formais e Autmatos

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

Linguagens Formais e Autmatos

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

Linguagens Formais e Autmatos

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

Linguagens Formais e Autmatos

40

AFD Mnimo ou autmato finito mnimo


AFD equivalente, com o menor nmero de estados possvel

Minimizao em algumas aplicaes especiais


no necessariamente o menor custo de implementao
exemplo: circuitos lgicos ou redes lgicas
pode ser desejvel introduzir estados intermedirios de forma a
melhorar eficincia ou facilitar ligaes fsicas
prever variveis especficas da aplicao

Autmato finito mnimo nico


a menos de isomorfismo
diferenciando-se, eventualmente, na identificao dos estados
Linguagens Formais e Autmatos

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

Def: Estados equivalentes


M = (, Q, , q0, F) AFD qualquer
q e p de Q so estados equivalentes sse, para qualquer w *

(q, w)

(p, w)

resultam simultaneamente em estados finais, ou no finais

Linguagens Formais e Autmatos

42

Def: Autmato finito mnimo


L linguagem regular. O autmato finito mnimo um AFD
Mm = (, Qm, m, q0m, Fm)
tal que
ACEITA(Mm) = L
para qualquer AFD M = (, Q, , q0, F) tal que ACEITA(M) = L
Q Qm

Linguagens Formais e Autmatos

43

Obs: Pr-requisitos do algoritmo de minimizao


determinstico
estados alcanveis a partir do estado inicial
funo programa total

Caso no satisfaa algum dos pr-requisitos


gerar um autmato determinstico equivalente
algoritmos de traduo apresentados nos teoremas
eliminar estados inacessveis (e transies): exerccio
funo programa total
introduzir um estado no final d
incluir transies no previstas, tendo d como estado destino
incluir um ciclo em d para todos os smbolos do alfabeto
Linguagens Formais e Autmatos

44

Algoritmo de minimizao
identifica os estados equivalentes por excluso
tabela de estados
marca estados no equivalentes
entradas no marcadas: estados equivalentes

Linguagens Formais e Autmatos

45

Def: Algoritmo de minimizao


M = (, Q, , q0, F) AFD que satisfaz aos pr-requisitos
Passo 1: Construo da tabela: relaciona estados distintos
q1
q2

...
qn
d
q0

Linguagens Formais e Autmatos

q1

...

qn-1

qn

46

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
(qu, a) = pu

(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

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

Linguagens Formais e Autmatos

48

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

Linguagens Formais e Autmatos

49

Exp: Minimizao
b

q0

q1

b
a

q2

q3

a
b
q4

b
a

q5

Pr-requisitos de minimizao???

Linguagens Formais e Autmatos

50

Passo 1. Construo da tabela


Passo 2. Marcao dos pares { estado final, estado no final }
q1
q2
q3
q4
q5
q0

Linguagens Formais e Autmatos

q1

q2

q3

q4

51

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

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 }

Linguagens Formais e Autmatos

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 }

Linguagens Formais e Autmatos

54

q1

{q0, q5}

q2

{q0, q4}

q3

{q0, q4}

{q4, q5}

q4
{q2, q3}

q5
q0

Linguagens Formais e Autmatos

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

Passo 4. { q2, q3 } e { q4, q5 } so no marcados

q23: unificao dos estados q2 e q3


q45: unificao dos estados finais q4 e q5

Linguagens Formais e Autmatos

56

Autmato mnimo resultante


b

q0

q1

q0

q1

q2

q3

q23

a
b
q4

b
a

Linguagens Formais e Autmatos

a,b
a,b

q5

q45

57

Teorema: autmato finito mnimo


O autmato construdo usando o algoritmo de minimizao
AFD com menor nmero de estados que aceita a linguagem

Teorema: unicidade do autmato finito mnimo


AFD mnimo de uma linguagem
nico, a menos de isomorfismo

Linguagens Formais e Autmatos

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

Linguagens Formais e Autmatos

59

Linguagens Formais e Autmatos


P. Blauth Menezes
1
2
3
4
5
6
7
8
9

Introduo e Conceitos Bsicos


Linguagens e Gramticas
Linguagens Regulares
Propriedades das Linguagens Regulares
Autmato Finito com Sada
Linguagens Livres do Contexto
Propriedades e Reconhecimento das Linguagens
Livres do Contexto
Linguagens Recursivamente Enumerveis e
Sensveis ao Contexto
Hierarquia de Classes de Linguagens e Concluses

Linguagens Formais e Autmatos

60

Вам также может понравиться