Você está na página 1de 36

PCS 2214 - Fundamentos de

Engenharia de Computao I
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

LINGUAGENS, GRAMTICAS E
AUTMATOS
Professores:
Anna Helena Reali Costa
Joo Jos Neto
Liria Matsumoto Sato
Romero Tori

Verso: 2.3
Data: 22/04/08

Contedo
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos

1. Introduo
2. Mquinas de Estado Finito
3. Autmatos Finitos
4. Linguagens e Representaes
5. Gramticas
6. Autmatos Finitos no Deterministas

Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

Introduo
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Teoria da Computao:

Relembrando..

Teoria da Complexidade
Teoria da Computabilidade
Teoria dos Autmatos  foco deste mdulo!

Teoria dos Autmatos


Preocupa-se com as definies e propriedades de
modelos computacionais que permitem uma
definio mais formal de um computador.
H inmeros modelos, precisos em alguns pontos e
imprecisos em outros, dependendo das
caractersticas que se pretende salientar.

Verso: 2.3
Data: 22/04/08

Mquina de Estado Finito


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

um dos modelos abstratos mais simples:


reflete uma mquina que possui uma
quantidade muito limitada de memria
(computador simples).
Definio: uma Mquina de Estado Finito M,
definida por (I, O, S, f, g, ), consiste de:

Um conjunto finito I de smbolos de entrada


Um conjunto finito O de smbolos de sada
Um conjunto finito S de estados
Uma funo prximo estado f: S x I S
Uma funo de sada g: S x I O
Um estado inicial S

Mquina de Estado Finito


PCS 2214
Fund. Eng. Comp.
I

Exemplo: Seja I={a,b}, O={0,1}, S={0, 1} e


= 0. As funes f e g so definidas pelas
regras dadas na tabela:

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

f
I
S

Mdulo:
Linguagens,
Gramticas e
Autmatos

0
1

Autora:
Anna H. R. Costa

0 1
1 1

0
1

Reviso 1:
Jaime S. Sichman

1
0
a/0

Reviso 2:
Joo Jos Neto

f(0 ,a)= 0
f(0 ,b)= 1
f(1 ,a)= 1
f(1 ,b)= 1

g(0 ,a)= 0
g(0 ,b)= 1
g(1 ,a)= 1
g(1 ,b)= 0
a/1

b/1

1
b/0

Verso: 2.3
Data: 22/04/08

Diagrama de Transies
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos

Definio: Seja M = (I, O, S, f, g, ) uma


mquina de estado finito. O diagrama de
transies de M um grafo orientado G cujos
vrtices so membros de S. Uma seta indica o
estado inicial . Uma aresta orientada (1,2)
existe em G se existir uma entrada i com
f(1,i)=2. Neste caso, se g(1,i)=o, a aresta
(1,2) rotulada com i/o.

Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

a/0

a/1
b/1

1
b/0

Verso: 2.3
Data: 22/04/08

Funcionamento: Computao da MEF


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos

Definio: Seja M = (I, O, S, f, g, ) uma


mquina de estado finito. Uma cadeia de
entrada para M uma cadeia sobre I. A
cadeia y1.yn a cadeia de sada de M
correspondendo cadeia de entrada x1xn,
caso existam os estados 0 , 1 ,n S com:
0 = , i= f(
i-1, xi),
i=1,,n.

Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

yi= g(
i-1, xi)

para

Pode-se pensar em M como um computador simples:


comea no estado , consome uma cadeia de
caracteres sobre I (entrada) e produz uma cadeia de
caracteres sobre O (sada).

Funcionamento
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Exemplo: Encontre a cadeia de sada


correspondente cadeia de entrada aababba
para a mquina de estado finito abaixo:
a/0

Mdulo:
Linguagens,
Gramticas e
Autmatos

a/1
b/1

Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman

b/0

Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

Exemplo de Mquina de Estado Finito


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos

Exerccio:
Projetar uma mquina de estado finito que
fornea 1 como sada caso um nmero
par de 1s seja fornecido numa cadeia de
bits de entrada e que fornea 0, no caso
contrrio.

Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

Autmato Finito
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

Um autmato finito Af = (I, O, S, f, g, )


uma mquina de estado finito onde:
o conjunto de smbolos de sada {0,1} e
o estado corrente determina a ltima sada.

Estados de aceitao: estados para os


