Sei sulla pagina 1di 13

UNIVERSIDADE FEDERAL DE PELOTAS

PROGRAMA DE PS-GRADUAO EM COMPUTAO


DISCIPLINA DE TEORIA DA COMPUTAO
PROFESSORA SIMONE COSTA

AUTMATOS FINITOS NO DETERMINSTICOS E


AUTMATOS FINITOS NO DETERMINSTICOS COM
MOVIMENTO VAZIO

LEONARDO CAMPOS SOARES


WAGNER ISHIZAKA PENNY

ABRIL, 2014.

PPGC-UFPel

Teoria da Computao

1 INTRODUO
Uma mquina de estados finitos, ou autmato finito, um sistema capaz de
receber entradas e produzir sadas discretas, podendo assumir um nmero
finito e pr-definido de estados, no qual cada estado possui somente as
informaes necessrias para determinar qual o estado seguinte.
Os autmatos finitos so capazes de descrever as linguagens da classe
regular, e seu controle pode ser determinstico, no qual o autmato no pode
assumir mais de um estado em qualquer instante, ou no determinstico, no
qual o autmato pode estar em vrios estados ao mesmo tempo, sendo este
uma generalizao do determinismo. Uma linguagem dita regular se um
autmato finito a reconhece.
O no determinismo no expande as linguagens que podem ser aceitas por
autmatos finitos determinsticos, mas em alguns casos muito mais eficiente
para a descrio e compreenso da funo do autmato. Na prtica, um
autmato finito no determinstico permite que utilizemos linguagens de alto
nvel na descrio de um problema e, tendo a capacidade de processar a
mesma classe de linguagens que os autmatos finitos determinsticos, pode
ser convertido para este tipo e ento ser processado por um computador
convencional. Sendo uma caracterstica no essencial dos autmatos finitos, o
no determinismo pode ser remodelado a qualquer momento para um AFD
para ser processado pela linguagem de baixo nvel dos autmatos.
Para correto entendimento da teoria dos autmatos necessria a
compreenso dos conceitos a seguir.

Alfabeto: Conjunto no vazio e finito de smbolos, representado por .

Potncia de um alfabeto: k = conjunto de palavras de tamanho K


formadas a partir de .

String: Sequncia finita de smbolos formada a partir de um alfabeto.

Comprimento de uma string: nmero de posies para smbolos em


uma palavra. O comprimento da string w |w|.

Linguagem: conjunto de strings, os quais escolhem seus smbolos a


partir de um alfabeto nico.

Linguagem Regular: uma linguagem dita regular se um autmato


finito a reconhece.

Autmatos Finitos no determinsticos

PPGC-UFPel

Teoria da Computao

Alm disso existem tambm outras definies importantes:

Estado inicial: estado inicial do autmato, na representao por grafos


indicado por uma seta sem origem;

Estado de aceitao: o estado final do autmato, na representao por


grafos indicado por um crculo duplo (estados simples usam crculos
simples);

Transio passagem de um estado para outro, no grafo


representada pela seta que interliga dois estados;

Funo de transio funo que define, a partir do estado atual e do


smbolo de entrada, para qual estado o sistema ir se deslocar.

Os autmatos finitos no determinsticos so especialmente mais simples de


especificar nos casos a seguir:

Modelagem de algoritmos com seleo;

Definio de linguagens compostas por conjuntos bastante diferentes.


Adequado para descrever de forma concisa linguagens complexas.

2 Autmatos Finitos no determinsticos


Autmato finito no determinstico (AFN ou AFND) aquele que possui a
capacidade de estar em mais de um estado ao mesmo tempo. como se o
autmato tivesse a capacidade de adivinhar informaes a respeito da entrada.
Um exemplo disto a busca por determinadas sequncias de caracteres em
um longo string de texto, em que til adivinhar que se est no incio de um
string destes.
De um modo informal podemos dizer que um AFN um autmato que possui,
da mesma forma que os AFD, um conjunto finito de estados, um conjunto finito
de smbolos de entrada, um estado inicial e um conjunto de estados de
aceitao. Tambm possui uma funo de transio, mas ao contrrio dos AFD
Autmatos Finitos no determinsticos

PPGC-UFPel

Teoria da Computao

que retornam apenas um estado, nos AFN pode retornar um conjunto de zero,
um ou mais estados.
O autmato finito no determinstico uma generalizao dos autmatos finitos
determinsticos, ou seja, toda linguagem que reconhecida por um AFN
tambm pode ser reconhecida por um AFD. Dessa forma pode-se escrever um
AFN como um AFD, entretanto muitas vezes o AFD obtido possui uma
quantidade muito maior de estados que o sistema no determinstico, se Q a
quantidade de estados do AFN, a quantidade de estados do AFD ser Q = 2Q.

