SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Curso: Ciência da Computação



Aspectos Teóricos da Computação

            Aula 10

  Autômato Finito com Saída
Notas de Aula




Aspectos Teóricos da Computação   2/23
Autômato Finito com Saída
É possível estender a definição de Autômato
Finito, incluindo-se a geração de uma palavra de
saída.
As saídas podem ser associadas:
●   às transições (Máquina de Mealy);
●   aos estados (Máquina de Moore).
Em ambas as máquinas, a saída não pode ser
lida, ou seja, não pode ser usada como memória
auxiliar.


                  Aspectos Teóricos da Computação   3/23
Autômato Finito com Saída
Um máquina com saída é como segue:
●   É definida sobre um alfabeto especial,
    denominado alfabeto de símbolos de saída, o
    qual pode ser igual ao alfabeto de entrada;
●   A saída é armazenada em uma fita de saída
    independente da entrada;
●   a cabeça da fita de saída move uma célula
    para a direita a cada símbolo gravado;
●   o resultado do processamento do autômato
    finito é o seu estado final (condição de
    aceita/rejeita) e a informação contida na fita de
    saída.                                          4/23
                    Aspectos Teóricos da Computação
Máquina de Mealy
A Máquina de Mealy é um autômato finito modificado de forma a gerar uma
palavra de saída, que pode ser vazia, para cada transição da máquina.
Uma Máquina de Mealy M é um autômato finito determinístico com saídas
associadas às transições. É representada por uma 6-upla:
M=(∑, Q, δ,q0, F, ∆)

a) ∑ é um alfabeto de símbolos de entrada, ou simplesmente alfabeto de
   entrada;
b) Q é um conjunto de estados possíveis do autômato o qual é finito;
c) δ é uma função programa ou função de transição
                       δ: Q x ∑ → Q x ∆*
d) q0 é um elemento distinguido de Q denominado estado inicial;

e) F é um subconjunto de Q, denominado conjunto de estados finais;
f) ∆ é um alfabeto de símbolos de saída, ou simplesmente alfabeto de saída.


                              Aspectos Teóricos da Computação             5/23
Máquina de Mealy
A computação de uma Máquina de Mealy, para uma palavra
de entrada w, consiste na sucessiva aplicação da função
programa para cada símbolo de w (da esquerda para a
direita) até ocorrer uma condição de parada. A palavra vazia
como saída da função programa indica que nenhuma
gravação é realizada e, obviamente, não se move a cabeça
da fita de saída. Se todas as transições geram saída vazia,
então a Máquina de Mealy processa como se fosse um
autômato finito.




                     Aspectos Teóricos da Computação       6/23
Exemplo: Máquina de Mealy
Uma aplicação comum e frequentemente recomendada para os autômatos com saída é o projeto de
diálogo entre um programa e o seu usuário, gerando, eventualmente, ações internas aos sistema.

Basicamente um diálogo pode ser de dois tipos:
 ●   Comandado pelo programa;
 ●   Comandado pelo usuário.
Em qualquer caso, uma das principais dificuldades do projetista é a visualização do conjunto de
eventos e ações que definam um diálogo adequado para as diversas situações possíveis.
O exemplo que segue é uma Máquina de Mealy que trata algumas situações típicas de um diálogo
que cria e atualiza arquivos. A seguinte simbologia é adotada no diagrama da função de transição:
(…) entrada fornecida pelo uauário (em um teclado, por exemplo);

“...” saída gerada pelo programa (em um vídeo por exemplo);
[…] ação interna ao programa, sem comunicação com o usuário;

{…} resultado de uma ação interna ao programa; é usado com entrada no diagrama.


A Máquina de Mealy:
M=(∑, {q0, q1, ..., q8, qf}, δ,q0, {qf}, ∆)

é ilustrada no próximo slide.                                                                     7/23
                                          Aspectos Teóricos da Computação
q0   (qualquer info)                                            qf
                                                               (fim)
                      “ação?”                             “fim progama”
                                              q1

                                 (cria arq) (atu arq)
                                 “nome?” “nome?”

                               q2                           q4
                                                           (não)
                   (sim)
                   “erro”                                  “erro”
                                              (fim)
                             (nome)        “operação (nome)
                            [existe?]               [existe?]
                                          abandonada”


   (sim)                       q3                            q5                (não)
“arq salvo”                                                               “arq não salvo”
[salva arq]                          (não)          (sim)                 [abandona arq]
                                    “ação?”        “ação?”
                                              q6

                                         (inclui info)
                                            “info...”

                                                         (inclui info)
                                              q7            “info...”
                                          (fim infos)
                                         “salva arq?”

                                              q8
                                    Aspectos Teóricos da Computação                         8/23
Máquina de Moore
A máquina de Moore possui uma segunda
função, que gera uma palavra de saída, que pode
ser vazia, para cada estado da máquina.




                Aspectos Teóricos da Computação   9/23