quais a ltima sada 1.
Diagramas de transies de um AF: os
estados de aceitao so representados por
crculos duplos e os smbolos de sada so
omitidos.

10

Autmato Finito
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Exemplo: Desenhe o diagrama de transies da


mquina de estado finito M definida abaixo. O
estado inicial 0. Mostre que M um autmato
finito e determine o conjunto de estados de
aceitao.

Mdulo:
Linguagens,
Gramticas e
Autmatos

Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

I
S

0
1
2

g
b

1 0
2 0
2 0

1
1
1

0
0
0

11

Autmato Finito
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos

Resposta do exemplo:
A mquina de estado finito M um AF uma
vez que seu conjunto de smbolos de sada
{0,1} e, para cada estado , todas as arestas
que chegam em tm o mesmo rtulo de
sada.

Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

a
a

b
b

Verso: 2.3
Data: 22/04/08

12

Definio de Autmato Finito


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman

Um autmato finito Af = (I, S, f, A, )


definido por:
Um conjunto finito I de smbolos de entrada
Um conjunto finito S de estados
Uma funo prximo estado f: S x I S
Um subconjunto A de S de estados de
aceitao
Um estado inicial S

Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

13

Aceitao de uma Cadeia


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Definio:
Seja Af = (I, S, f, A, ) um
autmato finito. Seja = x1xn uma cadeia
sobre I. Caso existam os estados 0 , ,n
satisfazendo:
(a) 0 =
(b) i= f(i-1, xi)
(c) n A

para i=1,,n;

dizemos que aceita por Af.


A cadeia vazia (ou nula) aceita por Af se
e somente se A.

Verso: 2.3
Data: 22/04/08

14

Caminho Representando uma Cadeia


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Seja = x1xn uma cadeia sobre I.


Os estados 0 , ,n so definidos pelas
condies (a) e (b) da definio anterior.
O caminho (0 , ..,n ) um caminho
representando em Af.
Se o caminho P representa a cadeia em Af,
ento Af aceita se e somente se P terminar
em um estado de aceitao.
Ac(Af): conjunto de cadeias aceitas por Af.

Verso: 2.3
Data: 22/04/08

15

Aceitao de Cadeias
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Exerccios:
1. A cadeia abaa aceita pelo AF abaixo?
2. A cadeia abab aceita pelo AF abaixo?

Mdulo:
Linguagens,
Gramticas e
Autmatos

Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

AF:

a
a

b
b

Verso: 2.3
Data: 22/04/08

16

Aceitao de Cadeias
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Respostas dos exerccios:


1. O caminho P = (0 ,1 ,0 ,1 ,2 ) representa
a cadeia abaa. Como o estado final 2 um
estado de aceitao, a cadeia aceita pelo
AF dado.
2. O caminho P = (0 ,1 ,0 ,1 ,0 ) representa
a cadeia abab. Como o estado final 0 no
um estado de aceitao, a cadeia no
aceita pelo AF dado.

Verso: 2.3
Data: 22/04/08

17

Equivalncia de AFs
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman

Os autmatos finitos A e A so equivalentes


se Ac(A) = Ac(A).
Se definirmos a relao R num conjunto de
AFs pela regra ARA, se A e A forem
equivalentes, R uma relao de
equivalncia. Cada classe de equivalncia
consiste de um conjunto de AFs mutuamente
equivalentes.

Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

18

Equivalncia de AFs
b
PCS 2214
Fund. Eng. Comp.
I

A:

a
a

NA

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

b
b

Mdulo:
Linguagens,
Gramticas e
Autmatos

A:

Autora:
Anna H. R. Costa

b
a

a
a

Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

A e A so equivalentes. Aceitam cadeias


sobre {a,b} que no possuem as.

Verso: 2.3
Data: 22/04/08

19

Linguagens
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Definio:
Seja A um conjunto finito de
smbolos. Uma linguagem (formal) L
sobre A um subconjunto de A*.
Exemplo: Dado A={a,b}. O conjunto L de
todas as cadeias sobre A que contm
um nmero mpar de as uma
linguagem sobre A.

Verso: 2.3
Data: 22/04/08

20

10

Linguagens Regulares
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Seja M um Autmato Finito, w uma cadeia sobre


