You are on page 1of 5

Construo do autmato finito no-determinstico

Na seqncia, apresenta-se o Algoritmo de Thompson para a construo de


um autmato finito para reconhecer uma dada expresso regular. Esse
procedimento determina como construir um autmato finito no-
determinstico para reconhecer sentenas de uma gramtica regular.
Posteriormente, apresenta-se o procedimento para converter esse autmato
para uma mquina determinstica.
O primeiro passo do procedimento decompor a expresso regular que define
as sentenas que devero ser reconhecidas em termos de suas relaes
elementares:
um smbolo do alfabeto da linguagem;
concatenao, ;
alternativa, ;
repetio, .
Uma vez que a expresso regular tenha sido estruturada em termos das
relaes elementares, preciso construir um autmato para reconhecer cada
uma das partes da expresso. Para cada relao elementar, a estrutura de um
autmato correspondente determinada.
Para reconhecer um smbolo do alfabeto da linguagem , o autmato
correspondente composto simplesmente por um estado inicial que atinge um
estado final atravs de uma transio pela ocorrncia do smbolo
(Figura 3.3a).
[Reconhecimento de um smbolo]

[Concatenao]



[Alternativa]

[Repetio]


Figura: Autmatos elementares para a construo de Thompson.
Se a relao elementar for a concatenao de duas expresses regulares, ,
preciso compor as duas mquinas e que reconhecem e ,
respectivamente. Para a mquina composta, o estado final de
combinado com o estado inicial de (Figura 3.3b).
Para reconhecer a relao elementar que estabelece a alternativa entre duas
expresses regulares, , a forma de compor as duas respectivas
mquinas e atravs da introduo de um novo estado inicial. Este
estado tem transies para os estados iniciais de cada uma das mquinas
e atravs da string vazia. Similarmente, um novo estado final
introduzido, o qual pode ser atingido com transies pela string vazia a partir
dos estados finais das duas mquinas originais (Figura 3.3c).
A ltima relao elementar a ser considerada a repetio, , cuja mquina
de reconhecimento deve ser derivada da mquina que reconhece .
Tambm neste caso novos estados inicial e final so introduzidos. Para
reconhecer zero ocorrncias de , h uma transio pela string vazia direta
do novo estado inicial para o novo estado final. Para reconhecer uma
ocorrncia de , h transies pelastring vazia entre o novo estado inicial e o
estado inicial original, assim como entre o estado final original e o novo
estado final. Finalmente, o reconhecimento de vrias ocorrncias de d-se
atravs de uma transio pela string vazia do estado final para o estado inicial
da mquina original (Figura 3.3d).
A ttulo de exemplo, considere a construo de um um autmato finito no-
determinstico para reconhecer sentenas descritas pela expresso
regular . O primeiro passo decompor a expresso em termos
de suas relaes elementares:










Uma vez determinadas as expresses regulares elementares que compem a
expresso regular sob anlise, possvel construir os autmatos que
reconhecem cada uma dessas expresses elementares.
Para reconhecer a expresso , constri-se a mquina que reconhece o
smbolo , usando a construo apresentada na Figura 3.3a:

Similarmente, para reconhecer , constri-se a mquina que reconhece
o smbolo :

A expresso regular a composio pela alternativa das expresses
e . O autmato para reconhecer construdo pela combinao das
mquinas e conforme a estratgia apresentada na Figura 3.3c:

Neste caso, os estados 5 e 6 so os novos estados introduzidos
respectivamente como o estado inicial e o estado final da nova mquina .
O reconhecimento da expresso regular feito pelo autmato que
reconhece zero ou mais ocorrncias de , ou seja, a mquina
construda a partir da mquina conforme a estratgia apresentada na
Figura 3.3d:

Observe-se que os novos estados inicial e final de passam a ser os
estados 7 e 8, respectivamente.
Como a expresso formada pela concatenao de com , a
mquina deve combinar a mquina com uma nova instncia da
mquina segundo a estratgia apresentada na Figura 3.3b:

Observe que o estado inicial da nova mquina , , foi combinado com o
estado final da mquina , enquanto que o estado final de , , passou
a ser o estado final de .
Similarmente, uma concatenao de e . Combinando a
mquina com uma nova instncia da mquina que reconhece , obtm-
se para a mquina :

Finalmente, a expresso completa uma concatenao de com .
Combinando com uma mquina obtm-se a mquina que reconhece
a expresso regular completa, que apresentada na Figura 3.4. Para essa
mquina, o estado inicial o estado inicial de , ou seja, o estado 7, e o
estado final o estado final de , o estado .

Figura: Autmato no-determinstico que reconhece

You might also like