Anda di halaman 1dari 62

Linguagens Formais e Autmatos

P. Blauth Menezes
blauth@inf.ufrgs.br

Departamento de Informtica Terica Instituto de Informtica / UFRGS

Linguagens Formais e Autmatos - P. Blauth Menezes

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 e Linguagens e Concluses

Linguagens Formais e Autmatos - P. Blauth Menezes

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 - P. Blauth Menezes

4 Propriedades das LR
Linguagens Formais e Autmatos - P. Blauth Menezes

4 Propriedades das LR

LR podem ser representadas por formalismos


pouca complexidade grande eficincia fcil implementao

Entretanto, por ser uma classe relativamente simples


restrita e limitada fcil definir linguagens no-regulares

Linguagens Formais e Autmatos - P. Blauth Menezes

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 - P. Blauth Menezes

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 - P. Blauth Menezes

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 - P. Blauth Menezes

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 - P. Blauth Menezes

4.1 Bombeamento para as LR

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

Linguagens Formais e Autmatos - P. Blauth Menezes

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 u q z qf

Linguagens Formais e Autmatos - P. Blauth Menezes

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 - P. Blauth Menezes

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

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


Linguagens Formais e Autmatos - P. Blauth Menezes

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

Linguagens Formais e Autmatos - P. Blauth Menezes

14

Exp: Bombeamento para as Linguagens Regulares

q0

q1

b b

q2

qf

n=4 para w = abbba ??? q r = qs = ?? u = ?? v = ?? z = ??

Linguagens Formais e Autmatos - P. Blauth Menezes

15

Exp: Bombeamento para as Linguagens Regulares

q0

q1

b b

q2

qf

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

Linguagens Formais e Autmatos - P. Blauth Menezes

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 - P. Blauth Menezes

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 - P. Blauth Menezes

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 - P. Blauth Menezes

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 - P. Blauth Menezes

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 - P. Blauth Menezes

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
22

Linguagens Formais e Autmatos - P. Blauth Menezes

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 - P. Blauth Menezes

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

Linguagens Formais e Autmatos - P. Blauth Menezes

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)

Linguagens Formais e Autmatos - P. Blauth Menezes

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 - P. Blauth Menezes

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

b a,b

a,b

Linguagens Formais e Autmatos - P. Blauth Menezes

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 - P. Blauth Menezes

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 - P. Blauth Menezes

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 - P. Blauth Menezes

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 - P. Blauth Menezes

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

Linguagens Formais e Autmatos - P. Blauth Menezes

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

Linguagens Formais e Autmatos - P. Blauth Menezes

34

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
35

Linguagens Formais e Autmatos - P. Blauth Menezes

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 - P. Blauth Menezes

36

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 conseqncia
existe um algoritmo que permite verificar se duas implementaes so equivalentes

Linguagens Formais e Autmatos - P. Blauth Menezes

37

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 - P. Blauth Menezes

38

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 - P. Blauth Menezes

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

Linguagens Formais e Autmatos - P. Blauth Menezes

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

Linguagens Formais e Autmatos - P. Blauth Menezes

41

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 - P. Blauth Menezes

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/

Def: Estados Equivalentes


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

resultam simultaneamente em estados finais, ou no-finais


Linguagens Formais e Autmatos - P. Blauth Menezes

43

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 - P. Blauth Menezes

44

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 - P. Blauth Menezes

45

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 - P. Blauth Menezes

46

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 q1

...

qn-1

qn

Linguagens Formais e Autmatos - P. Blauth Menezes

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

Linguagens Formais e Autmatos - P. Blauth Menezes

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

Linguagens Formais e Autmatos - P. Blauth Menezes

50

Exp: Minimizao
q0 a b b q1 a

q2 a b q4

b b

q3 a

q5

Pr-requisitos de minimizao ???


Linguagens Formais e Autmatos - P. Blauth Menezes

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

Linguagens Formais e Autmatos - P. Blauth Menezes

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 }

Linguagens Formais e Autmatos - P. Blauth Menezes

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 }

Linguagens Formais e Autmatos - P. Blauth Menezes

55

q1 q2 q3 q4 q5 q0 q1 q2 q3 q4

{q0, q5} {q0, q4} {q0, q4} {q4, q5}

{q2, q3}

Linguagens Formais e Autmatos - P. Blauth Menezes

56

q1 q2 q3 q4 q5 q0 q1 q2 q3 q4

{q0, q5} {q0, q4} {q0, q4} {q4, q5}

{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

Linguagens Formais e Autmatos - P. Blauth Menezes

57

Autmato mnimo resultante


q0 a b b
a

q1

q0

b b

q1

q2 a b q4

b b

q3 a

q23 a,b a,b

q5

q45

Linguagens Formais e Autmatos - P. Blauth Menezes

58

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 - P. Blauth Menezes

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

Linguagens Formais e Autmatos - P. Blauth Menezes

60

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 e Linguagens e Concluses
61

Linguagens Formais e Autmatos - P. Blauth Menezes

Linguagens Formais e Autmatos


P. Blauth Menezes
blauth@inf.ufrgs.br

Departamento de Informtica Terica Instituto de Informtica / UFRGS

Linguagens Formais e Autmatos - P. Blauth Menezes

62

Anda mungkin juga menyukai