I e L uma linguagem (um conjunto de cadeias).
Dizemos que M reconhece a linguagem L se:
L = {w | M aceita w}.
Uma linguagem dita linguagem regular se
existir algum autmato finito que a reconhece.

Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa

M , portanto, um algoritmo especificamente


projetado para decidir se uma cadeia pertence ou
no a uma linguagem regular  um dispositivo de
reconhecimento dessa linguagem.

Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

21

Linguagem Regular e Autmato Finito


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos

Exerccio: Projetar um Autmato Finito


M que reconhea a linguagem regular
sobre {0,1} de todas as cadeias que
possuam 001 como subcadeia.
M deve aceitar 0010, 1001, 11111001111,
etc.

Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

22

11

Linguagens Regulares
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Sejam A e B linguagens regulares. Definem-se


as seguintes operaes:
Unio: AB = {x | xA ou xB}
Concatenao: AB = {xy | xA e yB}
Estrela de Kleene: A* = {x1x2... xk | k 0 e cada xiA}

A classe de linguagens regulares fechada em


relao s operaes de unio, concatenao e
estrela de Kleene.
Linguagens regulares podem ser representadas
por expresses regulares (ER).
Ordem na execuo das operaes: 1) estrela de
Kleene, 2) concatenao e 3) unio.

Verso: 2.3
Data: 22/04/08

23

Expresses Regulares
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Descrevem um conjunto particular (como, por


exemplo, o conjunto das cadeias que pertencem
a uma linguagem regular).
Exemplo: (0 1) 0*
essa ER corresponde ao conjunto de todas as
cadeias que comeam com 0 ou 1, seguidas por
qualquer nmero de 0s:
(01) resulta em L = {0,1}
0* resulta em L = {, 0, 00, 000, 0000, 00000, ....}
Assim, 0, 1, 00, 1000, 0000, 1000000, ... fazem parte
da linguagem descrita pela ER (01)0*.

Verso: 2.3
Data: 22/04/08

24

12

Expresses regulares
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

Dado um conjunto finito I de smbolos


(alfabeto), so ERs:
O smbolo
O smbolo
Qualquer smbolo i I

Recursivamente, se R1 e R2 so ERs,
ento:
(R1R2) uma expresso regular
(R1R2) uma expresso regular
R1* uma expresso regular

25

Conjuntos regulares
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

26

ERs representam conjuntos regulares


(linguagens regulares) segundo as
convenes:
representa o conjunto vazio (no tem nenhuma
cadeia)
representa o conjunto {} contendo a cadeia nula
i representa o conjunto {i}
Para as expresses regulares A e B:
AB representa o conjunto de todos os elementos da
forma , onde pertence ao conjunto representado
por A e , ao conjunto representado por B.
(AB) unio do conjunto representado por A com o
representado por B.
A* representa o conjunto de todas as concatenaes
possveis, inclusive a nula, formadas apenas com os
elementos do conjunto representado por A.

13

Exemplos de Expresses Regulares

PCS 2214
Fund. Eng. Comp.
I

a)
b)
c)
d)
e)
f)
g)
h)

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Definir a linguagem descrita pelas ERs abaixo.


Considerar o alfabeto ={0,1}:

0*10* =
*1* =
*001* =
()* =
()* =
0110 =
(0)1* =
(0) (1) =

Axiomas:
1* =
* = {}

Verso: 2.3
Data: 22/04/08

27

Representao de Linguagens
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

Alm das linguagens regulares, existem outras


classes de linguagens.
Tipos de linguagens: vazias, finitas e infinitas.
Representao de linguagens:

Enumerao de seus elementos (se L for finita);


Descrio algbrica; ex: {anbncnn 1}, com a2 aa ;
Se for regular, por expresses regulares;
Definindo um algoritmo para decidir (reconhecer) se
uma cadeia (sentena) pertence a L; um exemplo
um autmato finito (no caso de linguagens regulares);
Definindo um mecanismo que permita produzir
(gerar) todas cadeias (sentenas) que pertenam a L;
tais mecanismos denominam-se gramticas.

28

14

Descrio por Geradores


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Como vimos, um dispositivo de reconhecimento


de uma linguagem (algoritmo) pode especificar,
de forma finita, uma linguagem.
Um mtodo alternativo: descrever uma forma
atravs da qual podem ser produzidos (ou
gerados) todos os elementos da linguagem, e
somente eles.
Tais geradores de linguagem no so algoritmos,
uma vez que no so projetados para responder
perguntas e no estabelecem em qual seqncia os
passos de gerao devem ser executados.

