Você está na página 1de 6

MQUINAS DE ESTADO FINITO

Um computador armazena as informaes internamente de forma binria. Sua memria


interna contm algum padro de dgitos binrios, chamado estado do computador nesse
momento.
Um computador contm memria finita portanto um nmero finito de estados
Quando uma entrada lida (num ciclo do relgio interno que sincroniza as aes do
computador) as posies de memria mudam gerando um novo estado. O que o novo estado
representa depende tanto da entrada como do estado anterior.
Se a entrada e o estado forem conhecidos o novo estado previsvel e no aleatrio.
O estado da mquina determina sua sada. Portanto ao fim de uma successo de ciclos do
relgio, a mquina produz uma sequncia de sadas em resposta a uma sequncia de
entradas.

Definio
A mquina de estado finito um modelo que retrata as caractersticas do computador descritas
acima. Ao ler a definio perceba as seguintes propriedades:

as operaes da mquina so sincronizadas por ciclos discretos do relgio


a mquina procede de uma forma determinstica, isto , suas aes em resposta a uma dada
sequncia de entrada so completamente previsveis.
a mquina responde a entradas
existe um nmero finito de estados que a mquina pode alcanar
em qualquer momento a mquina est em um destes estados
estado atual depende dos estados e entradas anteriores que por sua vez dependem tambm
de seus estados e entradas anteriores e assim por diante at se chegar de volta configurao
inicial
a mquina capaz de produzir sadas cuja natureza uma funo do estado atual da
mquina, o que significa que tambm depende das entradas anteriores.

Definio formal de mquina de estado finito:


M= [S,I,O,fs,fo] uma mquina de estado finito se S for um conjunto finito de estados, I for um
conjunto finito de smbolos de entrada (O alfabeto de entrada), O for o conjunto finito de sada
(o alfabeto de sada) e fs e fo forem funes onde fs : S I S e fo : S O. A mquina (autmato)
sempre iniciada a fim de comear em estado incial fixo s0.
A funo f0 uma funo do prximo estado. Ela leva pares (estados, entradas) em estados.
Portanto o estado no ciclo do relgio ti+1, estado, s(ti+1), obtido pela aplicao da funo do
prximo estado ao estado no incio tI e entrada do ciclo ti.
s(ti+1) = fs(s(tI), i(ti))
onde i = entrada (input)

A funco fo uma funo da sada


O(ti) = fo(s(tI)
Exemplos de Mquinas de Estado Finito
Para descrever uma mquina de estado finito em particular, precisamos definir os tres conjuntos
e as duas funes que a definem. Por exemplo:
Seja uma mquina de estado finito M, descrita da seguinte maneira:
S = { s0, s1, s2 }
I = { 0, 1}
O = { 0, 1}
Como as duas funes fs e fo atuam em domnios finitos, elas podem ser definidas atravs de
tabelas de estados, como na Tabela 1 a seguir. A mquina M comea no estado s0 que tem sada 0.
Se o primeiro smbolo de entrada for um 0, o prximo estado da mquina s1, que tem sada 1
Estado Atual

Prximo Estado

Sada

s0

Entrada Atual
0
1
s1
s0

s1

s2

s1

s2

s2

s0

Se o prximo smbolo de entrada for 1, a mquina permanece no estado s1, com saa 1.
Continuando esta anlise, vemos que uma sequncia de entrada que consista em caracteres
01101, lidos da esquerda para a direita, produz o seguinte efeito
Ciclo

t0

t1

t2

t3

t4

t5

Entrada

Estado

s0

s1

s1

s1

s2

s0

Sada

O zero inicial da cadeia de sada suprfluo - ele apenas reflete o estado inicial, e no o
resultado de qualquer entrada.
Exerccio: para a mquina definida acima na Tabela 1, reproduza a sada para a sequncia de
entrada 1010.
Soluo:
Ciclo

t0

t1

t2

t3

t4

Entrada

Estado

s0

s0

s1

s1

s2

Sada

A sada 00111
Outra forma de definir as funes fs e f0 atravs de um grafo chamado grafo de estados. Cada
estado de M com suas sadas correspondentes o rtulo do vrtice do grafo. A funo de
prximo estado dada pelas arestas direcionadas do grafo, com cada aresta mostrando o (s)
smbolo (s) de entrada que produz (em) a mudana de estado que ela representa. O grafo de
estados de M aparece na Fig. 1 a seguir:
0
1

1
s1/1

s0/0

s2/1

1
0

Qual a sequncia de sada produzida pela mquina M do exemplo anterior, para a entrada
11001?

Soluo pelo processo de grafos:


Entrada 11001?

0
1,1

s0/0

s1/1
0

s2/1

Soluo: 000110
Soluo pelo processo tabela:
Ciclo

t0

t1

t2

t3

t4

Entrada

Estado

s0

s0

s0

s1

s2

s0

Sada

A sada 000110

t5

Exerccio:
Uma mquina M dada pelo grafo de estados da Fig. 3 a seguir. Fornea a tabela de estados de
M.

s0/0

1
S2/1

s1/1

0,1

1
0
S3/2
1

Soluo:
Maquina pela tabela de estados:

Estado Atual

Prximo Estado

Sada

s0

Entrada Atual
0
1
s0
s3

s1

s0

s2

s2

s3

s3

s3

s1

s3

Exerccio:
Uma mquina de estados descrita pela tabela de estados mostrada na Tabela 2 a seguir:
Estado Normal

Sada

s0

Prximo Estado
Entrada Atual
0
1
2
s0
s1
s1

s1

s1

s0

s0

Desenhar o grafo de estados para de M

1,2

s0/0

s1/1
1,2

Qual a sada correspondente sequncia de entrada 2110? Mostrar em tabela e em grafo.

Ciclo
Entrada

t0
2

t1
1

t2
1

t3
0

t4

Estado

s0

s1

s0

s1

s1

Sada

2, 1

s0/0

s1/1
1