Вы находитесь на странице: 1из 11

TEORI A DOS AUTMATOS

Naun Lemos Belo



naunbelo@hotmail.com
Linguagens Formais Regis

Resumo
Este artigo apresenta os conceitos introdutrios para o estudo dos autmatos. Neste,
abordado os principais tpicos da teoria dos conjuntos; alm de conceituar smbolos,
alfabetos, cadeias e gramticas. Antes de entrar no assunto de autmatos (autmatos,
autmatos finitos determinsticos e no determinsticos) importante conceituar as quatro
gramticas da Hierarquia de Chomsky.
Palavras-chave: Linguagens Formais. Autmatos. Linguagens Regulares.

Abstract
This article presents the introductory to the study of automata concepts. This is discussed the
main topics of set theory; addition to conceptualize symbols, alphabets, strings and grammars.
Before entering the subject of automata (automata, finite automata - deterministic and non-
deterministic) is important to conceptualize the four grammars Chomsky Hierarchy.

Key-words: Formal Languages. Automata. Regular Languages.



Introduo
O estudo da teoria dos autmatos consiste em ser o estudo de objetos matemticos
chamados de mquinas abstratas, e como problemas computacionais podem ser resolvidos
fazendo uso destas mquinas.
Os autmatos funcionam tendo como base uma sequncia de caracteres chamada de
cadeia que so tidas como a entrada de uma mquina.
Para entender corretamente o funcionamento de um autmato, alguns conhecimentos
prvios se fazem necessrios; como o caso do estudo sobre smbolos, alfabetos, cadeias ou
palavras, linguagens e gramticas. Porm, para o perfeito entendimento destes ltimos
necessrio ter um conhecimento bsico da teoria dos conjuntos, como as relaes e as
principais operaes entre eles (unio, complemento, interseco e diferena).
Antes de iniciar o estudo da teoria dos autmatos propriamente dita, importante falar
conceitualmente sobre as quatro gramticas (Gramticas com Estrutura de Frase, Gramticas
Sensveis ao Contexto, Gramticas Livres de Contexto, Gramticas Regulares) que compem
a Hierarquia de Chomsky.
Visto isso tudo, torna-se possvel iniciar o estudo sobre a teoria dos autmatos e dos
autmatos finitos (mquinas com nmero de estados finitos).

1 Conjuntos
sabido que um conjunto uma coleo de smbolos, uma representao grfica
nica e indivisvel, finitos ou infinitos, onde eles no esto organizados de forma ordenada.
Os conjuntos so geralmente denotados por uma letra maiscula (A, B, C,...)
escolhidas arbitrariamente.
Um conjunto vazio no contm nenhum elemento. Ele dado por ou por { };
O nmero de elementos pertencentes ao conjunto A dado por |A|.
Exemplo 1.1 A = {a, b, c, d, e}
|A| = 5, pois h 5 elementos no conjunto A.
Quando um elemento no faz parte de um conjunto, dito que ele no pertence a este
determinado conjunto. Essa relao dada pelo smbolo .
Quando o elemento faz parte de um conjunto, dito que este elemento pertence a este
conjunto. Essa relao dada pelo smbolo .
Um conjunto igual a outro conjunto (=) quando seus elementos so exatamente os
mesmo.
Se todos os elementos de um conjunto A estiverem tambm no conjunto B; ento A
est contido em B (A C). Isso equivale a dizer que a o conjunto A na verdade um
subconjunto de B.
A operao powerset, que denotada por 2
A
, tem como funo designar um conjunto
que formado por todos os subconjuntos de A.
Exemplo 1.2 Sendo A = {a, b, c, d, e},
2
A
= {, {a}, {a, b}, {a, c}, {a, d}, ...}, ainda temos que:
|A| = 5; |2
A
| = 2
5
= 64. Logo, o conjunto 2
A
composto por 64 elementos.
A unio de dois conjuntos corresponde ao conjunto formado por todos os elementos
contidos em cada um dos conjuntos. Os elementos que se repetem so considerados uma
nica vez. A operao de unio dada pelo smbolo .