Gramticas: geradores de linguagem

Verso: 2.3
Data: 22/04/08

29

Definio de Gramticas
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Uma gramtica G = (N, T, P, ) consiste


de:
um conjunto finito N de smbolos no
terminais;
um conjunto finito T de smbolos terminais,
onde NT=;
um subconjunto P de [(NT)* T*] x (NT)*,
chamado conjunto de produes;
um smbolo inicial N.

Verso: 2.3
Data: 22/04/08

30

15

Gramticas
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Uma produo (A,B)P escrita AB,


onde A[(NT)* T*] e B(NT)*.
Assim, A deve conter pelo menos um
smbolo no terminal e B pode ser qualquer
cadeia formada pela concatenao arbitrria
(sem excluir a cadeia nula) de smbolos
terminais e no terminais.
Ex.: seja a gramtica G = (N, T, P, ), com:
1. N={}, T={a,b}, P={a, b}
2. N={,S}, T={0,1}, P={, S, S1S,
S0S, S1, S0}

Verso: 2.3
Data: 22/04/08

31

Derivao
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman

Seja a gramtica G = (N, T, P, ). Se


uma produo e xy(NT)*, dizemos que xy
diretamente derivvel de xy e escrevemos:
xy xy.
Se i(NT)* para i=1,..,n e i+1 diretamente
derivvel de i para i=1,..,n-1, dizemos que n
derivvel de 1 e escrevemos: 1 * n.
Derivao de n (a partir de 1):
1 2 ... n

Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

32

16

Gramtica e Linguagem
Ex.: seja a gramtica G = (N, T, P, ), com:
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

N={,S}
T={a,b}
P={b, aS, SbS, Sb}
(a) A cadeia abSbb diretamente derivvel de
aSbb, escrita como aSbb abSbb, usando a
produo SbS.
(b) A cadeia bbab derivvel de , escrita:
* bbab.
A derivao :
b bb bbaS bbab

33

Gramtica e Linguagem
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

A linguagem L(G) gerada por G consiste de


todas as cadeias sobre T que podem ser
derivadas a partir de pela aplicao das
produes do conjunto P.

L = {w T* | * w}

Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Definio:
As gramticas G e G so equivalentes se
L(G)=L(G).

Verso: 2.3
Data: 22/04/08

34

17

BNF
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

BNF (Backus normal form ou Backus-Naur


form): notao que proporciona uma forma
alternativa para escrever as produes de
uma gramtica G.
smbolos no terminais: denotados entre os
smbolos < e >
produo ST, denotada como: S::=T
produes da forma: S::=T1, S::=T2, , S::=Tn
podem ser combinadas em
S::= T1| T2|| Tn. (o smbolo | lido ou)

Verso: 2.3
Data: 22/04/08

35

BNF
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Exemplo: uma gramtica para inteiros um


inteiro definido como uma cadeia contendo
um sinal opcional (+ ou ) , seguido por uma
cadeia de dgitos (0 a 9).
Smbolo inicial: <inteiro>
<digito>::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<inteiro>::= <inteiro com sinal> | <inteiro sem sinal>
<inteiro com sinal>::= + < inteiro sem sinal> |
<inteiro sem sinal>
<inteiro sem sinal>::= <digito> |
<digito> <inteiro sem sinal>

Verso: 2.3
Data: 22/04/08

36

18

BNF
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Exemplo: derivao do inteiro 901


<inteiro> <inteiro com sinal>
<inteiro sem sinal>
<digito> <inteiro sem sinal>
<digito> <digito> <inteiro sem sinal>
<digito> <digito> <digito>
9 <digito> <digito>
90 <digito>
901
OBS: mostrado em negrito o smbolo no terminal a ser substitudo no
prximo passo da derivao.

Verso: 2.3
Data: 22/04/08

37

Gramtica para Inteiros


Notao equivalente por G = (N, T, P, ), com:
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

N={ <digito>,<inteiro>,<inteiro com sinal>,<inteiro sem sinal> }


T = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, }
P = { <digito> 0

<digito> 1
.
<digito> 9
<inteiro><inteiro com sinal>
<inteiro><inteiro sem sinal>
<inteiro com sinal> + <inteiro sem sinal>
<inteiro com sinal> <inteiro sem sinal>
<inteiro sem sinal> <digito>
<inteiro sem sinal> <digito> <inteiro sem sinal> }

= <inteiro>

Verso: 2.3
Data: 22/04/08

38

19

Linguagens e Gramticas
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Conforme as restries impostas ao formato


das produes de uma gramtica, varia-se
correspondentemente a classe de linguagens
que tal gramtica gera.
A teoria mostra que h quatro classes de
gramticas, capazes de gerar quatro classes
correspondentes de linguagens, de acordo
com a denominada hierarquia de Chomsky
(uma classificao de linguagens formais).

Verso: 2.3
Data: 22/04/08

39

Conveno da Produo Nula


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Se uma gramtica permitir produo da cadeia


nula, ela dever ser da forma , onde o
smbolo inicial e a cadeia nula. Alm disso,
no pertence ao lado direito de qualquer
produo. Assim, pode-se tratar esta produo
como um caso especial.
Seguindo esta conveno, tem-se uma
relao de incluso na Hierarquia de
Chomsky.

Verso: 2.3
Data: 22/04/08

40

20

Avram Noam Chomsky


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

http://www.chomsky.info/

(7/12/1928 atual): Professor Emrito de


Lingstica no MIT Massachusetts
Institute of Technology . Criador da
Hierarquia de Chomsky. Seus trabalhos em
lingstica generativa contriburam
significantemente para o avano das
Cincias Cognitivas. Alm de seu trabalho
em lingstica, Chomsky muito conhecido
por suas opinies polticas (ativistas e
socialistas) e por sua crtica poltica
externa dos EUA (que ele chama de
estado terrorista lder) e governos aliados.
Chomsky descreve a si mesmo como um
socialista libertrio e um simpatizante do
anarco-sindicalismo.

Verso: 2.3
Data: 22/04/08

41

Hierarquia de Chomsky
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman

Estabelece uma relao de incluso entre as


gramticas: Tipo 3 Tipo 2 Tipo 1 Tipo 0
Tipo 0

Gramtica irrestrita

Tipo 1

Gramtica sensvel ao contexto

Tipo 2

Gramtica livre de contexto

Tipo 3

Gramtica regular

Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

42

21

Tipos de Gramticas
Definio: Seja G uma gramtica e a cadeia nula:
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman

(a) Gramtica regular (tipo 3): toda produo da forma


a ou aB ou , com ,BN, aT.
(b) Gramtica livre de contexto (tipo 2): toda produo
da forma , com N, (NT)*.
(c) Gramtica sensvel ao contexto (tipo 1): toda
produo da forma , com , (NT)*,
N, (NT)* {}.
(d) Gramtica irrestrita (tipo 0): toda produo da forma
, com [(NT)* - T*] e (NT)*.

Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

43

Gramtica Regular
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman

Pode ser de um dos dois tipos:


1. Gramtica Linear Direita, onde toda
produo na forma a ou aB ou
, com ,BN, aT.
2. Gramtica Linear Esquerda, onde toda
produo na forma a ou Ba ou
, com ,BN, aT.

A Gramtica Linear Direita e a Gramtica


Linear Esquerda so equivalentes entre si.

Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

44

22

Gramtica Regular
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa

Exemplo: a gramtica G = (N, T, P, ), com:


T={a,b},
N={, S},
P={b, aS, SbS, Sb} regular.
Derivaes possveis: ab, abb, bbbabb,
No caso, esta uma gramtica linear direita.
L(G)= b*abb*

Reviso 1:
Jaime S. Sichman

G gera uma linguagem L(G) que regular.

Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

45

Gramtica Livre de Contexto


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Exemplo: a gramtica G = (N, T, P, ), com:


T={a,b}, N={}, P={ab, ab}
livre de contexto.
Derivaes possveis: ab, aabb, aaabbb,

L(G)={anbn | n > 0} L uma linguagem livre


de contexto e no uma linguagem regular!
Toda linguagem regular livre de contexto!

Linguagens livres de contexto permitem, alm


das operaes permitidas para a linguagem
regular, operaes de aninhamento.

Verso: 2.3
Data: 22/04/08

46

23

Gramtica Sensvel ao Contexto


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Exemplo: a gramtica G = (N, T, P, ), com:


T={a,b,c}, N={,A,B,C,D,E},
P={aAB, aB, AaAC, AaC, BDc,
Db, CDCE, CEDE, DEDC, CcDcc}
sensvel ao contexto

Mdulo:
Linguagens,
Gramticas e
Autmatos

CEDE diz que C pode ser substitudo por D caso C seja


seguido por E

Autora:
Anna H. R. Costa

Derivaes possveis: abc, aabbcc, aaabbbccc,

Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

L(G)={anbncn : n=1,2,}
Declaraes e uso de variveis em programas fazem
parte de linguagens sensveis ao contexto.

Verso: 2.3
Data: 22/04/08

47

Gramtica Irrestrita
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

Exemplo : a gramtica G = (N, T, P, ) a seguir


irrestrita :
T={a,b}, N={,B,C},
P={BC, BCCB, Bb, Ca}.
A produo BCCB somente permitida em gramticas do
tipo 0.

L(G)={ab, ba}
Como esta linguagem finita e pode ser definida at
mesmo pela enumerao de suas duas sentenas, e
portanto tambm por uma gramtica regular, percebese facilmente que, embora sendo descrita neste
exemplo por uma gramtica do tipo 0, ela no deixa
de ser simplesmente uma linguagem regular. Isto
possvel, bastando observar as relaes de incluso
da hierarquia de Chomsky.

48

24

Gramticas e Linguagens
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman

Toda gramtica regular tambm uma


gramtica livre de contexto.
Toda gramtica livre de contexto
tambm uma gramtica sensvel ao
contexto.
Toda gramtica sensvel ao contexto
tambm uma gramtica irrestrita.

Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

49

Linguagens e Gramticas
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa

Definio:
Uma linguagem L sensvel ao
contexto (respectivamente livre de
contexto, regular) se existe uma
gramtica sensvel ao contexto G
(respectivamente livre de contexto,
regular) com L = L(G).

Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

50

25

Gramtica para Inteiros


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

A gramtica para inteiros dada anteriormente


livre de contexto. Se mudarmos as produes
para:
<digitos>::= 0<digitos> |1<digitos> |... | 9<digitos> |
<inteiro>::= + <inteiro sem sinal> | <inteiro sem sinal> |
0<digitos> |1<digitos> |... | 9 <digitos>
<inteiro sem sinal>::= 0<digitos> |1<digitos> |... | 9<digitos>

resultar numa gramtica G regular. Como a


linguagem L=L(G) gerada no foi modificada,
conclumos que L uma linguagem regular.

Verso: 2.3
Data: 22/04/08

51

Gramticas Regulares e Autmatos


Finitos
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa

Nesta seo mostraremos que gramticas


regulares e autmatos finitos so formalismos
essencialmente equivalentes, no sentido em
que ambos permitem especificar linguagens
regulares (as gramticas, como dispositivos
geradores, e os autmatos, como dispositivos
reconhecedores).

Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

52

26

De Autmatos Finitos para Gramticas


Regulares
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Seja o autmato finito AF abaixo, o qual


aceita cadeias sobre {a,b} que contm um
nmero mpar de as, e rejeita todas as
demais.
b

Mdulo:
Linguagens,
Gramticas e
Autmatos

Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

a
a

Determinar uma gramtica regular


equivalente.

Verso: 2.3
Data: 22/04/08

53

De Autmatos Finitos para Gramticas


Regulares
AF  G:
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

os smbolos de entrada {a,b} do AF correspondem


aos smbolos terminais de G.
Os estados P e I correspondem aos smbolos no
terminais.
O estado inicial P corresponde ao smbolo inicial.
Os arcos do AF correspondem s produes de G.
Se existir um arco rotulado por x de S para S,
escreve-se a produo: SxS.
No exemplo, tem-se: P bP, P aI, I aP, I bI

Alm disso, se S for um estado de aceitao, incluise: S.


No exemplo: I.

Verso: 2.3
Data: 22/04/08

54

27

De Autmatos Finitos para Gramticas


Regulares
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Assim, a gramtica G=(N,T,P,Q), com:


N={R,Q},
T={a,b} e
P={Q bQ, Q aR, R aQ, R bR, R}
gera a linguagem L(G), a qual a mesma que o
conjunto de cadeias aceitas pelo autmato finito
AF:
b
b

a
a

L(G) = Ac(AF)

