Anda di halaman 1dari 7

NOTA DE AULA TALF 2006-2

AUTMATOS: ABORDAGENS DO HOPCROFT E


PAPADIMITRIOU
MARCELINO PEQUENO

Fortaleza, 30 de outubro de 2006

1.

Autmatos Finitos Determinsticos: DFA

M = <K, , , s, F>.
K: conjunto finito de estados;
: Alfabeto finito de smbolos;
s: estado inicial (muitas vezes o chamamos de q0);
F: Conjunto de estados finais (F K).

: K X K uma funo.
1.1

Configurao:

Configurao a situao em que se encontra um autmato em um dado momento, isto ,


o estado atual e o que ainda resta do string de entrada a ser computado.
(q, w): Um estado q e w um string.
1.2

Derivao:

Derivao em um passo:
(q, aw) M (p, w)

sse para algum a , (q, a) = p.

Note que M uma funo de K X + em K X *.


Derivao em um nmero finito de passos:
A derivao em n passos o fecho reflexivo-transitivo da relao M e que denotaremos
por M*, a relao de caminho.

(q, w) M* (q, w) sse existe (q, w) tal que (q, w) M* (q, w) e (q, w) M (q, w).

Ou ainda, (q, w) M* (q, w) sse existe um caminho conduzindo de (q, w) a (q, w), isto ,
(q, w) = (q0, w0) M (q1, w1) M ... M (qm, wm) = (q, w)
1.3

Aceitao de linguagens:

Um string w * aceito por um DFA M = <K, , , s, F> sse


(q, w) M* (p, e), onde p F.
A linguagem aceita por um DFA M denotada por L(M).
L(M) = {w * | w aceito por M}.

2.

Autmatos Finitos No Determinsticos: NDFA e e-NDFA

2.1

Definio do Autmato

Papadimitriou Ingls e-NDFA

M = <K, , s, F>.
K: conjunto finito de estados;
: Alfabeto finito de smbolos;
s: estado inicial (muitas vezes o chamamos de q0);
F: Conjunto de estados finais (F K).
K X * X K uma relao.
Note que uma transio da forma (q, u, p), onde q e p so estados e u *.
Embora K X * X K seja um conjunto infinito (pois * infinito), h somente um nmero
finito de transies, isto um conjunto finito.
Obs1. Note que a abordagem do Papadimitriou Ingls d uma nica formulao para os
autmatos no determinsticos, sem e com e-transies, os NFAs e e-NFAs.
Obs2. Mais ainda, na formulao do Papadimitriou podemos ter strings como arestas de
autmatos.
B

Papadimitriou Portugus e-NDFA

M = <K, , s, F>.
K: conjunto finito de estados;
: Alfabeto finito de smbolos;
s: estado inicial (muitas vezes o chamamos de q0);
F: Conjunto de estados finais (F K).
K X {e} X K uma relao.
Note que uma transio da forma (q, , p), onde q e p so estados e ou = e.
2

Obs1. Note que a abordagem do Papadimitriou Portugus tambm d uma nica


formulao para os autmatos no determinsticos, sem e com e-transies, os NFAs e eNFAs.
C

Hopcroft Portugus e Ingls

C.1

NDFA

M = <K, , , s, F>.
K: conjunto finito de estados;
: Alfabeto finito de smbolos;
s: estado inicial (muitas vezes o chamamos de q0);
F: Conjunto de estados finais (F K).
: K X 2K uma funo.
C.2

e-NDFA

M = <K, , , s, F>.
K: conjunto finito de estados;
: Alfabeto finito de smbolos;
s: estado inicial (muitas vezes o chamamos de q0);
F: Conjunto de estados finais (F K).
: K X {e} 2K uma funo.
D

Rangel e-NDFA

M = <K, , , s, F>.
K: conjunto finito de estados;
: Alfabeto finito de smbolos;
s: estado inicial (muitas vezes o chamamos de q0);
F: Conjunto de estados finais (F K).
: K X {e} 2K uma funo.
2.2

Aceitao de Linguagens

Papadimitriou

A definio de linguagem aceita por um e-NDFA similar em ambas verses do


Papadimitriou. A diferena est que no Papadimitriou-Port no h strings na derivao
imediata.
A.1

Configurao:

Mesma definio de DFA.


(q, w): Um estado q e w um string.

A.2

Derivao:

Derivao em um passo Papadimitriou-Ingls:


(q, uw) M (p, w)

sse para algum u *, (q, u, p) .

Derivao em um passo Papadimitriou-Port:


(q, w) M (p, w)

sse para algum {e}, (q, , p) .

