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

UFMT - Universidade Federal de Mato Grosso

o
Bacharelado em Ciencia da Computac
a
TLFAC - Teoria das Linguagens Formais, Automatos e Computabilidade
Professora: DSc. Andreia Gentil Bonfante

MARLISSON OLIVEIRA DE ALMADA


&&
ROBERT DE AMORIM PONTES

RELATORIO
TECNICO

AUTOMATOS FINITOS COM SAIDA

CUIABA
Janeiro de 2016

MARLISSON OLIVEIRA DE ALMADA


&&
ROBERT DE AMORIM PONTES

RELATORIO
TECNICO

AUTOMATOS FINITOS COM SAIDA

Relatorio tecnico apresentado junto ao curso


de Bacharelado em Ciencia da Computacao da
UFMT - Universidade Federal de Mato Grosso,
na area de estudo de Teoria das Linguagens
Formais, Automatos e Computabilidade, como
requisito parcial `a obtencao de notas, sob
a regencia da Prof.a Dsc. Andreia Gentil
Bonfante.

CUIABA
Janeiro de 2016
2

Lista de Figuras
1

Ilustracao da Maquina de Mealy . . . . . . . . . . . . . . . . . . . . . . . . . . .

Conte
udo
1 Introduc
ao

2 M
aquina de Mealy
2.1 Cenarios de utilizacao da Maquina de Mealy . . . . . . . . . . . . . . . . . . . .

4
4

3 M
aquina de Moore

3.1 Cenarios de utilizacao da Maquina de Moore . . . . . . . . . . . . . . . . . . . .

4 Conclus
ao

5 Referencias

Introduc
ao

Automato finito com sada1 e uma extensao do conceito de automato finito2 , possibilitando
a geracao de uma palavra de sada. Esta sada pode ser associada a`s transicoes(Maquina de
Mealy) ou aos estados(Maquina de Moore),sendo limitada `a logica binaria(aceita/rejeita). Em
ambas as maquinas, a sada nao pode ser lida, ou seja, nao pode ser usada como memoria
auxiliar.
Um maquina com sada e gerada sobre um alfabeto especial, denominado alfabeto de
smbolos de sada, podendo ser igual ao alfabeto de entrada. A sada e armazenada em uma
fita de sada independente da entrada, onde a cabeca da fita de sada move uma celula para
a direita a cada smbolo gravado. O resultado do processamento do automato finito e o seu
estado final (condicao de aceita/rejeita) e a informacao contida na fita de sada.

M
aquina de Mealy

A Maquina de Mealy e um AF modificado de forma a gerar uma palavra de sada, que pode
um automato finito determinstico com sadas
ser vazia(), para cada transicao da maquina. E
representada por uma 6-upla:
associadas a`s transicoes. E
M = (, Q, , q0 , F, )
Na qual:
-
-Q
-
-q0
-F
-

Alfabeto de smbolos de entrada, ou simplesmente alfabeto de entrada;


Conjunto de estados possveis do automato o qual e finito;
Funcao de transicao, sendo : Q Q ;
Elemento distinguido de Q denominado estado inicial;
Subconjunto de Q, denominado conjunto de estados finais;
Alfabeto de smbolos de sada, ou simplesmente alfabeto de sada.

A computacao de uma Maquina de Mealy, para uma palavra de entrada w, consiste na


sucessiva aplicacao da funcao programa para cada smbolo de w (da esquerda para a direita)
ate ocorrer uma condicao de parada. A palavra vazia como sada da funcao programa indica
que nenhuma gravacao e realizada e, obviamente, nao se move a cabeca da fita de sada. Se
todas as transicoes geram sada vazia, entao a Maquina de Mealy processa como se fosse um
AF.

2.1

Cen
arios de utilizac
ao da M
aquina de Mealy

Uma aplicacao comum e frequentemente recomendada para os automatos com sada e o projeto
de dialogo entre um programa e o seu usuario, gerando, eventualmente, acoes internas aos
sistema.
1
2

Usaremos aqui a notacao AFS


Usaremos aqui a notacao AF

Basicamente um dialogo pode ser de dois tipos:


Comandado pelo programa;
Comandado pelo usuario.
Em qualquer caso, uma das principais dificuldades do projetista e a visualizacao do conjunto
deeventos e acoes que definam um dialogo adequado para as diversas situacoes possveis.
O exemplo que segue e uma Maquina de Mealy que trata algumas situacoes tpicas de um
dialogo que cria e atualiza arquivos. A seguinte simbologia e adotada no diagrama da funcao
de transicao:
(. . .)
. . .
[. . .]
...

Entrada fornecida pelo usuario (em um teclado, por exemplo);


Sada gerada pelo programa (em um vdeo por exemplo);
Acao interna ao programa, sem comunicacao com o usuario;
Resultado de uma acao interna ao programa; e usado com entrada no diagrama.

Neste exemplo, a representacao grafica da Maquina de Mealy seria:

Figura 1: Ilustracao da Maquina de Mealy

M
aquina de Moore

um AF determinstico com sadas associadas aos estados. E


representada por um 7-upla:
E
M = (, Q, , q0 , F, , S )
Na qual:
-
-Q
-
-q0
-F
-
-S

Alfabeto de smbolos de entrada, ou simplesmente alfabeto de entrada;


Conjunto de estados possveis do automato o qual e finito;
Funcao de transicao, sendo : Q Q, a qual e uma funcao parcial;
Elemento distinguido de Q denominado estado inicial;
Subconjunto de Q, denominado conjunto de estados finais;
Alfabeto de smbolos de sada, ou simplesmente alfabeto de sada;
Funcao de sada, sendo S : Q , que e uma funcao total.

A computacao de uma Maquina de Moore, para uma palavra de entrada w, consiste na


sucessiva aplicacao de uma funcao programa para cada smbolo de w (da esquerda para a
direita) ate ocorrer uma condicao deparada, juntamente com a sucessiva aplicacao da funcao
de sada a cada estado atingido. A palavra vazia como resultado da funcao de sada indica que
nenhuma gravacao e realizada e nao se move a cabeca da fita de sada. Se todos os estados
geram sada vazia, entao a Maquina de Moore processa como se fosse um automato finito.

3.1

Cen
arios de utilizac
ao da M
aquina de Moore

Um exemplo comum de aplicacao do conceito de Maquina de Moore e o desenvolvimento de


analisadores lexicos de compiladores ou tradutores de linguagem em geral.
Basicamente, um analisador lexico e um AF que identifica os componentes basicos da linguagem, por exemplo: N
umeros, identificadores, separadores, etc.Uma Maquina de Moore como
analisador lexico e como segue:
Um estado final e associado a cada unidade lexica;
Cada estado final possui uma sada (definida pela funcao de sada) que descreve ou codifica
a unidade lexica identificada;
Para os demais estados (nao finais), em geral, a sada gerada e a palavra vazia. Eventualmente pode ser nao-vazia, se alguma informacao adicional `a codificacao da unidade
lexica e necessaria.

Conclus
ao

Automatos finitos podem ser modificados de forma a gerar palavras de sada: A Maquina de
Mealy e a Maquina de Moore.
6

Referencias

Adaptado de:
wab030. Aula 11 - Automato finito com sada. Disponvel em <http://goo.gl/t3EnhA>.
Acessado em 21/01/2016.

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