Você está na página 1de 17

Informtica

PUC-Rio
INF1626 Linguagens Formais e Autmatos em 2010 INF1626 Linguagens Formais e Autmatos em 2010- -2 2
Profa. Clarisse de Souza Profa. Clarisse de Souza 1 1
INF1626
INF1626

Exerc
Exerc

cios
cios
JFLAP JFLAP - - Converses entre Converses entre
Gram Gram ticas Regulares e ticas Regulares e
Autmatos Finitos Autmatos Finitos
23/08/2010 23/08/2010
Informtica
PUC-Rio
INF1626 Linguagens Formais e Autmatos em 2010 INF1626 Linguagens Formais e Autmatos em 2010- -2 2
Profa. Clarisse de Souza Profa. Clarisse de Souza 2 2
Os exerc
Os exerc

cios a seguir esto usando o


cios a seguir esto usando o
JFLAP
JFLAP
Para resolv-los:
1. Baixe o programa JFLAP de:
http://www.cs.duke.edu/csed/jflap/
2. Consulte o tutorial JFLAP em:
http://www.cs.duke.edu/csed/jflap/tutorial/
Informtica
PUC-Rio
INF1626 Linguagens Formais e Autmatos em 2010 INF1626 Linguagens Formais e Autmatos em 2010- -2 2
Profa. Clarisse de Souza Profa. Clarisse de Souza 3 3
Exerc
Exerc

cio 1 (solu
cio 1 (solu

o nos slides seguintes)


o nos slides seguintes)
Dadas as linguagens definidas pelas seguintes expresses sobre o
alfabeto {a,b}:
ab*a
(a+b)*ab
((a+)b*)*
Construa, para cada uma delas:
1. Um autmato finito que defina a mesma linguagem; e
2. Uma gramtica regular (no formato de regras de produo) que
defina a mesma linguagem.
Informtica
PUC-Rio
INF1626 Linguagens Formais e Autmatos em 2010 INF1626 Linguagens Formais e Autmatos em 2010- -2 2
Profa. Clarisse de Souza Profa. Clarisse de Souza 4 4
Linguagem
Linguagem

ab*a
ab*a

Autmato finito Autmato finito


Produ Produ o para a transi o para a transi o de o de S S at at A A
Produ Produ o para transi o para transi o de o de A A para o pr para o pr prio prio A A (recurso direta) (recurso direta)
Produ Produ o para a transi o para a transi o de o de A A at at B B
Esta regra Esta regra necess necess ria para ria para
completar a Gram completar a Gram tica. Por tica. Por m, m,
ela no adiciona nenhum s ela no adiciona nenhum s mbolo mbolo
cadeia (i.e. adiciona cadeia (i.e. adiciona ). ).
Informtica
PUC-Rio
INF1626 Linguagens Formais e Autmatos em 2010 INF1626 Linguagens Formais e Autmatos em 2010- -2 2
Profa. Clarisse de Souza Profa. Clarisse de Souza 5 5
Linguagem
Linguagem

ab*a
ab*a

: Diferentes
: Diferentes
Gram
Gram

ticas?
ticas?
A gramtica gerada pelo JFLAP
tem uma caracterstica especial:
todas as suas produes so do
tipo , onde || = 1 e
segue o formato
1 terminal
seguido de 1 terminal
Ou seja: uma gram gram tica regular tica regular
direita direita.
Confira:
S aA
A bA
A aB
B ,
Porm, esta mesma linguagem
poderia ser descrita por outras
gramticas.
Por exemplo, esta aqui:
S aBa
B
B bB
Note que esta gramtica tem 1
regra a menos que a gerada pelo
JFLAP, mas por outro lado no
regular direita.
mais LEG LEG VEL VEL para uma
pessoa.
Mas um pouco mais CARA CARA para
um processador automtico.
Veja no pr Veja no pr ximo slide como ximo slide como
as estruturas das duas as estruturas das duas
gram gram ticas diferem. ticas diferem.
Informtica
PUC-Rio
INF1626 Linguagens Formais e Autmatos em 2010 INF1626 Linguagens Formais e Autmatos em 2010- -2 2
Profa. Clarisse de Souza Profa. Clarisse de Souza 6 6
Linguagem Linguagem ab*a ab*a : :
Diferentes Gram Diferentes Gram ticas = Diferentes ticas = Diferentes
Estruturas Estruturas
S aA
A bA
A aB
B ,
S aBa
B
B bB
aa aa aba aba abba abba ab...ba ab...ba



