Aula_5_-_Automatos_Finitos_com_Saida
-
Upload
leonardo-rodrigues -
Category
Documents
-
view
502 -
download
0
Transcript of Aula_5_-_Automatos_Finitos_com_Saida
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 1/60
Linguagens Formais e Autômatos - P. Blauth Menezes 1
Linguagens Formais e
AutômatosP. Blauth Menezes
Departamento de Informática Teórica
Instituto de Informática / UFRGS
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 2/60
Linguagens Formais e Autômatos - P. Blauth Menezes 2
Linguagens Formais e Autômatos
P. Blauth Menezes
1 Introdução e Conceitos Básicos
2 Linguagens e Gramáticas
3 Linguagens Regulares
4 Propriedades das Linguagens Regulares
5 Autômato Finito com Saída
6 Linguagens Livres do Contexto7 Propriedades e Reconhecimento das Linguagens
Livres do Contexto
8 Linguagens Recursivamente Enumeráveis eSensíveis ao Contexto
9 Hierarquia de Classes e Linguagens e Conclusões
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 3/60
Linguagens Formais e Autômatos - P. Blauth Menezes 3
5 – Autômato Finito com Saída
5.1 Máquina de Mealy5.2 Máquina de Moore5.3 Equivalência das Máquina de Moore e Mealy5.4 Hipertexto e Hipermídia como Autômato Finito
com Saída5.5 Animação como Autômato Finito com Saída
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 4/60
Linguagens Formais e Autômatos - P. Blauth Menezes 4
5 – Autômato Finito com Saída
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 5/60
Linguagens Formais e Autômatos - P. Blauth Menezes 5
5 Autômato Finito com Saída
◆ Conceito básico de autômato finito
• aplicações práticas restritas
• informação de saída limitada à lógica binária aceita/rejeita
◆ Geração de uma palavra de saída
• estende a definição de Autômato Finito
• mesma classe de linguagens reconhecidas
◆ As saídas podem ser associadas
• às transições: Máquina de Mealy
• aos estados Máquina de Moore
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 6/60
Linguagens Formais e Autômatos - P. Blauth Menezes 6
◆ A saída não pode ser lida: não é memória auxiliar
• definida sobre um alfabeto especial: alfabeto de símbolos de saída
∗ pode ser igual ao alfabeto de entrada
• saída: fita de saída, independente da de entrada
• cabeça da fita de saída
∗ move uma célula para a direita a cada símbolo gravado
• resultado do processamento
∗ estado final (condição de aceita/rejeita)
∗ informação contida na fita de saída
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 7/60
Linguagens Formais e Autômatos - P. Blauth Menezes 7
◆ Máquinas de Mealy e Moore
•
modificações sobre o AFD• exercício
∗ não-determinismo
∗ movimentos vazios
◆ Aplicações dos autômatos finitos com saída
• tradicionais
∗ analisador léxico
∗ processador de textos …
•
WWW (World Wide Web)∗ hipertexto e hipermídia
∗ animação quadro-a-quadro
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 8/60
Linguagens Formais e Autômatos - P. Blauth Menezes 8
5 – Autômato Finito com Saída
5.1 Máquina de Mealy5.2 Máquina de Moore5.3 Equivalência das Máquina de Moore e Mealy5.4 Hipertexto e Hipermídia como Autômato Finito
com Saída5.5 Animação como Autômato Finito com Saída
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 9/60
Linguagens Formais e Autômatos - P. Blauth Menezes 9
5.1 Máquina de Mealy
◆ Para cada transição da máquina
• gera uma palavra de saída (pode ser vazia)
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 10/60
Linguagens Formais e Autômatos - P. Blauth Menezes 10
Def: Máquina de Mealy
M = (Σ, Q, δ, q0, F, Δ)
• Σ - alfabeto (de símbolos) de entrada
• Q - conjunto de estados (finito)
• δ - função programa ou função de transição (função parcial)
δ: Q × Σ → Q × Δ*
• q0 - elemento distinguido de Q : estado inicial
• F - subconjunto de Q : conjunto de estados finais
• Δ - alfabeto (de símbolos) de saída
◆ Máquina de Mealy × AFD
• Σ, Q , q0 e F são como no AFD
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 11/60
Linguagens Formais e Autômatos - P. Blauth Menezes 11
◆ Computação, para entrada w
• 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
◆ Palavra vazia como saída
• nenhuma gravação é realizada
• não move a cabeça da fita de saída
◆ Se todas as transições geram saída vazia
• processa como se fosse um AFD
◆ Definição formal da função programa estendida
• exercício
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 12/60
Linguagens Formais e Autômatos - P. Blauth Menezes 12
Exp: Máquina de Mealy: Diálogo
Aplicação comum e recomendada para os autômatos com saída
• projeto de diálogo entre um programa e o seu usuário
• determina, eventualmente, ações internas ao sistema
Diálogo pode ser de dois tipos
• comandado pelo programa
• comandado pelo usuário
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 13/60
Linguagens Formais e Autômatos - P. Blauth Menezes 13
Exp: ...Máquina de Mealy: Diálogo
Exemplo de diálogo que cria e atualiza arquivos
• 〈…〉 entrada fornecida pelo usuá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 ação interna ao programa (entrada no diagrama)
Máquina de Mealy
M = (Σ, { q0, q1, …, q8, qf }, δ, q0, { qf }, Δ)
• Σ e Δ: símbolos (palavras do português) de entrada/saída válidos
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 14/60
Linguagens Formais e Autômatos - P. Blauth Menezes 14
qf
q1
q0
q4q2
q5q3
q6
q7
q8
〈qualquer info〉"ação?"
〈fim〉"fim programa"
〈cria arq〉"nome?"
〈nome〉[existe?]
〈atu arq〉"nome?"
〈nome〉[existe?]
(não)"ação?"
(sim)"ação?"
(não)"erro"
(sim)"erro"
〈fim〉"operação
abandonada"
〈inclui info〉"info..."
〈inclui info〉"info..."
〈fim infos〉"salva arq?"
〈não〉"arq não salvo"[abandona arq]
〈sim〉"arq salvo"[salva arq]
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 15/60
Linguagens Formais e Autômatos - P. Blauth Menezes 15
5 – Autômato Finito com Saída
5.1 Máquina de Mealy5.2 Máquina de Moore5.3 Equivalência das Máquina de Moore e Mealy5.4 Hipertexto e Hipermídia como Autômato Finito
com Saída5.5 Animação como Autômato Finito com Saída
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 16/60
Linguagens Formais e Autômatos - P. Blauth Menezes 16
5.2 Máquina de Moore
◆ Possui uma segunda função
• gera uma palavra de saída (pode ser vazia)
• para cada estado da máquina
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 17/60
Linguagens Formais e Autômatos - P. Blauth Menezes 17
Def: Máquina de Moore
M = (Σ, Q, δ, q0, F, Δ, δS)
• Σ - alfabeto (de símbolos) de entrada
• Q - conjunto de estados (finito)
• δ - função programa ou função de transição (função parcial)
δ: Q × Σ → Q
• q0 - elemento distinguido de Q : estado inicial
• F - subconjunto de Q : conjunto de estados finais
• Δ - alfabeto (de símbolos) de saída
• δS - função de saída (função total)
δS: Q → Δ*
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 18/60
Linguagens Formais e Autômatos - P. Blauth Menezes 18
◆ Máquina de Moore × AFD & Mealy
• Σ, Q , δ, q0 e F são como no AFD
• Δ é como na Máquina de Mealy
◆ Computação, para entrada w• 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
• juntamente com a sucessiva aplicação da função de saída
∗ cada estado atingido
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 19/60
Linguagens Formais e Autômatos - P. Blauth Menezes 19
◆ Palavra vazia como saída
•
nenhuma gravação é realizada
• não move a cabeça da fita de saída
◆ Se todas as transições geram saída vazia
• processa como se fosse um AFD
◆ Definição formal da função programa estendida
• exercício
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 20/60
Linguagens Formais e Autômatos - P. Blauth Menezes 20
Exp: Máquina de Moore: Análise Léxica
Analisador Léxico
• autômato finito (em geral, determinístico)
• identifica os componentes básicos da linguagem
∗ números, identificadores, separadores, etc
Máquina de Moore como Analisador Léxico
• cada estado final
∗ associado a uma unidade léxica
∗ a saída descreve ou codifica a unidade léxica identificada
• estados não-finais
∗ em geral, saída vazia
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 21/60
Linguagens Formais e Autômatos - P. Blauth Menezes 21
5 – Autômato Finito com Saída
5.1 Máquina de Mealy5.2 Máquina de Moore5.3 Equivalência das Máquina de Moore e Mealy5.4 Hipertexto e Hipermídia como Autômato Finito
com Saída5.5 Animação como Autômato Finito com Saída
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 22/60
Linguagens Formais e Autômatos - P. Blauth Menezes 22
5.3 Equivalência das Máquinas de
Moore e de Mealy
◆ Equivalência
• não é válida para a entrada vazia (por quê?)
• demais casos
∗ pode ser facilmente verificada
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 23/60
Linguagens Formais e Autômatos - P. Blauth Menezes 23
Teorema: Máquina de Moore → Máquina de Mealy
Toda Máquina de Moore pode ser simulada por uma Máquina de Mealy,
para entradas não vazias
Prova: ( por indução)
Supondo
(q1,u1)a1(q0,u0)
a0
Correspondente Mealy ???
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 24/60
Linguagens Formais e Autômatos - P. Blauth Menezes 24
q0
qe
(a1,u0u1)
q1
(a1,u1)
(a0,u0u0)
(a0,u0)
(q1,u1)a1(q0,u0)
a0
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 25/60
Linguagens Formais e Autômatos - P. Blauth Menezes 25
M = (Σ, Q, δ, q0, F, Δ, δS), Máquina de Moore qualquer
Correspondente Mealy
ME = (Σ, Q ∪ { qe }, δME, qe, F, Δ)
Estado qe
• referenciado somente na primeira transição executada
• garante a geração da saída referente ao estado inicial q0 de Moore
Função programa δME
• δME(qe, a) = (δ(q0, a), δS(q0) δS(δ(q0, a)))
• δME(q, a) = (δ(q, a), δS(δ(q, a)))
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 26/60
Linguagens Formais e Autômatos - P. Blauth Menezes 26
Indução em n > 0 prova que, de fato, ME (Mealy) simula M (Moore)
• ao reconhecer a entrada a1…a
n
• se M passa pelos estados q0, q1, …, qn• e gera as saídas u0, u1, …, un,
• então ME passa pelos estados qe, q0, q1, …, qn•
e gera as saídas u0u1, …, un
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 27/60
Linguagens Formais e Autômatos - P. Blauth Menezes 27
Teorema: Máquina de Mealy → Máquina de Moore
Toda Máquina de Mealy pode ser simulada por uma Máquina de Moore
Prova: ( por indução)
q p
(a1,u1)
(ai,ui)
(an,un)
(b,v)
...
...
Correspondente Moore ???
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 28/60
Linguagens Formais e Autômatos - P. Blauth Menezes 28
q p
(a1,u1)
(ai,ui)
(an,un)
(b,v)
...
...
(〈q,u1〉,u1)
...
...
b
b
b
a1
ai
an
...
...
(〈q,ui〉,ui)
(〈q,un〉,un)
(〈p,v〉,v)
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 29/60
Linguagens Formais e Autômatos - P. Blauth Menezes 29
Correspondente Máquina de Moore
• em geral, mais estados que Mealy
• transições com saídas diferentes atingem um mesmo estado
∗ simulado por diversos estados (um para cada saída)
∗ estado é um par ordenado 〈estado, saída〉
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 30/60
Linguagens Formais e Autômatos - P. Blauth Menezes 30
M = (Σ, Q, δ, q0, F, Δ), Mealy qualquer. Correspondente Moore
MO = (Σ, (Q × S(δ)) ∪ { 〈q0, ε〉 }, δMO, 〈q0, ε〉, F × S(δ), Δ, δS)
• S(δ): imagem de δ, restrita à componente saída
∗ conjunto de saídas possíveis de M
• se δ(q0, a) = (q, u)
δMO(〈q0, ε〉, a) = 〈q, u〉
• se δ(q, b) = (p, v), então, para cada δ(qi, ai) = (q, ui)
δMO(〈q, ui〉, b) = 〈p, v〉
•para o estado 〈q, u〉 de MO
δS(〈q, u〉) = u
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 31/60
Linguagens Formais e Autômatos - P. Blauth Menezes 31
Indução em n prova que, ao reconhecer a entrada a1…an
• se M passa pelos estados q0, q1, …, qn
• e gera as saídas u1, …, un
• então MO passa pelos estados 〈q0, ε〉, 〈q1, u1〉, …, 〈qn, un〉
• e gera as saídas ε, u1, …, un
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 32/60
Linguagens Formais e Autômatos - P. Blauth Menezes 32
Exp: Máquina de Mealy → Máquina de Moore
M = ({ a, β }, { q, p }, δ, q, { q, p }, { a, β }) Máquina de Mealy
• compacta brancos de um texto
(a,a)
(β,β)
(a,a) (β,ε)
q p
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 33/60
Linguagens Formais e Autômatos - P. Blauth Menezes 33
MO = ({ a, β }, Q, δMO, 〈q, ε〉, F, { a, β }, δS) Máquina de Moore
• Q = F = { q, p } × { ε, a, β }
a
β
β
β
a
a
β
a
(〈p,β〉,β)
(〈q,ε〉,ε) (〈p,ε〉,ε)
(〈q,a〉,a)
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 34/60
Linguagens Formais e Autômatos - P. Blauth Menezes 34
Obs: Máquina de Mealy × Máquina de Moore
Mealy possui, em geral
• menos estados que a correspondente Moore
Em aplicações práticas, sempre que possível,
• usar Mealy preferencialmente a Moore
Em experimentos reais, significativa preferência das pessoas
• associar as saídas aos estados (e não às transições).
• sugere-se especial atenção a este fato
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 35/60
Linguagens Formais e Autômatos - P. Blauth Menezes 35
5 – Autômato Finito com Saída
5.1 Máquina de Mealy5.2 Máquina de Moore5.3 Equivalência das Máquina de Moore e Mealy5.4 Hipertexto e Hipermídia como Autômato Finito
com Saída5.5 Animação como Autômato Finito com Saída
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 36/60
Linguagens Formais e Autômatos - P. Blauth Menezes 36
5.4 Hipertexto e Hipermídia como
Autômato Finito com Saída
◆ Hipertexto
• ponteiros ou links entre diversas páginas
• texto possui “âncoras” que apontam para páginas do documento
◆ Hipermídia
• extensão desta noção para recursos multimídia
∗ imagens, animações e sons
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 37/60
Linguagens Formais e Autômatos - P. Blauth Menezes 37
◆ Noção de hipertexto
• proposta por Vannevar Bush em 1945, objetivando
∗ armazenar uma grande quantidade de documentos∗ interligados de acordo com uma semântica de associação
∗ flexibilizando/otimizando tempos de recuperação de informações
◆ Associação hipertexto/hipermídia à WWW
• documentos com ponteiros fisicamente codificados nas páginas
• tal solução compromete
∗ reusabilidade e atualização dos recursos usados
◆ Idealmente, hipertexto (hipermídia) deve possuir
• estrutura navegacional independente dos dados sobre a qual é
construído
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 38/60
Linguagens Formais e Autômatos - P. Blauth Menezes 38
◆ Hipertextos (hipermídias) vistos como AF com saída
• alfabeto de entrada: conjunto de rótulos dos ponteiros
∗ modificações no alfabeto?
• função programa: estrutura navegacional
∗ determina a estruturação lógica
∗ modificações na função programa?
• alfabeto de saída: conjunto de recursos hipertexto/hipermídia
∗ armazenados na base de dados
∗ modificações no alfabeto de saída?
• palavra de saída: uma página, composta por símbolos do alfabeto
de saída (recursos hipertexto/hipermídia) “concatenados”∗ modificações nas saídas?
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 39/60
Linguagens Formais e Autômatos - P. Blauth Menezes 39
◆ Resultado
• páginas e ponteiros de um hipertexto/hipermídia em um sítio
• cada autômato com saída: visão da mesma base de dados
◆ Hipermídia vista como um autômato finito com saída
• pode possuir restrições nos tempos/sincronizações entre mídias
∗ decorrentes das limitações de expressividade das LR
∗ limitações sobre o que os autômatos finitos podem computar
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 40/60
Linguagens Formais e Autômatos - P. Blauth Menezes 40
Exp: Hiperdocumento como Autômato Finito com Saída
Hipertexto com objetivo de disponibilizar um Curso sobre Autômatos
com Saída na WWW, usando Máquina de Moore
Alfabeto de entrada: { próxima, exercício, anterior, resumos, saída }
Alfabeto de saída: { A, B, C, D, E, F, G, H, I, J, K, L, M }
• A - Introdução AF H - Exercício Máquina de Mealy
• B - Definição AFD I - Definição Máquina de Moore
• C - Exemplo AFD J - Exemplo Máquina de Moore
• D - Exercício AFD K - Exercício Máquina de Moore
• E - Introdução AF com Saída L - Conclusões
• F - Definição Máquina de Mealy M - Fim
• G - Exemplo Máquina de Mealy
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 41/60
Linguagens Formais e Autômatos - P. Blauth Menezes 41
Autômatos Finitos
...
p r ó x i m aDefinição AFD
...
Exemplo AFD
...
p r ó x i m a e x e r c í c i o s
Exercício AFD
...a n t e r i o r
Aut. Finitos com Saída
...
p r ó x i m a
Definição Mealy
...
Exemplo Mealy
...
p r ó x i m a e x e r c í c i o s
Exercício Mealy
...
a n t e r i o r
Definição Moore
...
Exemplo Moore
...
p r ó x i m a e x e r c í c i o s
Exercício Moore
...
a n t e r i o r
Conclusões
...
saída resumos
próxima
exercício
anterior
próxima
próxima
próxima
exercício
anterior
exercício
anterior
A
BC D
E
FG H
I J K
L
próxima
Definição AFD
...
Máquina de Mealy
...
Máquina de Moore
...
a n t e r i o r
resumos
anterior
BF I
saída
Fi mM
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 42/60
Linguagens Formais e Autômatos - P. Blauth Menezes 42
◆ Observe
• fragmentos de hipertextos são concatenados, compondo páginas
• mesmos fragmentos são usados em mais de uma página
∗ reuso de fragmentos de hipertextos
• se um fragmento for alterado na base de dados
∗ todas referências são automaticamente alteradas no autômato
• símbolos do alfabeto de entrada são rótulos de ponteiros
◆ Exercício
• Máquina de Mealy
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 43/60
Linguagens Formais e Autômatos - P. Blauth Menezes 43
◆ Vantagens
• base de dados
∗ alto grau de modularização dos recursos∗ facilidade de reuso desses recursos
• independência da estrutura navegacional (programa) do conteúdo
∗ modificações na estrutura navegacional
∗ não influem no conteúdo (e vice-versa)
• facilidade
∗ criação/manutenção de hipertextos/hipermídias
∗ criação de hipertexto/hipermídia sobre algum já existente
• interface gráfica simples e direta (AF como diagrama)
• implementação trivial
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 44/60
Linguagens Formais e Autômatos - P. Blauth Menezes 44
◆ Exercício: não-determinismo
• interpretação no contexto de hipertextos/hipermídias na WWW??
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 45/60
Linguagens Formais e Autômatos - P. Blauth Menezes 45
5 – Autômato Finito com Saída
5.1 Máquina de Mealy5.2 Máquina de Moore5.3 Equivalência das Máquina de Moore e Mealy5.4 Hipertexto e Hipermídia como Autômato Finito
com Saída5.5 Animação como Autômato Finito com Saída
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 46/60
Linguagens Formais e Autômatos - P. Blauth Menezes 46
5.5 Animação como AF com Saída
◆ Sistemas de animação para
• criação
• apresentação de animações
◆ Podem ser
• Tempo real
∗ imagem exibida é computada no momento da visualização
•
Quadro-a-quadro∗ imagem exibida é previamente computada e armazenada
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 47/60
Linguagens Formais e Autômatos - P. Blauth Menezes 47
◆ World Wide Web
• sistemas de animação são especialmente importantes
• grande parte de seu conteúdo contém animações
◆ Questões importantes
• taxa de transmissão
• espaço de armazenamento
• tempo de processamento
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 48/60
Linguagens Formais e Autômatos - P. Blauth Menezes 48
◆ Sistemas de animação quadro-a-quadro na WWW
• AVI - Audio Video Interleave
• MPEG - Moving Picture Expert Group
• QuickTime
• GIF - Graphics Interchange Format
◆ Características desejáveis de um sistema de animação
• reutilização
∗ seqüências de imagens
∗ partes específicas de imagens
∗ para compor animações a partir de animações existentes
• busca de informações (principamente em animações complexas)
∗ ocorrência de determinadas condições ao longo da animação
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 49/60
Linguagens Formais e Autômatos - P. Blauth Menezes 49
◆ Animações quadro-a-quadro vistas como AF c/ saída
• cada autômato: um ator
• composição de atores em camadas: animações
◆ Cada ator • fita de entrada independente
• alfabeto de saída: conjunto de imagens e sons elementares do ator
• palavra de saída
∗ imagem / som do ator
∗ a cada instante da animação
• alfabeto de entrada: conjunto de ações possíveis
• função programa: comportamento do ator
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 50/60
Linguagens Formais e Autômatos - P. Blauth Menezes 50
◆ Desejável estender o modelo com facilidadesespecíficas para animações
• controle de tempos
• transformações aplicadas a imagem ou som
◆ Uma solução: célula de fita de entrada é uma tripla
•
símbolo do alfabeto de entrada• tempo de processamento da transição (exibição da imagem)
• transformação aplicada
∗ imagem: posicionamento, rotação, etc.
∗ som: volume, equalização, etc.
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 51/60
Linguagens Formais e Autômatos - P. Blauth Menezes 51
Exp: Animação como AF com Saída
Atores
• cobra capaz de se movimentar, abocanhar e rir
• maçã que pode estar ou não mordida
Animação
• cobra eventualmente abocanha a maçã (Máquina de Mealy)
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 52/60
Linguagens Formais e Autômatos - P. Blauth Menezes 52
•
imagens dos atores: camadas, compondo quadros das animações
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 53/60
Linguagens Formais e Autômatos - P. Blauth Menezes 53
• sincronização dos atores: controle de tempos
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 54/60
Linguagens Formais e Autômatos - P. Blauth Menezes 54
◆ Observe que
• alteração algum símbolo do alfabeto de saída (imagem elementar)
∗ todas referências são automaticamente alteradas
• ator pode ser reusado na composição de uma outra animação
• mesmo ator pode ser usado diversas vezes em uma animação
∗ exemplo: animação com diversas cobras independentes
Exercício
• Máquina de Moore
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 55/60
Linguagens Formais e Autômatos - P. Blauth Menezes 55
◆ Vantagens
• encapsulamento das propriedades estéticas e comportamentais em
uma unidade básica (ator) favorece∗ reuso (instanciação) em diferentes animações
∗ existe apenas um autômato (e diversas fitas de entrada)
• independência da estrutura comportamental (programa) do
conteúdo das imagens/sons
∗ modificações na estrutura comportamental∗ não influem no conteúdo das imagens/sons (e vice-versa)
• facilidade
∗ criação e manutenção de atores e animações
∗ criação de ator/animação sobre algum já existente
• interface gráfica simples e direta (AF como diagrama)
• implementação trivial
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 56/60
Linguagens Formais e Autômatos - P. Blauth Menezes 56
◆ Importante vantagem (animações complexas)
buscas de informações sobre a ocorrência de determinadas
condições ao longo de uma animação
• usando
∗ estrutura de estados
∗ algumas informações adicionais
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 57/60
Linguagens Formais e Autômatos - P. Blauth Menezes 57
◆ Comparação com modelos usuais quadro-a-quadro
• importante vantagem: tamanho de arquivo (taxa de transferência)
• pode montar cada quadro no momento em que é exibido
∗ mesma imagem exibida em diferentes momentos da animação
∗ sem necessidade de codificar (ou transmitir ) novamente
• o mesmo para
∗ diferentes instâncias do mesmo ator ∗ diferentes atores que usam o mesmo alfabeto de saída
◆ Casos reais
• 20% ou menos do espaço usualmente requerido por um GIF
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 58/60
Linguagens Formais e Autômatos - P. Blauth Menezes 58
◆ Exercício: não-determinismo
• interpretação no contexto de animações???
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 59/60
Linguagens Formais e Autômatos - P. Blauth Menezes 59
Linguagens Formais e Autômatos
P. Blauth Menezes
1 Introdução e Conceitos Básicos
2 Linguagens e Gramáticas
3 Linguagens Regulares
4 Propriedades das Linguagens Regulares
5 Autômato Finito com Saída
6 Linguagens Livres do Contexto
7 Propriedades e Reconhecimento das LinguagensLivres do Contexto
8 Linguagens Recursivamente Enumeráveis e
Sensíveis ao Contexto9 Hierarquia de Classes e Linguagens e Conclusões
5/8/2018 Aula_5_-_Automatos_Finitos_com_Saida - slidepdf.com
http://slidepdf.com/reader/full/aula5-automatosfinitoscomsaida 60/60
Li F i A tô t P Bl th M 60
Linguagens Formais e
AutômatosP. Blauth Menezes
Departamento de Informática Teórica
Instituto de Informática / UFRGS