2.1 Definio formal de um AFN


Pode-se definir um autmato finito no determinstico de maneira formal como
uma quntupla M (Q, , , q0, F), onde:
Q um conjunto finito de estados,
um alfabeto,
q0 Q o estado inicial,
F Q o conjunto de estados finais (aceitao),
: Q x  P(Q) a funo de transio.
Alm desta definio formal atravs da tupla de cinco elementos, um AFN pode
ser descrito ainda de duas formas:
- Diagrama de transies atravs de grafos: grafo definido de modo que
para estado exista apenas um n correspondente; haja conexo entre ns
chamada de transio e definida pelo estado atual e pelo smbolo de entrada;
existe uma seta no estado inicial q0 identificada como Incio, a qual no se
origina em nenhum outro n; estados em estado de aceitao possuem crculo
duplo e em estado de no aceitao possuem crculo simples.
- Tabela de transies que tabula a funo : representao
convencional e tabular de uma funo que recebe dois argumentos e retorna
um conjunto de valores (AFN) ou um valor (AFD). As linhas da tabela
correspondem aos estados e as colunas correspondem s entradas.

Autmatos Finitos no determinsticos

PPGC-UFPel

Teoria da Computao

Exemplo 1: Dado o AFN descrito pelo grafo a seguir, encontre a tabela de


transio de estados e resolva de forma que sejam aceitas apenas strings com
final 01, dada a sequncia de entrada 00101.

De maneira formal este grafo pode ser representado por:


({q0,q1,q2}, {0,1}, , q0, {q2})
Onde a funo dada pela seguinte tabela de transies:
TABELA DE TRANSIO DE ESTADOS
0

{q0, q1}

{q0}

q1

{q2}

*q2

 q0

Na tabela o estado inicial recebe uma seta e o estado de aceitao marcado


com um asterisco. Quando no existe nenhuma transio de um dado estado
sobre um dado smbolo de entrada o resultado adequado o conjunto vazio.
Para a sequncia dada o autmato est no seu estado inicial. Ao ler a entrada
0 ele pode ir para dois estados: q0 e q1. Neste caso o autmato encontra-se
nos estados q0 e q1 ao mesmo tempo. A prxima entrada 0, a partir de q1
no existe qualquer ao com entrada 0, ento este ramo morre na anlise.
J o ramo em q0 vai para q0 e q1 novamente. A prxima entrada 1, assim o
estado q1 vai para q2 e a entrada 001 aceita e o estado do ramo q0 vai para
q0. Entretanto a entrada no est encerrada. A quarta entrada 0, a partir de
q2 no existe qualquer ao com entrada 0, ento este ramo morre na
anlise. O ramo que estava em q0 vai para q0 e q1. A ltima entrada, um 1, faz
com que q1 v para q2 e q0 v para q0, dessa forma atinge-se novamente o
estado de aceitao e a entrada 00101 aceita.

Autmatos Finitos no determinsticos

PPGC-UFPel

Teoria da Computao

Nesta figura consta a maneira pela qual o AFN processa as entradas.

3 Autmato Finito no determinstico com movimento vazio


(AFND-)
Um autmato finito no determinstico com movimento vazio, ou com transies, uma generalizao dos AFND, que no expande a classe de
linguagens aceita por estes, mas que acrescenta uma desejvel convenincia
de programao ao permitir a mudana de um estado para outro sem que seja
feita a leitura de um caractere da fita de entrada. Como generalizao de um
AFND, pode ser simulado por este, e tambm por um AFD.
Um movimento vazio, ou

-transio,

consiste em uma mudana interna no

estado do autmato. A mudana ocorre sem a leitura de qualquer dado na fita


de entrada. A no ser por uma eventual mudana de estado, nenhuma outra
ao pode ser observada em um movimento vazio.
Os AFND- podem ser definidos da mesma forma que um AFND, mas a
funo de transio deve acrescentar o {} para permitir as operaes de
mudana de estado sobre a string vazia. Um autmato finito no-determinstico
com movimento vazio uma quntupla M=(Q, , , q0, F) onde:
Q um conjunto finito de estados
um alfabeto,
q0 Q o estado inicial
F Q o conjunto de estados finais
a funo de transio : Q x  P(Q), onde = U {}
Autmatos Finitos no determinsticos

PPGC-UFPel

Teoria da Computao

Podemos representar um AFND- atravs de uma tabela de transio de


