Aula_5_-_Automatos_Finitos_com_Saida

60
 Linguagens Formais e Autômatos  - P. Blauth Menezes 1 Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS  

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

[email protected] 

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

[email protected] 

Departamento de Informática Teórica

Instituto de Informática / UFRGS