Exemplo 1.3 Sendo A = {1, 2, 3, 4} e B = {3, 4, 5, 6}, ento A B = {1, 2, 3, 4, 5, 6}.

A interseco de dois conjuntos forma um conjunto composto apenas pelos elementos
que so comuns a ambos os conjuntos primrios. A interseco dada pelo smbolo .
Exemplo 1.4 Sendo A = {0, 1, 2, 3} e B = {3, 2, 4, 5}, A B = {2, 3}.
A diferena entre dois conjuntos A e B (respeitando esta ordem) dada pelo smbolo
de subtrao (-) e tem como resultado todos os elementos de A que no pertencem B.
Exemplo 1.5 Sendo A = {a, b, c, d} e B = {c, d, e, f}, A B = {a, b}.
O complemento de um conjunto A em relao a um conjunto B formado por todos
os elementos que esto em B, mas que no pertencem ao conjunto A.
Exemplo 1.6 Sendo os valores de A e B os mesmo do exemplo 1.4, ento A
B
= B A, que
tem como resutado {e, f}.
Um par ordenado uma repesentao de (a, b). Onde a um elemento do conjunto A
e b um elemento do conjunto B. A ordem de um par ordenado importante, j que (a, b)
(b, a). Um produto cartesiano de A e B resulta em um conjunto formado por todos os pares
ordenados possveis entre estes dois conjuntos.

2 Smbolos, Alfabetos, Cadeias e Gramticas
Sendo que temos por alfabeto um conjunto finito de smbolos (menor parte de um
alfabeto), possvel considerar at mesmo um conjunto vazio como um alfabeto.
Exemplo 2.1 A1 = {a, b, c, d, e}. Meu conjunto A1 um alfabeto com 5 smbolos. Logo,
|A1| = 5.
Uma cadeia, muitas vezes tambm chamada de palavra ou sentena, consiste em ser
uma sequncia de smbolos de um alfabeto justapostos. Uma palavra vazia representada pelo
smbolo uma palavra que no possui smbolos.
As cadeias podem possuir prefixos e sufixos. Sendo que uma subpalavra qualquer
sequncia de smbolos justapostos que esto dentro de uma palavra, podemos afirmar que os
prefixos e os sufixos sempre sero tambm subpalavras.
Exemplo 2.2 Seja a palavra aeiou sobre o alfabeto {a, e, i, o, u}; ento , a, ae, aei, aeio e
aeiou so os prefixos da cadeia aeiou, enquando , u, ou, uoi, eiou, aeiou so seus sufixos.
|aeiou| = 5. | | = 0.
Se u = u
1
u
2
...u
n
e v=v
1
v
2
...v
m
so cadeias de um alfabeto , ento a concatenao de u
com v ser denotada por uv. Definida como: uv=u
1
u
2
...u
n
v
1
v
2
...v
n
.
Uma cadeia pode ser concatenada em si mesma vrias vezes; uma cadeia que assim
faz denotada por w
n
; onde n numero de vezes que a conatenao ocorrer. Caso n = 0, o
resultado ser uma palavra vazia ().
A concatenao deve obedecer s propriedades:
u = u = u
u(vx) = (uv)x
|uv| = |u|+|v|
Exemplo 2.3 Seja a cadeia u=volta e v=redonda, a concatenao de u com v ser uv, ou seja,
voltaredonda.
As linguagens formais so conjuntos finitos ou infinitos de cadeias de comprimento
finito. As linguagens utilizam operaes de conjuntos, como unio, diferena, interseco,
complemento, etc. Uma palavra vazia () diferente de um conjunto vazio () que tambm
diferente de um conjunto formado pelo elemento .
A relao entre smbolos, alfabetos, cadeias e linguagens pode ser melhor
compreendida com a anlise da imagem abaixo.