Verso: 2.3
Data: 22/04/08

55

De Autmatos Finitos para Gramticas


Regulares
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Teorema:
Seja A um autmato finito dado por um diagrama de
transies. Seja o seu estado inicial. Sejam ainda T o
seu conjunto dos smbolos de entrada, e N o seu conjunto
de estados. Suponha que seja definido um conjunto de
produes P, onde se criam produes do tipo:
(i) SxS se existir em A um arco rotulado x de S para S
(ii) S se S for um estado de aceitao.
Ento, o conjunto de cadeias L(G) geradas pela gramtica
G=(N, T, P, ) precisamente igual ao conjunto de
cadeias Ac(A) aceitas pelo autmato finito A.

Verso: 2.3
Data: 22/04/08

56

28

De Gramticas Regulares para


Autmatos Finitos
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Seja a gramtica regular G=(N,T,P,), com N={, C},


T={a,b}, P={b, aC, CbC, Cb}. Determinar o
AF correspondente.

G  AF:
Os smbolos no terminais correspondem aos
estados.
Para cada produo da forma SxS, desenhar uma
aresta de S a S, com rtulo x (produes b,
aC, CbC).
A produo Cb equivale a: CbF, F, sendo F
um smbolo no terminal adicional.
A produo F indica que F um estado de
aceitao.

Verso: 2.3
Data: 22/04/08

57

De Gramticas Regulares para


Autmatos Finitos
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

b
a

Diagrama de
transies do
autmato resultante.

Este autmato um autmato finito no


determinstico (estando no estado C, caso
receba b como entrada, o prximo estado no
est determinado: pode ser C ou F)
G=(N,T,P,), com N={, C}, T={a,b},
P={b, aC, CbC, Cb}.

Verso: 2.3
Data: 22/04/08

58

29

Autmatos Finitos No Determinstico


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Um autmato finito no determinstico


At=(I,S,f,A,) definido por:
um conjunto finito I de smbolos de entrada.
um conjunto finito S de estados.
uma funo prximo estado f: S I P(S).
um subconjunto A de S de estados de
aceitao.
um estado inicial .

Verso: 2.3
Data: 22/04/08

59

Autmatos Finitos No Determinstico


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Exemplo: desenhar o diagrama de transies do


AF no determinstico com I={a,b}, S={,C,D},
A={C,D}, estado inicial e funo prximo
estado dado pela tabela abaixo:
I
S

C
D

{,C}

{C,D}

{D}
{C}

Verso: 2.3
Data: 22/04/08

60

30

Autmatos Finitos No Determinstico


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Seja At=(I,S,f,A,) um autmato finito no


determinstico:
A cadeia nula aceita por At se e somente se
A.
Se = x1xn uma cadeia no nula sobre I
e os estados 0,, n satisfazem:
(a) 0 = ;
(b) i f(i-1, xi) com i = 1,.., n;
(c) n A,
diz-se que aceita por At.

Verso: 2.3
Data: 22/04/08

61

Autmatos Finitos No Determinstico


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Denota-se Ac(At) ao conjunto de cadeias


aceitas por At e diz-se que At aceita Ac(At).
Se At e At so autmatos finitos no
determinsticos e Ac(At)=Ac(At), ento At e At
so equivalentes.
Se = x1xn uma cadeia sobre I e existem
os estados 0,, n satisfazendo:
(a) 0 = ,
(b) i f(i-1, xi) com i = 1,.., n,
o caminho (0,, n) chamado de caminho
que representa em At.

Verso: 2.3
Data: 22/04/08

62

31

Autmatos Finitos No Determinstico


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Exerccio: a cadeia = aabaabbb aceita


pelo autmato finito no determinstico
abaixo? Se sim, localizar o caminho que
representa e o estado de aceitao.

Mdulo:
Linguagens,
Gramticas e
Autmatos

Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman

b
a

Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

63

De Gramticas Regulares para AFNDs


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Teorema:
Seja G = (N,T,P,) uma gramtica regular.
Sejam I = T, S = N {F}, onde F NT,
f(S,x) = {S | SxS P} {F | S x P, com xT},
A = {F} {S | S P}.
Ento, o conjunto de cadeias Ac(At) aceitas
pelo autmato finito no determinstico
At = (I, S, f, A, ) precisamente igual ao
conjunto de cadeias L(G) geradas pela
gramtica G.