Note que M no mais uma funo pois, uma configurao pode gerar em um passo
vrias outras ou mesmo nenhuma.
Derivao em um nmero finito de passos:
A derivao em n passos o fecho reflexivo-transitivo da relao M e que denotaremos
por M*, a relao de caminho.
(q, w) M* (q, w) sse existe (q, w) tal que (q, w) M* (q, w) e (q, w) M (q, w).
Ou ainda, (q, w) M* (q, w) sse existe um caminho conduzindo de (q, w) a (q, w), isto ,
(q, w) = (q0, w0) M (q1, w1) M ... M (qm, wm) = (q, w)
A.3

Aceitao de linguagens:

Um string w * aceito por um e-NDFA M = <K, , , s, F> sse


(q, w) M* (p, e), onde p F.
A linguagem aceita por um e-NDFA M denotada por L(M).
L(M) = {w * | w aceito por M}.
C

Hopcroft NDFA

A definio de linguagem aceita por um NDFA a mesma em ambas verses do Hopcroft.

C.1 Extenso da Funo de Transio :K X * 2K

1. (q, e) = {q}

2. (q, xa) = ( p ,a )
p ( q ,x )

C.2

Aceitao de linguagens:

Um string w * aceito por um NDFA M = <K, , , s, F> sse

(q, w) F .
A linguagem aceita por um NDFA M denotada por L(M).
L(M) = {w * | w aceito por M}.
C

Hopcroft e-NDFA

A definio de linguagem aceita por um e-NDFA a mesma em ambas verses do


Hopcroft.
C.1

Fechamento por transies e:

Informalmente o fecho de um estado q o conjunto dos estados acessveis a partir de q,


atravs de arestas e, ou e-movimentos. Como sempre temos vrias maneiras equivalentes de
formalizar esta noo.
Hopcroft
Dado um estado finito q K, podemos definir recursivamente o conjunto ECLOSE(q).
(i)
(ii)

q ECLOSE(q).
Se p ECLOSE(q) e h uma e-transio de p para r, ento r ECLOSE(q).

Papadimitriou
Seja R a relao, R K X K, tal que p R q sse (p, e, q) .
ECLOSE(q) o fecho do conjunto {q} sob a relao R.
Ou ainda,
ECLOSE(q) = {p K | (q, e) M* (p, e)}
Obs. 1: Papadimitriou prefere denotar o fecho de um estado q, por E(q).
Obs. 2: A definio de fecho naturalmente estendida a um conjunto de estados P:
E( P ) = E( p )
pP

C.2 Extenso da Funo de Transio : K X * 2K

1. (q, e) = E(q).

2. (q, xa) = E ( p ,a ) =
p ( q ,x )

C.2

E( ( p ,a ))

p ( q ,x )

Aceitao de linguagens:

Um string w * aceito por um e-NDFA M = <K, , , s, F> sse

(q, w) F .
A linguagem aceita por um e-NDFA M denotada por L(M).
L(M) = {w * | w aceito por M}.

3.

Equivalncia Autmatos Determinsticos e No Determinsticos:

Abordagem Rangel-Marcelino: Equivalncia e-NDFA e NDFA


A idia tirar uma transio e por vez, encontrando-se um e-NDFA equivalente com uma
e-transio a menos. Como elas so finitas, aps n transies teremos um NDFA
equivalente.
Seja M = <K, , , s, F>, o e-NDFA inicial, onde K X {e} X K.
Vamos tirar uma transio
e
q

do autmato M obtendo-se um autmato:


M = <K, , , s, F>
As nicas coisas que se alteram so a relao de transio e o conjunto dos estados finais
F.

= {(q, e, p)} {(q, a, r) | s E(q) e (s, a, r) }.


F = F {q}, se E(p) F .
Lema 1:

( r , w ) ou
( r , w ) =
( r , w ) { p }
F ou
F =
F { q }

Fato 1: Se q (r, w) ento p (r, w).

Teorema 1: Se (r, w) F ento (r, w) F .


Casos:

1) p (r, w) e E(p) F = , ento (r, w) = (r, w) e F = F.

2) p (r, w) e E(p) F , ento (r, w) = (r, w) e F = F {q}.

Mas, q (r, w), pelo fato 1, logo q (r, w).

3) p (r, w) e E(p) F = , ento F = F. Mesmo que (r, w) = (r, w) {p},


novamente temos a igualdade das intersees pois p F.

4) p (r, w) e E(p) F .

Note que neste caso, (r, w) F , pois E(p) (r, w). A nica diferena poderia ser

se p (r, w) , mas neste caso, q (r, w), logo q (r, w) e F = F {q}, portanto,

(r, w) F .
Corolrio 1. L(M) = L(M).

Anda mungkin juga menyukai