Figura 1. Relao entre smbolo, linguagem, cadeia e alfabeto
Sendo assim, tem-se que os smbolos, menores partes de uma comunicao, fazem
parte de uma cadeia, e esta, por sua vez, um elemento da linguagem. Logo, a linguagem
um conjunto de cadeias, e estas so sequncias de smbolos, os quais so elementos de um
determinado alfabeto .
Gramticas: correspondem a especificaes finitas de dispositivos de gerao de
cadeias. Um dispositivo desse tipo deve ser capaz de gerar toda e qualquer cadeia
pertencente linguagem definida pela gramtica, e nada mais. Assim, as cadeias no
pertencentes linguagem no devem poder ser geradas pela gramtica em questo.
Essa forma de especificao aplicvel para linguagens finitas e infinitas (RAMOS,
2008, p.43-44).
possvel sintetizar o significado de gramtica como sendo um conjunto de regras que
iro gerenciar a formao de uma linguagem.
Para facilitar o a viso sobre o conceito de gramtica, cabvel utilizar a lngua
portuguesa como exemplo, onde as frases devem ser corretamente estruturadas para que
faam parte da linguagem padro. A frase Joo andou de bicicleta, por exemplo,
considerada gramaticalmente correta, j que obedece a uma das vrias regras de formao de
frases, o padro sujeito + predicado + complemento. Da mesma forma que as palavras
apndice e voc tambm esto gramaticalmente corretas, pois seguem a regra de
acentuao grfica.
Tal como na fala, linguagens formais podem ser especificadas atravs de
gramticas que esto intrnsecamente ligadas a elas. Porm, no as gramticas de
linguagens formais seguem regras matemticas rgidas para, entre outras coisas, evitar
dvidas quando sua interpretao. Estas gramticas tambm podem ser chamadas de
metalinguagens, que nada mais do que uma linguagem empregada para definir outras
linguagens.
Uma metalinguagem G composta por um vocabulrio, alfabeto, por regras de
substituio da gramtica e tambm por um raz da gramatica que pertence ao vocabulrio.

3 Hierarquia de Chomsky
Noam Chomsky, em 1959, descreveu o que conhecemos por Hierarquia de Chomsky.
Esta uma classificao das linguagens formais de acordo com as suas regras de produo e
autonomia que as gramticas impem sibre a construo da linguagem. Ele sugeriu 4 classes
gramaticais: Gramaticas Regulares, ou Tipo-3, Gramticas Livre de Contexto, ou Tipo-2,
Gramticas Sensveis ao Contexto, Tipo-1, e as Gramticas Irrestritas ou Gramticas com
Estrutura de Frase, Tipo-0. A relao das gramticas pode ser observada na Figura 2
(MENEZES, 2001, p. 154).

Figura 2. Hierarquia de Chomsky
O Tipo 0 (linguagem recursivamente enumervel) corresponde a todas as possveis
gramticas que so reconhecidas por uma mquina abstrata de Turing. Nesse tipo h uma e
apenas uma restrio: as regras de restrio devem estar na forma , sendo que .
As linguagens que so geradas por essa gramtica so denominadas de Linguagens
Enumerveis Recursivamente e sempre so reconhecidas pela mquina de Turing com fita
ilimitada.
Uma linguagem recursivamente enumervel um subconjunto recursivamente
enumervel no conjunto completo das palavras possveis sob o alfabeto da linguagem.
Como j foi dito, linguagens assim so reconhecidas pela mquina de Turing. Esta
mquina enumera todas as cadeias vlidas da linguagem; caso a cadeia seja infinita, o
algoritmo de enumerao selecionado deve ser um que evite repeties. A mquina de Turing
ir parar e aceitar quando a entrada for uma cadeia pertencente linguagem, mas ela pode
parar e rejeitar ou entrar em loop quando se roda com qualquer cadeia que no da
linguagem. A linguagem recursiva se difere desta pelo fato de sempre pedir que a mquina de
Turing pare.
As gramticas de Tipo 1, ou Gramticas Sensveis ao Contexto tratam as regras de
produo que esto na forma
1
A
2
1