Máquina de Moore
Uma máquina de Moore é um autômato finito determinístico com saídas
associadas aos estados. É representada por um 7-upla:
M= (∑, Q, δ,q0, F, ∆, δS)
Na qual:
 a) Som é um alfabeto de símbolos de entrada, ou simplesmente
    alfabeto de entrada;
 b) Q é o conjunto de estados possíveis do autômato o qual é finito;
 c) δ é uma função programa ou função de transição:
               δ: Q x som → Q
        A qual é uma função parcial.
 d) Q0 é um elemento distinguido de Q, denominado estado inicial;
 e) F é um subconjunto de Q, denominado conjunto de estados finais;
 f) Δ é um alfabeto de símbolos de saída ou simplesmente alfabeto de
    saída;
 g) δS é uma função de saída:
     δS: Q → ∆* que é uma função total.

                        Aspectos Teóricos da Computação          10/23
Máquina de Moore
A computação de uma Máquina de Moore, para uma palavra de entrada
w, consiste na sucessiva aplicação de uma função programa para cada
símbolo de w (da esquerda para a direita) até ocorrer uma condição de
parada, juntamente com a sucessiva aplicação da função de saída a
cada estado atingido. A palavra vazia como resultado da função de saída
indica que nenhuma gravação é realizada e não se move a cab eça da
fita de saída. Se todos os estados geram saída vazia, então a Máquina
de Moore processa como se fosse um autômato finito.




                        Aspectos Teóricos da Computação            11/23
Exemplo: Máquina de Moore
Um exemplo comum de aplicação do conceito de Máquina de Moore é o
desenvolvimento de analisadores léxicos de compiladores ou tradutores
de linguagem em geral. Basicamente um analisador léxico é um
autômato finito que identifica os componentes básicos da linguagem
como, por exemplo, números, identificadores, separadores etc.
Uma Máquina de Moore como analisador léxico é como segue:
●   Um estado final é associado a cada unidade léxica;
●   Cada estado final possui uma saída (definida pela função de saída)
    que descreve ou codifica a unidade léxica identificada;
●   Para os demais estados (não finais), em geral, a saída gerada é a
    palavra vazia. Eventualmente pode ser não-vazia, se alguma
    informação adicional à codificação da unidade léxica é necessária.




                         Aspectos Teóricos da Computação             12/23
Hipertexto e Hipermídia como Autômato Finito com
                          Saída
Um hipertexto é um texto cuja principal característica é a existência de
ponteiros ou links entre suas diversas páginas. Assim, certas páginas de texto
possuem âncoras as quais apontam para outras páginas do documento.
Hipermídia é a extensão dessa noção para recursos multimídias como imagens,
animação e sons.
A noção de hipertexto foi proposta por Vannevar Bush em 1945, com o objetivo
de armazenar uma grande quantidade de documentos interligados de acordo
com uma semântica de associação, objetivando flexibilizar e otimizar o tempo
de recuperação de informações.
A associação dos conceitos de hipertexto e de hipermídia à WWW (World Web
Wide) resultou em documentos nos quais, em geral, os ponteiros são
fisicamente codificados nas páginas. Entretanto, a solução, compromente a
reusabilidade e a atualização dos recursos utilizados na composição do
hiperdocumento. De fato idealmente, um hipertexto, deve possuir estrutura
navegacional independente da base de dados sobre a qual é construído.




                           Aspectos Teóricos da Computação                  13/23
Hipertexto e Hipermídia como Autômato Finito com
                          Saída
Nesse contexto, hipertextos e hipermídias pode ser vistos como autômatos
finitos com saída, nos quais:
a) O alfabeto de entrada corresponde ao conjunto de rótulos dos ponteiros;
b) A função programa corresponde a estrutura navagacional;
c) O alfabeto de saída corresponde ao conjunto de recursos
   hipertexto/hipermídia armazenados na base de dados;
d) Cada palavra de saída gerada corresponde a uma página, composta por
   símbolos do alfabeto de saída (recursos hipertexto/hipermídia)
   “concatenados”.
Assim cada autômato define um hipertexto/hipermídia o qual consiste de um
conjunto de recursos independentes disponibilizados na base de dados.
Mesmos recursos podem ser utilizados em diferentes hipertextos e hipermídias.
A função transição determina a estrutura lógica, e as palavras de saída geradas
contituem as páginas. O resultado é a estrutura de páginas e ponteiros de um
hipertexto/hipermídia em um sítio na WWW. Cada autômato com saída
corresponde a uma diferente visão da mesma base de dados.


                           Aspectos Teóricos da Computação                   14/23
Hipertexto e Hipermídia como Autômato Finito com
                          Saída
Uma hipermídia vista como um autômato finito com saída pode possuir
restrições nos controles de tempos e/ou sincronização entre diversas mídias,
decorrente das limitações de expressividade das linguagens regulares (e,
consequentemente, nas limitações sobre o que os autômatos finitos podem
computar)




                           Aspectos Teóricos da Computação                 15/23
Exemplo: Hiperdocumento como Autômato Finito
                  com Saída.
Suponha um hipertexto com objetivo de disponibilizar um Curso sobre autômatos com saída na
WWW. Seguindo a abordagem de hipertextos vistos como autômatos finitos com saída é ilustrado
no próximo slide um exemplo de Máquina de Moore com tal objetivo, na qual:

a) o alfabeto de entrada é o seguinte conjunto:
     {próxima, exercício, anterior, resumos, saída}
b) o alfabeto de saída é o seguinte conjunto:
     {A,B,C,D,E,F,G,H,I,J,K,L,M}
sendo que cada letra corresponde ao seguinte fragmento de hipertexto na base de dados

A Introdução aos Autômatos Finitos
B Definição Autômato Finito Determinístico
C Exemplo de Autômato Finito Determinístico
D Exercício sobre Autômato FInito Determinístico
E Introdução aos Autômatos FInitos com Saída
F Definição de Máquina de Mealy
G Exemplo de Máquina de Mealy
H Exercício sobre Máquina de Mealy
I Definição de Máquina de Moore
J Exemplo de Máquina de Moore
K Exercício de Máquina de Moore
L Conclusões
M Fim

                                  Aspectos Teóricos da Computação                        16/23
Exemplo: Hiperdocumento como Autômato Finito
                  com Saída.
Observe que:

os fragmentos de hipertextos são concatenados, compondo páginas;
mesmo fragmentos são usados em mais de uma página, facilitando o reuso de fragmentos de
hipertextos;
se um fragmento for alterado na base de dados, todas as suas referências são automaticamentes
alteradas no autômato;
símbolos do alfabeto de entrada são rótulos de ponteiros

A estrutura de um hipertexto/hipermídia como um autômato finito com saída possui as seguintes
vantagens:
alto grau de modularização dos recursos que constituem a base de dados;
facilidade de reuso desses recursos;
independência da estrutura navegacional do conteúdo das páginas. Assim, modificações na
estrutura navegacional não influem no conteúdo das páginas e vice-versa.
facilidade de criação e de manutenção de hipertextos/hipermídias;
facilidade de criação de hipertextos/hipermídias sobre um hipertexto/hipermídia já existente;
interface gráfica simples e direta (decorrente da representação de um autômato finito como um
diagrama);
facilidade de implementação (lembre-se de que a implementação de um simulador de autômatos é
trivial).




                                 Aspectos Teóricos da Computação                           17/23
Autômatos Finitos
 Definição AFD                                     …
 …                                           A     próxima
 Exemplo AFD
 ...
 próxima exercícios      BC       próxima                                  Exercício AFD
                                                                           …
                                            exercício                  D   anterior
Aut. Finitos com Saída                       anterior
…                                 próxima
próxima                  E

 Definição Mealy                  próxima                                  Exercício Mealy
 …                                                                         …
                                         Exercícios                    H   anterior
 Exemplo Mealy           FG
 ...                                         Anterior
 próxima exercícios
                                  próxima
                                                                           Exercício Moore
                                         Exercícios                        …
 Definição Moore                                                       K
                                                                           anterior
 …                       IJ                  Anterior
 Exemplo Moore
 ...                              próxima
 próxima exercícios                                                        Definição ADF
                                                                           …
                                            resumos                        Máquina de Mealy
 Conclusões              L                                         BFI     …
 …
                                             anterior
                                                                           Máquina de Moore
 saída resumos                                                             ...
                                    saída                                  anterior
 Fim                     M
                             Aspectos Teóricos da Computação                                 18/23
Animação como Autômato Finito com Saída
Os sistemas de animação usados para criação e apresentação de animações podem ser
classificados em dois tipos a saber:
a) tempo real, no qual cada imagem a ser exibida é computada no momento de sua
visualização.
b) Quadro a quadro, no qual cada imagem a ser exibida é previamente computada e
armazenada.


COrretamente, sistema de animação são especialmente importantes no contexto da
World Wide Web, pois grande parte de seu conteúdo contém animações. Portanto
questões como taxa de transmissão , espaço de armazenamento e tempo de
processamento são importantes
Entre os sistemas de animação quadro-a-quadro encontrados na WWW, destacam-se:
●   AVI - Audio Vídeo Interleave;
●   MPEG - Moving Picture Expert Group;
●   Quicktime;
●   GIF - Graphics Interchange Format.

                               Aspectos Teóricos da Computação                    19/23
Animação como Autômato Finito com Saída
Entre as características desejáveis de um sistema de animação , destacam-se:
reutilização de uma sequência de imagens ou de partes específicas de imagens para
compor animações a partir de animações existentes;
busca de informações sobre a ocorrência de determinadas condições ao longo da
animação. Trata-se de uma característica especialmente importante em animações mais
complexas.
Analogamente aos hipertextos e hipermídias, animações quadro-a-quadro podem ser
vistas como autômatos finitos com saída. Neste contexto, cada autômato corresponde a
um ator, e a composição de atores em camadas constituem animações. Cada ator possui
uma fita de entrada independente. Assim, para cada ator:
a) o alfabeto de saída corresponde ao conjunto de imagens e sons elementares do ator;
b) Cada palavra de saída gerada corresponde a uma imagem e/ou som do ator a cada
instante da animação;
c) o alfabeto de entrada corresponde ao conjunto de ações possíveis;
d) A função programa corresponde ao comportamento do ator.




                              Aspectos Teóricos da Computação                       20/23