Verso: 2.3
Data: 22/04/08

64

32

De AFNDs para Autmatos Finitos


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Na seo anterior vimos que, se A um


autmato finito, existe uma gramtica regular G,
com L(G)=Ac(A). Vimos tambm que, se G
uma gramtica regular, existe um autmato
finito no determinstico At, com L(G)=Ac(At).
Nesta seo veremos que, se G uma
gramtica regular, existe um autmato finito A,
com L(G)=Ac(A). Isso ser resultado da
demonstrao de que qualquer autmato
finito no determinstico pode ser convertido
num autmato finito equivalente.

Verso: 2.3
Data: 22/04/08

65

De AFNDs para Autmatos Finitos


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos

Teorema: Seja um autmato finito no


determinstico At=(I, S, f, A, ). Seja:
(a) S= P(S). (b) I= I. (c) = {}.
(d) A= {XS | X A }.
(e) Para cada XS e zI, com sS

f(X,z) =

Autora:
Anna H. R. Costa

se X=

f(s,z) se X .

sX

Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Ento o autmato finito At= (I',S,f,A,)


equivalente a At.

Verso: 2.3
Data: 22/04/08

66

33

De AFNDs para Autmatos Finitos


PCS 2214
Fund. Eng. Comp.
I

Ex.: Encontrar o autmato finito equivalente ao


autmato finito no determinstico dado abaixo:
b

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

b
a

O conjunto de smbolos de entrada no muda:


I= {a,b}. O estado inicial = {}.
Os estados S consistem de todos os elementos do
conjunto potncia do estado S original: S = P(S) =
{, {}, {C}, {F}, {,C}, {,F}, {C,F}, {,C,F}}.
Os estados de aceitao so todos os elementos de
S que contenham um estado de aceitao do
AFND original: A= {{F}, {,F}, {C,F}, {,C,F}}.

67

De AFNDs para Autmatos Finitos


PCS 2214
Fund. Eng. Comp.
I

Uma aresta desenhada de X para Y e rotulada


com z se X==Y ou se f(S,z)=Y.
SX

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Reviso 1:
Jaime S. Sichman
Reviso 2:
Joo Jos Neto

{}

Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa

b
a

{C}
a

b
a

b
a

{,F}

{,C,F}

{,C}

b
{C,F}
b

{F}

Autmato finito equivalente


ao AFND dado.

Verso: 2.3
Data: 22/04/08

68

34

De AFNDs para Autmatos Finitos


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Os estados {,C}, {,F}, {F}, {,C,F} no so


nunca alcanados.
Portanto, pode-se elimin-los, resultando no
autmato finito simplificado equivalente ao
anterior:
b

Mdulo:
Linguagens,
Gramticas e
Autmatos

{}

{C}

Autora:
Anna H. R. Costa

Reviso 1:
Jaime S. Sichman

Reviso 2:
Joo Jos Neto

{C,F}
b

Verso: 2.3
Data: 22/04/08

69

De AFNDs para Autmatos Finitos


PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori

Exerccio: Transforme o autmato finito no


determinstico abaixo no seu equivalente
autmato finito determinstico:
a

Mdulo:
Linguagens,
Gramticas e
Autmatos

Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman

b
a

Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

70

35

Bibliografia
PCS 2214
Fund. Eng. Comp.
I

Profs:
Anna H. R. Costa
Joo Jos Neto
Lria M. Sato
Romero Tori
Mdulo:
Linguagens,
Gramticas e
Autmatos
Autora:
Anna H. R. Costa
Reviso 1:
Jaime S. Sichman

Johnsonbaugh, R. Discrete Mathematics. Prentice


Hall International, London, UK, 4th. Ed. 1997. Cap.
10.
Gersting, J.L. Fundamentos Matemticos para a
Cincia da Computao. LTC Editora, Rio de
Janeiro. 5a. Edio. 2004. Cap. 8.
Lewis, H.R. and Papadimitriou, C.H. Elementos de
Teoria da Computao. Bookman, Porto Alegre.
2a. Edio, 2004.
Sipser, M. Introduction to the Theory of
Computation. PWS Publishing Company, Boston,
MA. 1997.

Reviso 2:
Joo Jos Neto

Verso: 2.3
Data: 22/04/08

71

36

Você também pode gostar