2
, onde
i
e (V T)*, e A V. Estas
gramticas, assim como as de Tipo 0, so reconhecidas pela mquina de Turing com fita
limitada.
Uma gramtica sensvel ao contexto uma gramtica formal no livre de contexto em
que os lados esquerdo e direito de qualquer regra de produo podem ser cercados por um
contexto de smbolo terminal e smbolo no terminal (varivel).
As gramticas de Tipo 2 (gramticas livres de contexto) so as que possuem regras de
produo na forma V w, onde V uma varivel (no terminal) e w uma cadeia de
terminais e/ou variveis; w tambm pode ser uma cadeia vazia. Independente dos smbolos
que antecedem o V, V sempre ir gerar w. Estas gramticas so reconhecidas por autmatos de
pilha.
Este tipo de gramtica proporciona um mecanismo matemtico simples e preciso para
descrever os mtodos em que algumas linguagens naturais so construdas a partir de blocos
menores, capturando a "estrutura de bloco" das sentenas de uma maneira natural.
As gramticas de Tipo 2 so muito utilizadas para correes sintticas de expresses
algbricas na forma infixa.
Tipo 3 ou Gramticas Regulares so as gramticas em que a regra de produo tem a
forma ABw ou AwB , sendo A V e B T*. Elas possuem algumas regras de restrio.
Estas gramticas so reconhecidas por autmatos finitos.
As gramticas acima mencionadas possuem uma estreita relao com os autmatos
abstratos e servem atualmente como a base de componentes muito importantes de diversos
softwares, incluindo algumas partes dos compiladores e analisadores sintticos.

4 Autmatos
A teoria dos autmatos o estudo dos dispositivos de computao abstratos, ou
mquinas (HOPCROFT; ULLMAN; MOTWANI. 2002).
Antes de existir computadores como hoje, mais precisamente em 1930, Alan Turing
estudava mquinas abstratas que possuiam as caractersticas, no que se refere a capacidade de
efetuar clculos, dos modernos computadores com o objetivo de descrever os limites reais do
que era possvel e do que era impossvel a uma mquina computacional. As concluses
obtidas por ele so aplicadas ainda hoje nos computadores.
Alguns importantes componentes de um software fazem uso dos conceitos de
autmatos finitos e de certos tipos de gramticas formais ou metalinguagens.
A teoria dos autmatos est intrinsecamente relacionada teoria das linguagens
formais. Um autmato pode ser visto como uma representao finita de uma linguagem
formal que pode ser um conjunto infinito.
Um autmato deve rodar aps a entrada de uma cadeia. Ele deve fazer o
processamento smbolo a smbolo at o fim da cadeia, onde este smbolo deve pertencer ao
alfabeto do autmato. A cada processamento o autmato faz uma transio a outro estado.
Esta transio obedece alguns parmetros. A depender do estado final, o autmato pode
aceitar ou rejeitar a cadeia (palavra) de entrada.
Um autmato possui um subconjunto de estado denominados de estados de aceitao.
Se o estado final (ltimo estado de uma cadeia) for tambm um estado de aceitao, ento a
palavra aceita; caso contrrio, rejeitada.
As linguagens reconhecidas por um autmato o conjunto de todas as palavras que
so aceitas pelo autmato; j as linguagens reconhecveis so o conjunto de linguagens que
so reconhecidas por um autmato.
Os autmatos so utilizados principalmente na elaborao de compiladores, parsing e
na rea de verificao formal.
As principais entradas, tipos de estados e condies de aceitao esto relatadas
abaixo:
A. Entradas
Entrada finita: Autmato aceita apenas uma sequncia finita de smbolos.
Entrada infinita: O autmato aceita cadeias infinitas (-cadeias).