Animação como Autômato Finito com Saída
É desejável estender o modelo de autômatos com saída, prevendo facilidades
específicas para animaç~eos, como controle de tempos e transformações aplicadas a
imagem ou som. Uma soluação é prever que cada célula de fita de entrada é composta
por uma tripla ordenada contendo:
 ●   um símbolo do alfabeto de entrada;
 ●   o tempo de processamento da transição (e consequetemente da exibição da
     correspondente imagem)
 ●   a transformação aplica à imagem (posicionamento, rotação etc) e/ou ao som
     (volume, equalização etc) de saída.




                              Aspectos Teóricos da Computação                    21/23
Exemplo: Animação como Autômato Finito com Saída.

Considere os seguintes atores:
 ●  uma cobra capaz de se movimentar, abocanhar e rir;
 ●  uma maça que pode estar ou não mordida. ;
Suponha que é desejada uma animação composta pelos dois atores, na qual a
cobra eventualmente abocanha a maça.
Olhar figuras 5.7 e 5.8 do livro texto
Observe que:
as imagens dos atores são organizadas em camadas, compondo quadros de
animações;
a sincronização dos atores é dada por controle de tempos;
se algum símbolo do alfabeto de saída (imagem elementar) de um dos atores
for alterado, todas as suas referências são automaticamente alteradas;
cada um dos atores pode ser reusado diversas vezes em uma mesma
animação. Por exemplo uma animação com diversas cobras agindo
independentemente.

Mais detalhes na página 112, capítulo 5.5 do livro texto.



                            Aspectos Teóricos da Computação           22/23