?
?
Informtica
PUC-Rio
INF1626 Linguagens Formais e Autmatos em 2010 INF1626 Linguagens Formais e Autmatos em 2010- -2 2
Profa. Clarisse de Souza Profa. Clarisse de Souza 7 7
Linguagem
Linguagem

(a+b)*ab
(a+b)*ab

Autmato finito Autmato finito


Gram Gram tica tica
Regular Regular
Direita Direita
Repare que esta mesma linguagem pode Repare que esta mesma linguagem pode
ser descrita, por exemplo, por uma ser descrita, por exemplo, por uma
gram gram tica livre de contexto (GLC): tica livre de contexto (GLC):
S S X Y | Y X Y | Y
X X a | b a | b
X X {a | b} X {a | b} X
Y Y a,b a,b
Procure mais Procure mais
gram gram ticas e ticas e
estruturas para estruturas para
esta linguagem esta linguagem
a fim de a fim de
praticar. praticar.
Informtica
PUC-Rio
INF1626 Linguagens Formais e Autmatos em 2010 INF1626 Linguagens Formais e Autmatos em 2010- -2 2
Profa. Clarisse de Souza Profa. Clarisse de Souza 8 8
Linguagem
Linguagem

((a+
((a+
)b*)*
)b*)*

Informtica
PUC-Rio
INF1626 Linguagens Formais e Autmatos em 2010 INF1626 Linguagens Formais e Autmatos em 2010- -2 2
Profa. Clarisse de Souza Profa. Clarisse de Souza 9 9
Exerc
Exerc

cio 2
cio 2
1. Especificar em expresso regular as seguintes linguagens sob o
alfabeto ={a,b}:
a) quaisquer quantidades de a e b seguidas, finalizadas por a;
b) qualquer cadeia em que no haja repeties de b;
c) todas as cadeias finalizadas por aa;
d) todas as cadeias finalizadas por a ou b.
2. Use o JFLAP para escrever o autmato finito e a gramtica regular
direita (GRD) correspondentes a 1a, 1b, 1c e 1d.
2. Teste, no JFLAP, mltiplas cadeias de entrada para cada uma das
linguagens. No esquea de submeter: a cadeia vazia, sempre; cadeias
que devem ser aceitas; cadeias que no devem ser aceitas.
Informtica
PUC-Rio
INF1626 Linguagens Formais e Autmatos em 2010 INF1626 Linguagens Formais e Autmatos em 2010- -2 2
Profa. Clarisse de Souza Profa. Clarisse de Souza 10 10
Exerc
Exerc

cio 3
cio 3
Defina o autmato finito determinstico que reconhece a linguagem
formada por qualquer cadeia sobre = {a,b,c} onde no h dois
caracteres iguais consecutivos.
Informtica
PUC-Rio
INF1626 Linguagens Formais e Autmatos em 2010 INF1626 Linguagens Formais e Autmatos em 2010- -2 2
Profa. Clarisse de Souza Profa. Clarisse de Souza 11 11
Exerc
Exerc

cio 3: Solu
cio 3: Solu