B. Tipos de Estado
Estado finito: O autmato possui um nmero finito de estados.
Estado infinito: Um autmato que no pode ter um nmero finito de estados e muitas
vezes sem ser possvel numera-los.
Pilha de memria: Autmatos com a memria baseada no formato de pilha.

C. Condies de Aceitao
Aceitao de palavras finitas: Se o ltimo estado processado for um estado de
aceitao, a cadeia ser aceita.
Aceitao de palavras infinitas: No h estados de aceitao em um -autmato. A
aceitao ocorre aps anlise das sequncias infinitas dos estados visitados durante a
execuo.
Aceitao probabilstica: No ocorre a aceitao ou rejeio de uma cadeia. O
autmato pode entrar com uma probabilidade entre zero e um.

Nos aprofundaremos mais um pouco nos autmatos finitos determinsticos e no
determinsticos.

4.1 Autmatos Finitos
Autmatos finitos so linguagens regulares, ele possui um conjunto de estados. O
controle do estado se desloca indo de estado a estado como forma de resposta a entradas
externas.
Um autmato finito pode ser dividido, quanto a forma de controle dos estados, em
autmatos finitos deterministicos que so aqueles que no podem estar em mais de um
estado simultaneamente e em autmatos finitos no-determinsticos aqueles que tornam
possvel a possibilidade de estar em mais de um estado simultaneamente.
So os autmatos tidos como no-deterministicos que nos permite programar
solues para problemas diversos fazendo o uso de uma linguagem de alto nvel.

A. Autmatos finitos determinsticos
O autmatos finitos determinsticos so aqueles que se encontram em somente um
estado aps a leitura de uma entrada. por este motivo que d-se o nome de determinstico,
pois a cada entrada existe apenas um estado ao qual o autmato poder transitar em relao ao
seu estado atual.
Os autmatos finitos determinsticos so 5-uplas compostas por:
Um conjunto finito de estados, o qual comumente denotado por Q;
Um conjunto finito de smbolos de entrada alfabeto. Denotado por sigma ( );
Uma funo de transio que possui como argumentos um estado e um smbolo de
entrada. Seu retorno um estado i. Sendo q um estado e um smbolo de entrada, a
notao de uma funo de transio dada por (q, ).
Um estado inicial que representado por q
0
. (q
0
Q).
Um conjunto de estados finais ou de aceitao (F Q).
M = ( , Q, , q
0
, F )
Um autmato finito determinstico (AFD) aceita uma cadeia de smbolos como
entrada e faz a verificao de smbolo a smbolo, indo de estado a estado, iniciando a
verificao pelo estado q
0
e indo at ao ltimo estado, ou seja, q
n
. Seja a
1
a
2
...a
n
a cadeia de
entrada, o AFD inicia a verificao com a funo de transio (q
0
, a
1
) = q
1
; aps a
verificao, ocorre a trasio do programa para o prximo estado; passando assim a prxima
verificao a ser (q
1
, a
2
) = q
2
; novamente ocorre o mesmo processo da verificao anterior;
aps a verificao, ocorre a trasio para o prximo estado, e assim por diante, encontrando
os estados q
1
q
2
...q
n
. Se q
n
um elemento de F, ento a cadeia de entrada aceita pelo
autmato; caso contrrio, rejeitada.
Se aps passar o ltimo smbolo da cadeia, o Autmato Finito determinstico assumir
um estado final (tambm chamado de aceitao), o autmato para e a cadeia de entrada
aceita; porm, se aps processar o ltimo elemento da cadeia o AFD assumir um estado no
final, o autmato tambm ir parar, mas a cadeia de entrada ser rejeitada (MENEZES, 2000).