Exercícios
1. Desenvolva uma:
   (a) Máquina de Mealy;
   (b) Máquina de Moore;
      sobre o alfabeto de entrada {x,β,●}. O objetivo é tratar brancos (β)
      corretamente em um texto. Assim, a máquina deve analisar um
      texto (palavra sobre o alfabeto, garantindo que:
   ●  Não existam brancos contíguos;
   ●  o texto deve iniciar por x e terminar por ●
   ●  sejam eliminados eventuais β antes de um ●
   ●  antes do ● exista x.
Note-se que o autômato somente pode alterar os brancos no texto.
Caso o resto do texto não esteja de acordo, deve ser rejeitado
(neste caso a saída pode ser qualquer). Por exemplo:
 ● a entrada ββxxββxxββxxββ●βββ deve ser aceita e gera a saída
   xxβxxβxxβ●
 ● a entrada ●x deve ser rejeitada.

                        Aspectos Teóricos da Computação               23/23

Weitere ähnliche Inhalte

Andere mochten auch (8)

Máquina de moore2
Máquina de moore2Máquina de moore2
Máquina de moore2
 
Autômatos celulares
Autômatos celularesAutômatos celulares
Autômatos celulares
 
Aula 10 minimizaçãode automato
Aula 10   minimizaçãode automatoAula 10   minimizaçãode automato
Aula 10 minimizaçãode automato
 
2º/2012 - Prova 03 de Autômatos e Computabilidade
2º/2012 - Prova 03 de Autômatos e Computabilidade2º/2012 - Prova 03 de Autômatos e Computabilidade
2º/2012 - Prova 03 de Autômatos e Computabilidade
 
Aula 5 linguagens regularese automatosfinitosnãodeterministico
Aula 5   linguagens regularese automatosfinitosnãodeterministicoAula 5   linguagens regularese automatosfinitosnãodeterministico
Aula 5 linguagens regularese automatosfinitosnãodeterministico
 
Lista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e AutômatosLista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e Autômatos
 
Teoria Lista Exercicios 1.0
Teoria Lista Exercicios 1.0Teoria Lista Exercicios 1.0
Teoria Lista Exercicios 1.0
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesa
 

Ähnlich wie Aula 11 automato finitocomsaida

Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turing
wab030
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
Jocelma Rios
 
Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2
engenhariadecomputacao
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
apolllorj
 
47612195 apostila-de-scilab
47612195 apostila-de-scilab47612195 apostila-de-scilab
47612195 apostila-de-scilab
Marco Antônio
 

Ähnlich wie Aula 11 automato finitocomsaida (20)

Linguagem C - Controle de Programa
Linguagem C - Controle de ProgramaLinguagem C - Controle de Programa
Linguagem C - Controle de Programa
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turing
 
Usando POP com Programação Funcional
Usando POP com Programação FuncionalUsando POP com Programação Funcional
Usando POP com Programação Funcional
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2
 
A Linguagem Lua - Uma abordagem inicial
A Linguagem Lua - Uma abordagem inicialA Linguagem Lua - Uma abordagem inicial
A Linguagem Lua - Uma abordagem inicial
 
Comandos de Controle de Programa em C
Comandos de Controle de Programa em CComandos de Controle de Programa em C
Comandos de Controle de Programa em C
 
Ud2
Ud2Ud2
Ud2
 
Infos algoritmo
Infos algoritmoInfos algoritmo
Infos algoritmo
 
Aula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdfAula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdf
 
Escrevendo modulos python com rust
Escrevendo modulos python com rustEscrevendo modulos python com rust
Escrevendo modulos python com rust
 
Aula09 traducaosin110
Aula09 traducaosin110Aula09 traducaosin110
Aula09 traducaosin110
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Cartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdfCartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdf
 
Parte1c
Parte1cParte1c
Parte1c
 
Arduino e Python: Do It Yourself
Arduino e Python: Do It YourselfArduino e Python: Do It Yourself
Arduino e Python: Do It Yourself
 
47612195 apostila-de-scilab
47612195 apostila-de-scilab47612195 apostila-de-scilab
47612195 apostila-de-scilab
 

Mehr von wab030

Hp0061
Hp0061Hp0061
Hp0061
wab030
 
Notas b2redes
Notas b2redesNotas b2redes
Notas b2redes
wab030
 
Notas info+banco
Notas info+bancoNotas info+banco
Notas info+banco
wab030
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
wab030
 
Aula 12 revisãodos exercícios
Aula 12   revisãodos exercíciosAula 12   revisãodos exercícios
Aula 12 revisãodos exercícios
wab030
 
Wireshark ip sept_15_2009
Wireshark ip sept_15_2009Wireshark ip sept_15_2009
Wireshark ip sept_15_2009
wab030
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
wab030
 
Aula 9 conceitos gerais de Rede
Aula 9   conceitos gerais de RedeAula 9   conceitos gerais de Rede
Aula 9 conceitos gerais de Rede
wab030
 
Wireshark UDP
Wireshark UDPWireshark UDP
Wireshark UDP
wab030
 
Notas b1 redes
Notas b1 redesNotas b1 redes
Notas b1 redes
wab030
 
Notas b1 info+banco
Notas b1 info+bancoNotas b1 info+banco
Notas b1 info+banco
wab030
 
Aula 9 camada de rede
Aula 9   camada de redeAula 9   camada de rede
Aula 9 camada de rede
wab030
 

Mehr von wab030 (20)

Internet e Educação
Internet e EducaçãoInternet e Educação
Internet e Educação
 
Programe ou seja programado
Programe ou seja programadoPrograme ou seja programado
Programe ou seja programado
 
Internet e cidadania
 Internet e cidadania Internet e cidadania
Internet e cidadania
 
Internet, Cidadania e Educação
Internet, Cidadania e EducaçãoInternet, Cidadania e Educação
Internet, Cidadania e Educação
 
Internet e redes sociais digitais como instrumento para os movimentos sociais
 Internet e redes sociais digitais como instrumento para os movimentos sociais Internet e redes sociais digitais como instrumento para os movimentos sociais
Internet e redes sociais digitais como instrumento para os movimentos sociais
 
A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...
 
Hp0061
Hp0061Hp0061
Hp0061
 
Internet e educação
Internet e educaçãoInternet e educação
Internet e educação
 
Alimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúdeAlimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúde
 
Notas b2redes
Notas b2redesNotas b2redes
Notas b2redes
 
Notas info+banco
Notas info+bancoNotas info+banco
Notas info+banco
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
 
Aula 12 revisãodos exercícios
Aula 12   revisãodos exercíciosAula 12   revisãodos exercícios
Aula 12 revisãodos exercícios
 
Wireshark ip sept_15_2009
Wireshark ip sept_15_2009Wireshark ip sept_15_2009
Wireshark ip sept_15_2009
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
 
Aula 9 conceitos gerais de Rede
Aula 9   conceitos gerais de RedeAula 9   conceitos gerais de Rede
Aula 9 conceitos gerais de Rede
 
Wireshark UDP
Wireshark UDPWireshark UDP
Wireshark UDP
 
Notas b1 redes
Notas b1 redesNotas b1 redes
Notas b1 redes
 
Notas b1 info+banco
Notas b1 info+bancoNotas b1 info+banco
Notas b1 info+banco
 
Aula 9 camada de rede
Aula 9   camada de redeAula 9   camada de rede
Aula 9 camada de rede
 

Kürzlich hochgeladen

Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
WagnerCamposCEA
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
RavenaSales1
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
CleidianeCarvalhoPer
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
NarlaAquino
 

Kürzlich hochgeladen (20)

PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 

Aula 11 automato finitocomsaida

  • 1. Curso: Ciência da Computação Aspectos Teóricos da Computação Aula 10 Autômato Finito com Saída
  • 2. Notas de Aula Aspectos Teóricos da Computação 2/23
  • 3. Autômato Finito com Saída É possível estender a definição de Autômato Finito, incluindo-se a geração de uma palavra de saída. As saídas podem ser associadas: ● às transições (Máquina de Mealy); ● aos estados (Máquina de Moore). Em ambas as máquinas, a saída não pode ser lida, ou seja, não pode ser usada como memória auxiliar. Aspectos Teóricos da Computação 3/23
  • 4. Autômato Finito com Saída Um máquina com saída é como segue: ● É definida sobre um alfabeto especial, denominado alfabeto de símbolos de saída, o qual pode ser igual ao alfabeto de entrada; ● A saída é armazenada em uma fita de saída independente da entrada; ● a cabeça da fita de saída move uma célula para a direita a cada símbolo gravado; ● o resultado do processamento do autômato finito é o seu estado final (condição de aceita/rejeita) e a informação contida na fita de saída. 4/23 Aspectos Teóricos da Computação
  • 5. Máquina de Mealy A Máquina de Mealy é um autômato finito modificado de forma a gerar uma palavra de saída, que pode ser vazia, para cada transição da máquina. Uma Máquina de Mealy M é um autômato finito determinístico com saídas associadas às transições. É representada por uma 6-upla: M=(∑, Q, δ,q0, F, ∆) a) ∑ é um alfabeto de símbolos de entrada, ou simplesmente alfabeto de entrada; b) Q é um conjunto de estados possíveis do autômato o qual é finito; c) δ é uma função programa ou função de transição δ: Q x ∑ → Q x ∆* d) q0 é um elemento distinguido de Q denominado estado inicial; e) F é um subconjunto de Q, denominado conjunto de estados finais; f) ∆ é um alfabeto de símbolos de saída, ou simplesmente alfabeto de saída. Aspectos Teóricos da Computação 5/23
  • 6. Máquina de Mealy A computação de uma Máquina de Mealy, para uma palavra de entrada w, consiste na sucessiva aplicação da função programa para cada símbolo de w (da esquerda para a direita) até ocorrer uma condição de parada. A palavra vazia como saída da função programa indica que nenhuma gravação é realizada e, obviamente, não se move a cabeça da fita de saída. Se todas as transições geram saída vazia, então a Máquina de Mealy processa como se fosse um autômato finito. Aspectos Teóricos da Computação 6/23
  • 7. Exemplo: Máquina de Mealy Uma aplicação comum e frequentemente recomendada para os autômatos com saída é o projeto de diálogo entre um programa e o seu usuário, gerando, eventualmente, ações internas aos sistema. Basicamente um diálogo pode ser de dois tipos: ● Comandado pelo programa; ● Comandado pelo usuário. Em qualquer caso, uma das principais dificuldades do projetista é a visualização do conjunto de eventos e ações que definam um diálogo adequado para as diversas situações possíveis. O exemplo que segue é uma Máquina de Mealy que trata algumas situações típicas de um diálogo que cria e atualiza arquivos. A seguinte simbologia é adotada no diagrama da função de transição: (…) entrada fornecida pelo uauário (em um teclado, por exemplo); “...” saída gerada pelo programa (em um vídeo por exemplo); […] ação interna ao programa, sem comunicação com o usuário; {…} resultado de uma ação interna ao programa; é usado com entrada no diagrama. A Máquina de Mealy: M=(∑, {q0, q1, ..., q8, qf}, δ,q0, {qf}, ∆) é ilustrada no próximo slide. 7/23 Aspectos Teóricos da Computação
  • 8. q0 (qualquer info) qf (fim) “ação?” “fim progama” q1 (cria arq) (atu arq) “nome?” “nome?” q2 q4 (não) (sim) “erro” “erro” (fim) (nome) “operação (nome) [existe?] [existe?] abandonada” (sim) q3 q5 (não) “arq salvo” “arq não salvo” [salva arq] (não) (sim) [abandona arq] “ação?” “ação?” q6 (inclui info) “info...” (inclui info) q7 “info...” (fim infos) “salva arq?” q8 Aspectos Teóricos da Computação 8/23
  • 9. Máquina de Moore A máquina de Moore possui uma segunda função, que gera uma palavra de saída, que pode ser vazia, para cada estado da máquina. Aspectos Teóricos da Computação 9/23
  • 10. Máquina de Moore Uma máquina de Moore é um autômato finito determinístico com saídas associadas aos estados. É representada por um 7-upla: M= (∑, Q, δ,q0, F, ∆, δS) Na qual: a) Som é um alfabeto de símbolos de entrada, ou simplesmente alfabeto de entrada; b) Q é o conjunto de estados possíveis do autômato o qual é finito; c) δ é uma função programa ou função de transição: δ: Q x som → Q A qual é uma função parcial. d) Q0 é um elemento distinguido de Q, denominado estado inicial; e) F é um subconjunto de Q, denominado conjunto de estados finais; f) Δ é um alfabeto de símbolos de saída ou simplesmente alfabeto de saída; g) δS é uma função de saída: δS: Q → ∆* que é uma função total. Aspectos Teóricos da Computação 10/23
  • 11. Máquina de Moore A computação de uma Máquina de Moore, para uma palavra de entrada w, consiste na sucessiva aplicação de uma função programa para cada símbolo de w (da esquerda para a direita) até ocorrer uma condição de parada, juntamente com a sucessiva aplicação da função de saída a cada estado atingido. A palavra vazia como resultado da função de saída indica que nenhuma gravação é realizada e não se move a cab eça da fita de saída. Se todos os estados geram saída vazia, então a Máquina de Moore processa como se fosse um autômato finito. Aspectos Teóricos da Computação 11/23
  • 12. Exemplo: Máquina de Moore Um exemplo comum de aplicação do conceito de Máquina de Moore é o desenvolvimento de analisadores léxicos de compiladores ou tradutores de linguagem em geral. Basicamente um analisador léxico é um autômato finito que identifica os componentes básicos da linguagem como, por exemplo, números, identificadores, separadores etc. Uma Máquina de Moore como analisador léxico é como segue: ● Um estado final é associado a cada unidade léxica; ● Cada estado final possui uma saída (definida pela função de saída) que descreve ou codifica a unidade léxica identificada; ● Para os demais estados (não finais), em geral, a saída gerada é a palavra vazia. Eventualmente pode ser não-vazia, se alguma informação adicional à codificação da unidade léxica é necessária. Aspectos Teóricos da Computação 12/23
  • 13. Hipertexto e Hipermídia como Autômato Finito com Saída Um hipertexto é um texto cuja principal característica é a existência de ponteiros ou links entre suas diversas páginas. Assim, certas páginas de texto possuem âncoras as quais apontam para outras páginas do documento. Hipermídia é a extensão dessa noção para recursos multimídias como imagens, animação e sons. A noção de hipertexto foi proposta por Vannevar Bush em 1945, com o objetivo de armazenar uma grande quantidade de documentos interligados de acordo com uma semântica de associação, objetivando flexibilizar e otimizar o tempo de recuperação de informações. A associação dos conceitos de hipertexto e de hipermídia à WWW (World Web Wide) resultou em documentos nos quais, em geral, os ponteiros são fisicamente codificados nas páginas. Entretanto, a solução, compromente a reusabilidade e a atualização dos recursos utilizados na composição do hiperdocumento. De fato idealmente, um hipertexto, deve possuir estrutura navegacional independente da base de dados sobre a qual é construído. Aspectos Teóricos da Computação 13/23
  • 14. Hipertexto e Hipermídia como Autômato Finito com Saída Nesse contexto, hipertextos e hipermídias pode ser vistos como autômatos finitos com saída, nos quais: a) O alfabeto de entrada corresponde ao conjunto de rótulos dos ponteiros; b) A função programa corresponde a estrutura navagacional; c) O alfabeto de saída corresponde ao conjunto de recursos hipertexto/hipermídia armazenados na base de dados; d) Cada palavra de saída gerada corresponde a uma página, composta por símbolos do alfabeto de saída (recursos hipertexto/hipermídia) “concatenados”. Assim cada autômato define um hipertexto/hipermídia o qual consiste de um conjunto de recursos independentes disponibilizados na base de dados. Mesmos recursos podem ser utilizados em diferentes hipertextos e hipermídias. A função transição determina a estrutura lógica, e as palavras de saída geradas contituem as páginas. O resultado é a estrutura de páginas e ponteiros de um hipertexto/hipermídia em um sítio na WWW. Cada autômato com saída corresponde a uma diferente visão da mesma base de dados. Aspectos Teóricos da Computação 14/23
  • 15. Hipertexto e Hipermídia como Autômato Finito com Saída Uma hipermídia vista como um autômato finito com saída pode possuir restrições nos controles de tempos e/ou sincronização entre diversas mídias, decorrente das limitações de expressividade das linguagens regulares (e, consequentemente, nas limitações sobre o que os autômatos finitos podem computar) Aspectos Teóricos da Computação 15/23
  • 16. Exemplo: Hiperdocumento como Autômato Finito com Saída. Suponha um hipertexto com objetivo de disponibilizar um Curso sobre autômatos com saída na WWW. Seguindo a abordagem de hipertextos vistos como autômatos finitos com saída é ilustrado no próximo slide um exemplo de Máquina de Moore com tal objetivo, na qual: a) o alfabeto de entrada é o seguinte conjunto: {próxima, exercício, anterior, resumos, saída} b) o alfabeto de saída é o seguinte conjunto: {A,B,C,D,E,F,G,H,I,J,K,L,M} sendo que cada letra corresponde ao seguinte fragmento de hipertexto na base de dados A Introdução aos Autômatos Finitos B Definição Autômato Finito Determinístico C Exemplo de Autômato Finito Determinístico D Exercício sobre Autômato FInito Determinístico E Introdução aos Autômatos FInitos com Saída F Definição de Máquina de Mealy G Exemplo de Máquina de Mealy H Exercício sobre Máquina de Mealy I Definição de Máquina de Moore J Exemplo de Máquina de Moore K Exercício de Máquina de Moore L Conclusões M Fim Aspectos Teóricos da Computação 16/23
  • 17. Exemplo: Hiperdocumento como Autômato Finito com Saída. Observe que: os fragmentos de hipertextos são concatenados, compondo páginas; mesmo fragmentos são usados em mais de uma página, facilitando o reuso de fragmentos de hipertextos; se um fragmento for alterado na base de dados, todas as suas referências são automaticamentes alteradas no autômato; símbolos do alfabeto de entrada são rótulos de ponteiros A estrutura de um hipertexto/hipermídia como um autômato finito com saída possui as seguintes vantagens: alto grau de modularização dos recursos que constituem a base de dados; facilidade de reuso desses recursos; independência da estrutura navegacional do conteúdo das páginas. Assim, modificações na estrutura navegacional não influem no conteúdo das páginas e vice-versa. facilidade de criação e de manutenção de hipertextos/hipermídias; facilidade de criação de hipertextos/hipermídias sobre um hipertexto/hipermídia já existente; interface gráfica simples e direta (decorrente da representação de um autômato finito como um diagrama); facilidade de implementação (lembre-se de que a implementação de um simulador de autômatos é trivial). Aspectos Teóricos da Computação 17/23
  • 18. Autômatos Finitos Definição AFD … … A próxima Exemplo AFD ... próxima exercícios BC próxima Exercício AFD … exercício D anterior Aut. Finitos com Saída anterior … próxima próxima E Definição Mealy próxima Exercício Mealy … … Exercícios H anterior Exemplo Mealy FG ... Anterior próxima exercícios próxima Exercício Moore Exercícios … Definição Moore K anterior … IJ Anterior Exemplo Moore ... próxima próxima exercícios Definição ADF … resumos Máquina de Mealy Conclusões L BFI … … anterior Máquina de Moore saída resumos ... saída anterior Fim M Aspectos Teóricos da Computação 18/23
  • 19. Animação como Autômato Finito com Saída Os sistemas de animação usados para criação e apresentação de animações podem ser classificados em dois tipos a saber: a) tempo real, no qual cada imagem a ser exibida é computada no momento de sua visualização. b) Quadro a quadro, no qual cada imagem a ser exibida é previamente computada e armazenada. COrretamente, sistema de animação são especialmente importantes no contexto da World Wide Web, pois grande parte de seu conteúdo contém animações. Portanto questões como taxa de transmissão , espaço de armazenamento e tempo de processamento são importantes Entre os sistemas de animação quadro-a-quadro encontrados na WWW, destacam-se: ● AVI - Audio Vídeo Interleave; ● MPEG - Moving Picture Expert Group; ● Quicktime; ● GIF - Graphics Interchange Format. Aspectos Teóricos da Computação 19/23
  • 20. Animação como Autômato Finito com Saída Entre as características desejáveis de um sistema de animação , destacam-se: reutilização de uma sequência de imagens ou de partes específicas de imagens para compor animações a partir de animações existentes; busca de informações sobre a ocorrência de determinadas condições ao longo da animação. Trata-se de uma característica especialmente importante em animações mais complexas. Analogamente aos hipertextos e hipermídias, animações quadro-a-quadro podem ser vistas como autômatos finitos com saída. Neste contexto, cada autômato corresponde a um ator, e a composição de atores em camadas constituem animações. Cada ator possui uma fita de entrada independente. Assim, para cada ator: a) o alfabeto de saída corresponde ao conjunto de imagens e sons elementares do ator; b) Cada palavra de saída gerada corresponde a uma imagem e/ou som do ator a cada instante da animação; c) o alfabeto de entrada corresponde ao conjunto de ações possíveis; d) A função programa corresponde ao comportamento do ator. Aspectos Teóricos da Computação 20/23
  • 21. Animação como Autômato Finito com Saída É desejável estender o modelo de autômatos com saída, prevendo facilidades específicas para animaç~eos, como controle de tempos e transformações aplicadas a imagem ou som. Uma soluação é prever que cada célula de fita de entrada é composta por uma tripla ordenada contendo: ● um símbolo do alfabeto de entrada; ● o tempo de processamento da transição (e consequetemente da exibição da correspondente imagem) ● a transformação aplica à imagem (posicionamento, rotação etc) e/ou ao som (volume, equalização etc) de saída. Aspectos Teóricos da Computação 21/23
  • 22. Exemplo: Animação como Autômato Finito com Saída. Considere os seguintes atores: ● uma cobra capaz de se movimentar, abocanhar e rir; ● uma maça que pode estar ou não mordida. ; Suponha que é desejada uma animação composta pelos dois atores, na qual a cobra eventualmente abocanha a maça. Olhar figuras 5.7 e 5.8 do livro texto Observe que: as imagens dos atores são organizadas em camadas, compondo quadros de animações; a sincronização dos atores é dada por controle de tempos; se algum símbolo do alfabeto de saída (imagem elementar) de um dos atores for alterado, todas as suas referências são automaticamente alteradas; cada um dos atores pode ser reusado diversas vezes em uma mesma animação. Por exemplo uma animação com diversas cobras agindo independentemente. Mais detalhes na página 112, capítulo 5.5 do livro texto. Aspectos Teóricos da Computação 22/23
  • 23. Exercícios 1. Desenvolva uma: (a) Máquina de Mealy; (b) Máquina de Moore; sobre o alfabeto de entrada {x,β,●}. O objetivo é tratar brancos (β) corretamente em um texto. Assim, a máquina deve analisar um texto (palavra sobre o alfabeto, garantindo que: ● Não existam brancos contíguos; ● o texto deve iniciar por x e terminar por ● ● sejam eliminados eventuais β antes de um ● ● antes do ● exista x. Note-se que o autômato somente pode alterar os brancos no texto. Caso o resto do texto não esteja de acordo, deve ser rejeitado (neste caso a saída pode ser qualquer). Por exemplo: ● a entrada ββxxββxxββxxββ●βββ deve ser aceita e gera a saída xxβxxβxxβ● ● a entrada ●x deve ser rejeitada. Aspectos Teóricos da Computação 23/23