o
o
Autmato finito determinstico que reconhece a linguagem formada por
qualquer cadeia sobre = {a,b,c} onde no h dois caracteres
iguais consecutivos (com cadeias de teste).
Informtica
PUC-Rio
INF1626 Linguagens Formais e Autmatos em 2010 INF1626 Linguagens Formais e Autmatos em 2010- -2 2
Profa. Clarisse de Souza Profa. Clarisse de Souza 12 12
Converso do grafo em tabela
Converso do grafo em tabela
q2 q1 q3
q3 q1 q2
q3 q2 q1
q3 q2 q1 q0
c b a
Note na diagonal a impossibilidade Note na diagonal a impossibilidade
de transi de transi es quando o caracter es quando o caracter
de entrada se repete. de entrada se repete.
Estado em Estado em
que que a a foi foi
consumido consumido
Estado em Estado em
que que b b foi foi
consumido consumido
Estado em Estado em
que que c c foi foi
consumido consumido
Informtica
PUC-Rio
INF1626 Linguagens Formais e Autmatos em 2010 INF1626 Linguagens Formais e Autmatos em 2010- -2 2
Profa. Clarisse de Souza Profa. Clarisse de Souza 13 13
Exemplo de Autmato Finito No Determin
Exemplo de Autmato Finito No Determin

stico
stico
Seja a linguagem regular denotada pela expresso regular
(a((a+b)(c+b)*))*. O autmato finito no determinstico que a
reconhece :
A=<{q0,q1},{a,b,c},,q0,{q1}>
: a b c
q0 {q0,q1} q1
q1 q1 q1
Informtica
PUC-Rio
INF1626 Linguagens Formais e Autmatos em 2010 INF1626 Linguagens Formais e Autmatos em 2010- -2 2
Profa. Clarisse de Souza Profa. Clarisse de Souza 14 14
Converso de autmatos finitos no determin Converso de autmatos finitos no determin sticos em sticos em
determin determin sticos (1/2) sticos (1/2)
Algoritmo: mapear os estados!
Cada no-determinismo se torna um novo estado
Caso surjam novos no determinismos no processo, estes devero
tambm ser mapeados em novos estados (pior caso: 2^|Q|).
q1 q1 q1
q1 {q0,q1} q0
c b a
Usando o exemplo anterior: Usando o exemplo anterior:
Informtica
PUC-Rio
INF1626 Linguagens Formais e Autmatos em 2010 INF1626 Linguagens Formais e Autmatos em 2010- -2 2
Profa. Clarisse de Souza Profa. Clarisse de Souza 15 15
Converso de autmatos finitos no determin Converso de autmatos finitos no determin sticos em sticos em
determin determin sticos (2/2) sticos (2/2)
Algoritmo: mapear os estados!
Cada no-determinismo se torna um novo estado
Caso surjam novos no determinismos no processo, estes devero
tambm ser mapeados em novos estados (pior caso: 2^|Q|).
q1 q1 q2 q2 q2 q2
q1 q1 q1
q1 q2 q2 q0
c b a
Informtica
PUC-Rio
INF1626 Linguagens Formais e Autmatos em 2010 INF1626 Linguagens Formais e Autmatos em 2010- -2 2
Profa. Clarisse de Souza Profa. Clarisse de Souza 16 16
Exerc
Exerc

cio 4
cio 4
Converta o autmato finito no determinstico abaixo num autmato
finito determinstico.
A=<{q0,q1},{a,b,c},,q0,{q1}>
: a b c
q0 {q0,q1} q1
q1 {q0,q1} q1
Informtica
PUC-Rio
INF1626 Linguagens Formais e Autmatos em 2010 INF1626 Linguagens Formais e Autmatos em 2010- -2 2
Profa. Clarisse de Souza Profa. Clarisse de Souza 17 17
Exerc
Exerc

cio 4: Solu
cio 4: Solu

o
o
q1 {q0,q1} q1
q1 {q0,q1} q0
c b a AFND
q2 q1 q2
q2 q2 q1 q1
q2 q1 q0
c b a AFD
Note que na converso AFND Note que na converso AFND
para AFD ganhamos mais estados para AFD ganhamos mais estados
finais. finais.

Você também pode gostar