Exemplo 4.1A Seja {w | w possui a forma x01y, onde x e y podem assumir strings compostas
somente por 0s e 1s}.
So exemplos de cadeias aceitas por este autmato: 01011, 01011, 00001011,
111101011, 110101100, 1111010110000, 01011000, 1010110. No se incluem no conjunto
de strings aceitas pelo AFD cadeias como , 0, 1111, 0000, 1100, 10.
Supondo que a cadeia de entrada seja 001101, a verificao de validade desta string
por parte do AFD ocorre da seguinte forma:
Premissas
I Um autmato finito verifica smbolo a smbolo, ou seja, caractere a caractere at o
fim da string;
II O alfabeto de entrada deste autmato = {0, 1};
III O estado inicial dado por q
0
;
IV No pode haver mais de um estado ocorrendo simultaneamente.
Estados
Este autmato possui 3 estados possveis, so eles:
q
0
Estado inicial, o estado pelo qual a verificao ir iniciar. Ao iniciar a
verificao, esperado que o primeiro smbolo de entrada seja o 0, pois assim o autmato
estar prximo de obter a substring 01 que obrigatria cadeia de entrada. Se o primeiro
smbolo de entrada for 1, ento ele no estar prximo de obter 01; ento a transio ocorre
de q
0
para q
0
, ou seja, o prximo smbolo deve ser comparado novamente com q
0
; (q
0
, 1) =
q
0
. Se a entrada for 0, o autmato estar mais prximo de encontrar 01, assim ocorre a
transio para q
1
; (q
0
, 0) = q
1
.
q
1
Se 0 entrada, o autmato no estar mais prximo de 01, ento deve-se
permanecer em q
1
. Isto , (q
1
, 0) = q
1
; porm, se a entrada for 1, a substring 01 obtida
substring dada como obrigatria uma cadeia por este autmato ento possvel seguir ao
estado de de aceitao, onde, neste caso, a ordem dos smbolos no mais importa. Ou seja,
(q
1
, 1) = q
2
.
q
2
Chegando ao estado final, a ordem no mais importa, visto que j foi encontrado a
substring 01; ento, seja 0 ou 1 a entrada, a transio ocorrer da mesma forma: ela se
manter em q2. A transio de q2 para entrada 0 ou 1 (q
2
, 1) = (q
1
, 0) = q
2
.
Resoluo
I Tendo a cadeia 001101 como entrada, deve-se analisar elemento a elemento para
saber se a cadeia ser aceita pelo autmato, a verificao se inicia pelo elemento 0 (1
elemento da cadeia).
II (q
0
, 0) = q
1
. Como a entrada foi 0, a verificao passar ao estado q
1
.
III Testando o segundo elemento da cadeia, que tambm 0, temos que o controle
permanece em q
1
. J que a verificao do estado q
1
para 0 (q
1
, 0) = q
1
.
IV O teste nesse momento ocorrer com o terceiro elemento da cadeia, que um 1.
A verificao de q
1
para 1 (q
1
, 1) = q
2
. Logo, a funo de transio passa ao estado q2.
O qual um estado pertencente a F, ou seja, um estado final, ou de aceitao.
V A funo de transio de q
2
dada por (q
2
, 0) = (q
2
, 1) = q
2
. Logo, uma vez
neste estado de aceitao, o programa (ou controle) sempre ir ficar neste estado de
aceitao at o fim da cadeia. Concluimos ento que o autmato ir aceitar essa cadeia.

O autmato acima pode ser especificado como: A = ({q
0
, q
1
, q
2
}, {0, 1}, , q
0
, {q
2
});
porm h formas mais simplificadas de fazer a demonstrao deste autmato, como o caso
de um diagrama de trasio.
O diagrama de transio uma representao grfica de um autmato. Os estados e as
transies so representadas como na imagem abaixo:

Figura 3. Representaes dos estados e da transio de um autmato finito.
Quando um estado tiver como resultado de uma funo de transio a si prprio, um
arco sair dele e retornar a ele. Isto , o estado tem-se como origem e destino de uma
transio.
Tendo conhecimento das representaes grficas dos elementos de um autmato, h a
possibilidade de representar o autmato do exemplo anterior por meios de grafos, ficando
como resultado o esquema abaixo:

Figura 4. Autmato do exemplo Exemplo 4.1 representado por grafos
Quando o estado q
0
receber o smbolo 1 como entrada, ele ir se auto-referenciar na
funo de transio; porm, se receber o smbolo 0 como entrada, ocorrer a transio para q
1
.
No estado q
1
, se a entrada for 0, ele ir se auto-referenciar na funo de transio, ou seja, a
transio ocorrer para o prprio q
1
; entretanto, se o smbolo de entrada for 1, haver a
transio para q
2
. Como q
2
o nico estado final (ou de aceitao) e ele se auto-referencia
tanto para as entradas 0 como para as entradas 1, o programa que uma vez estiver nele,
dele no sair. Assim, a cadeia que findar no estado de aceitao q
2
ser aceita pelo autmato;
porm, a cadeia que no terminar no estado de aceitao q2 ser rejeitada pelo autmato.
Alm da representao grfica (diagrama de transio), ainda podemos fazer uso da
tabela de transio, que uma representao tabular de uma funo de transio que recebe
dois argumentos e retorna um valor. As linhas da tabela correspondem aos estados, e as
colunas correspondem s entradas.

0 1
q
0
q
1
q
0

q
1
q
1
q
2

*q
2
q
2
q
2

Tabela 1. Tabela de transies para o DFA do exemplo "Exemplo 4.1A".
B. Autmatos finitos no-determinsticos.
Um autmato finito no-determinstico (AFND) possui a capacidade de estar em
vrios estados de forma simultnea.
Assim como um AFD, um AFND possui um conjunto finito de estados, um conjunto
de smbolos de entrada, um estado inicial, um conjunto de estados de aceitao e funes de
transio. A diferena entre os dois tipos de autmatos est no retorno da funo de transio
do AFND, que pode retornar zero, um ou mais estados, enquando a funo de transio de um
AFD retorna exclusivamente um estado (HOPCROFT; ULLMAN; MOTWANI. 2002).
Uma sequncia de entrada a
1
a
2
...a
n
aceita por um autmato finito no determinstico
se existe uma sequncia de transies correspondendo a sequncia de entrada, que leva do
estado inicial a algum dos estados finais (OLIVEIRA, 2011).
Exemplo 4.1B Seja {w | w possui forma x10, onde x pode assumir qualquer cadeia composta
somente por 0s e 1s}, verificar se a cadeia de entrada 0110 ser ou no aceita pelo autmato.
Este autmato tem a tarefa de aceitar toda cadeia binria que tenham 10 como seus
dois ltimos smbolos. Pelo diagrama de transio temos o seguinte grafo:

Figura 5. Grafo do autmato
A funo de transio do estado q
0
(q
0
, 0) = q
0
e (q
0
, 1) = {q
0,
q
1
}. J a funo de
transio de q
1
(q
1
, 0) = q
2
. O estado q
2
o estado de aceitao e no possui funo de
transio.
Resoluo:
Seja a cadeia de entrada 0110, verificar se ela ser ou no aceita pelo autmato finito
no determinstico.
I Assim como ocorre nos autmatos finitos determinsticos, a funo de verificao
verifica smbolo a smbolo, iniciando com o primeiro smbolo da cadeia de entrada, que neste
caso o 0 e indo at o ltimo smbolo da cadeia. Sendo (q
0
, 0) = q
0
, o programa continua
apenas em q
0
.
II Verificar o segundo smbolo da cadeia (1). Sendo (q
0
, 1) = {q
0,
q
1
} a funo de
transio de q
0
para o valor de entrada 1, o controle passar a estar simultaneamente em
dois estados: em q
0
e em q
1
.
III Agora a verificao do terceiro smbolo de entrada ocorrer tanto em q
0
como em
q
1
. Sendo 1 o smbolo de entrada, e sendo (q
0
, 1) = {q
0,
q
1
} a funo de transio de q
0