estados ou atravs de um diagrama de estados. A tabela conter linhas com os
estados possveis de serem assumidos, e as colunas tero as entradas
possveis, enquanto os diagramas tero estados inicial, intermedirio e final (de
aceitao), representados
representados de forma distinta, e setas representam as transies.

Autmatos Finitos no determinsticos

PPGC-UFPel

Teoria da Computao

- Funo Fecho- (tambm conhecida como Fecho-Vazio e ECLOSE)


Pode ser definida informalmente como a funo que recebe um estado q e
retorna o conjunto de estados composto por q e todos os estados em que
possvel chegar a partir de q seguindo transies rotuladas por .
Formalmente podemos definir Fecho-(q) recursivamente:
- O estado q est em Fecho-(q)
- Se o estado p est em Fecho-(q), e existe uma transio do estado p para o
estado r rotulada por , ento r est em Fecho-(q).
Exemplo 2: Eliminao de transies vazias em um AFND-

Utilizando-se a tabela de transio de estados:


1. Elimine-se a coluna do , incluindo em cada estado que possui arco- o
destino do mesmo.
2. Incluem-se os demais estados, seguindo o mesmo procedimento.

Autmatos Finitos no determinsticos

PPGC-UFPel

Teoria da Computao

1) A primeira etapa a construo da tabela de transio de estados da


AFN, que est representada pela tabela da esquerda, chamaremos de
a funo de transio da AFN e de a funo de transio da AFD .
2) O segundo passo a construo de uma tabela para representar as
transies da AFD atravs do produto cartesiano dos estados da AFD,
chama-se a cada produto destes estado S0, S1, ....Sn., incluindo como
ltimo estado o conjunto vazio.

S0={q0}
S1={q1}
S2={q0,q1}
S3={ }
Sempre existir 2k combinaes, onde k o nmero de estados do AFN,
assim, na pior das hipteses, o AFD possuir no mximo 2k estados.
3) Mostrar todos os conjuntos que contm como elemento estados finais
como novo estado final de , neste caso todos estados que contenham
q1, o qual o estado de aceitao.

Autmatos Finitos no determinsticos

PPGC-UFPel

Teoria da Computao

S0={q0}
S1={q1}
S2={q0,q1}
S3={ }
Neste caso os estados que contm q1 so os estados S1 e S2.

4) Verificar a ocorrncia de cada conjunto de em relao a um smbolo e


colocar como resultado o conjunto correspondente que pertence a .
Quando existir mais de um elemento no conjunto a ocorrncia passa a
ser a unio das ocorrncias de todas as transies.
a

S0={q0}

q0, q1 = S2

S3

S1={q1}

S3

q1=S1

q0, q1 = S2

q1=S1

S3

S3

S2={q0,q1}
S3={ }

A interpretao desta etapa a seguinte: se estou no estado q0 e q1 ao


mesmo tempo, e recebo a o estado q0 e q1 mantido, se recebo b o
sistema passa a estar no estado q1. Caso no exista atividade com
determinada entrada para determinada situao a resposta o conjunto
vazio, por exemplo no estado S0 se recebe b no existe atitude a ser
tomada pelo autmato, assim a resposta o conjunto vazio.
5) Eliminar as linhas que possuem transies somente com sadas, ou
seja, no existe nenhuma transio que chega at ela (estado
inacessvel). Neste caso no existe estado inacessvel.
6) Montar o AFD a partir de .

Autmatos Finitos no determinsticos

PPGC-UFPel

Teoria da Computao

7) Eliminar estados que no possuem sada para nenhum outro estado e


no so finais. Neste caso apenas o estado S3 ser eliminado.

Autmatos Finitos no determinsticos

PPGC-UFPel

Teoria da Computao

8) Verificar se uma cadeia qualquer, por exemplo aab pertence tanto ao


AFN quanto ao AFD.
No AFN teramos que:

O estado final em um AFN para a cadeia aab q1.


No AFD teramos que:

O estado final em um AFD para a cadeira aab S1, que o mesmo


estado q1.
Logo a cadeia dada pertence tanto ao AFN quanto ao AFD gerado.

Autmatos Finitos no determinsticos

PPGC-UFPel

Teoria da Computao

REFERNCIAS BIBLIOGRFICAS
HOPCROFT, John, ULLMAN, Feffrey, MOTWANI, Rajeev. Introduo teoria
de autmatos, linguagens e computao. Editoral Elsevier, 2002.
LEWIS, Harry R., PAPADIMITRIOU, Christos. Elementos de teoria da
computao. Editora Bookman, 2008.
SIPSER, Michael. Introduo teoria da computao. So Paulo: Thompson,
2007. 459p.

Autmatos Finitos no determinsticos

Potrebbero piacerti anche