para entrada 1, mais dois estados estaro em uso simultneo na verificao do quarto e
ltimo elemento da cadeia de entrada. Sendo que a funo de transio de q
1
para entrada
igual a 1 inexistente, este ramo do autmato fica paralisado.
IV Sendo 0 o ltimo smbolo da cadeia de entrada e sendo que h estados em
funcionamento simultneo (q
0
e q
1
), a verificao ocorrer para ambos. A funo de transio
de q
0
para smbolo de entrada igual a 0 (q
0
, 0) = q
0
; como o estado final q
2
, a cadeia no
foi aceita por este ramo do autmato. Agora efetua-se o teste para q
1
; (q
1
, 0) = q
2
. Como este
o ltimo smbolo da cadeia de entrada, e necessrio que apenas um ramo termine no
estado final para que a cadeia seja aceita, e sendo que por este ramo do autmato a cadeia
findou no estado final (ou de aceitao), a cadeia aceita pelo autmato.

A resoluo feita acima pode ser visualizada no diagrama abaixo, veja:

Figura 6. Diagrama da resoluo do exemplo "Exemplo 4.1B"
Os autmatos finitos no determinsticos so muito utilizados para advinhar palavras
a partir de uma subtring que j foi dada como entrada.

5 Consideraes Finais
Aps ter o conhecimento destes fatores, possvel concluir que a teoria dos autmatos
foi e continua sendo uma importante teoria rea da cincia da computao. Onde com uma
entrada temos uma determinada quantidade de sadas em funo dos parmetros da funo de
transio presente em cada estado do autmato.
A constituio dos autmatos nos permite elaborar tcnicas de segurana e de
inteligncia artificial bem configuradas (j que alguns importantes componentes de um
software ou at mesmo todo um software - fazem uso dos conceitos de autmatos finitos e
de certos tipos de gramticas formais) os quais sem sua utilizao para estes fins tornaria esta
tarefa muito mais difcil, e s vezes at mesmo impossvel.




Referncias
HOPCROFT, John E.; ULLMAN, Jeffrey D.; MOTWANI, Rajeev. Introduo teoria de
autmatos, linguagens e computao. 2 ed. 9 reimpr. Rio de Janeiro: Elsevier, 2002.
MENEZES, Paulo. Linguagens Formais e Autmatos. 3 ed. Porto Alegre: Editora Sagral
Luzzatto, 2000.
RAMOS, Marcus. Linguagens Formais e Autmatos. Disponvel em <
http://www.univasf.edu.br/~marcus.ramos/lfa-2008-1/Apostila.pdf>. Acesso em 05/05/2014
s 15:52.
OLIVEIRA, Eduardo. Linguagens Formais. Disponvel em <
https://docs.google.com/file/d/0Byl0QsKzHhtOOTRiYTNkMTQtYjE0MS00ZTgzLWFkNDI
tNGU4YzU5ZDU5YjY4/edit >. Acessado em 09/05/2014.
Bibliografia Consultada
SANTOS, Edmar. Obteno de Gramticas L-systems a Partir de Cadeiras de
Caracteres. Disponvel em <
https://www.unimep.br/phpg/bibdig/pdfs/2006/WJETMILTOISG.pdf >. Acesso em
08/05/2014 s 14:51.
UFPE. Hierarquia de Chomsky. Disponvel em
<http://www.cin.ufpe.br/~if114/Monografias/Automatos%20Probabilisticos/chomsky.htm>.
Acessado em 07/05/2014 s 15:26.
AGUIAR, Laura. Introduo a Teoria de Conjuntos. Disponvel em: <
http://www.ufjf.br/cursinho/files/2012/05/pag-01.121.pdf>. Acesso em 09/05/2014.

Вам также может понравиться