Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... ·...

Post on 26-May-2018

216 views 0 download

Transcript of Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... ·...

C í l 2Capítulo 2.

Autómatos FinitosAutómatos Finitos2 1 A it d d t i í ti (DFA)2.1. Aceitadores determinísticos (DFA)

2.2. Autómatos finitos não-determinísticos (NFA)

2.3. Equivalência entre os DFA e os NFA

2.4 Autómatos finitos transdutores (Mealy e Moore)

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC65

A partir de um alfabeto, podem-se definir muitas linguagens

As linguagens podem ser definidas por uma gramática

Dada uma cadeia de caracteres, como saber se pertence a , puma dada linguagem ?

A resposta pode ser obtida por um autómato chamado aceitador: ele tem um estado “aceitar” ao qual é levado por qualquerele tem um estado aceitar ao qual é levado por qualquer cadeia (de uma dada linguagem), que se apresente à sua entrada Por isso se chama aceitador (accepter)entrada. Por isso se chama aceitador (accepter).

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC66

Linguagens

óGramáticas GGeram as

AutómatosReconhecem asGeram as

cadeias de LReconhecem as

cadeias de L

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC67

2 1 Aceitadores determinísticos (DFA)2.1. Aceitadores determinísticos (DFA)

Definição 2.1. DFADefinição 2.1. DFA

Um aceitador determinístico (DFA- Deterministic Finite Accepter) ( p )é definido pelo quinteto

M = (Q , , , q0 , F )

Q : conjunto finito de estados internos : alfabeto de entrada (conjunto finito de caracteres) : Q x Q é a função total chamada função de transiçãoq0 Q é o estado inicialF Q é o conjunto de estados finais

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC68

Exemplo 1Exemplo 1

1

off oninício

1

1

Q j d d i { ff}Q , conjunto de estados internos: {on, off} , alfabeto de entrada: {1} f ã d t i ã ff 1 1 ff , função de transição: off 1 on; on 1 offq0, é o estado inicial: offF o estado final: {on}F, o estado final: {on}

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC69

cadeia de entrada a a b b a b

Não tem

q0

dispositivo de memória nem

q1q2 cadeia de saída !!!

estado seguinteá d d estado seguinte,movida,

símbolo na saída

carácter de entradaestado actual símbolo na saída

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC70

2.1.1.Representação de um autómato por um grafo

estadoVértices qi estadoVértices qi

estado inicialq0

estado aceitador ou finalqf

[*] átA

estado aceitador ou finalqf

[*] caráterArestas

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC71

E l 2 01Exemplo 2

i í i

0

q2

01

qinício1

q20

q1q0

1

M= (Q, , , q0, F) Q = {q0,q1,q2}, = {0,1}, F = {q2} e é definida por

Entradas

Estados 0 1q0 q1 q0q1q2

q2q0q1

q0

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC72

Exemplo 3

q0 q111Início q0

11Início q1

10 000

10 000

q2 q311

q2 q311

EstadosEntradas

0 1Estados 0 1q0q

q2 q1q q

q0 q11

0 000

Início

q1q2q3 q2q1

q3q3q0

q0

q211

0 000

q3q3 q2q1 1

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC73

A linguagem de um DFA MA linguagem de um DFA M

li i ( h id ) M éa linguagem aceite (ou reconhecida) por M é o

conjunto de todas as cadeias que, começando no estado inicial alcançam umcomeçando no estado inicial, alcançam um dos estados finais depois de toda a cadeia

ter sido lida.

Qual a linguagem do DFA do exemplo 3 ?

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC74

E l 4Exemplo 4

I í i q q

0 01

Início q0 q1

1Exemplo 5

1

0 1

Início q0 q11

0 0 11Exemplo 6

0

Início q0 q1 q21 0

0 0,11

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC75

Exemplo 7p

M = ({q0, q1, q2}, {a,b}, , q0, {q2})0 1 2 0 2

: Q x Q

bFunção de transição: a b

q q q

Função de transição:

(q0, a) = q1 q0 q1 q2

q1 q0 q2

(q0, a) q1 (q0, b) = q2 (q1, a) = q0 q1 q0 q2

q2 q2 q2

(q1, ) q0 (q1, b) = q2 (q2, a) = q2(q2 ) q2 (q2, b) = q2

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC76

aa

aq0q1 q0

q0

bb b

q0

q2q2 q2q2

a b a b

q2q2

a,b a,b

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC77

Função de transição estendida *:ç ç

* : Q * Q

O seu segundo argumento é uma cadeia em vez de um carácter,carácter,

o seu valor de saída dá o estado do autómato depois de ler a cadeia toda,,

é uma forma compacta de descrever um conjunto de transições resultantes da leitura de uma cadeia de entrada.

Por exemplo

ç

p

(q0, a) = q1 e (q1, b) = q2 então * (q0, ab) = q2

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC78

Definição recursiva da função de transição estendidaç ç ç

1 * (q )= q1. * (q,)= q2. * (q,wa)= ( * (q, w), a)

para todo o q Q, w *, a .

Para o exemplo anterior teremos :

* (q0, ab) = ( * (q0, a), b)

* (q0, a) = * (q0, a) = ( *(q0, ), a)= (q0, a) = q1

* (q0, ab) = ( q1, b) = q2

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC79

Linguagens e DFA’s

Definição 2.2. Linguagem aceite por um DFA

A linguagem aceite por um DFA M =(Q, , , q0, F) é o conjunto d t d d i it M ide todas as cadeias em aceites por M, i.e.,

L(M) { * * ( ) F }L(M) = {w * : * (q0, w)F }

As funções de transição e * são funções totais.

Em cada passo define-se um e um só movimento, e por isso o autómato chama-se determinístico.

O autómato processa todas as w em *, aceitando-as ou não.© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC

80

Complemento da linguagem de um DFA

Quando o DFA não aceita uma cadeia, pára num estado não final, de modo quefinal, de modo que

Compl (L(M)) = {w * : * (q0, w) F }

C d h DFA i C l(L(M)) ??Como desenhar o DFA que aceita o Compl(L(M)) ??

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC81

2 1 2 Linguagens regulares2.1.2. Linguagens regulares

Uma linguagem diz-se regular se e só se existir um DFA MUma linguagem diz se regular se e só se existir um DFA M que a aceite, i. e.

L = L ( M )

A família das linguagens regulares é composta por todas as g g g p plinguagens que são aceites por um qualquer DFA.

Uma forma de demonstrar que uma linguagem é regular é encontrar um DFA que a aceite.

O conjunto das linguagens regulares constitui uma família.© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC

82

Construir um DFA que aceite a linguagem L em = {0 1} talConstruir um DFA que aceite a linguagem L em {0, 1} tal que

Exemplo 8L contém apenas “010” e “1”L contém apenas 010 e 1 .

E l 9Exemplo 9L é o conjunto de todas as cadeias que terminam com “00”

Exemplo 10pL é o conjunto de todas as cadeias sem “1”s consecutivos

nem “0”s consecutivos.

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC83

2.2. Aceitadores finitos não-determinísticos (NFA)

A partir de um estado são possíveis zero, uma ou maisp p ,transições com o mesmo símbolo do alfabeto.

Uma entrada é aceite se houver para ela um caminho que leva a um estado final (aceitador).

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC84

D fi i ã 2 4 NFADefinição 2.4. NFA

Um aceitador não-determinístico (NFA – Nondeterministic Fi it A t ) é d fi id l i t tFinite Accepter) é definido pelo quinteto

M (Q F)M= (Q, , , q0, F)

em que a função de transição é definida porem que a função de transição é definida por

: Q ({ }) 2Q : Q ({ }) 2Q

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC85

3 diferenças em relação ao DFA:

1) o contradomínio de é a potência de conjuntos de Q, e não Q, precisamente porque o resultado de pode ser umQ, precisamente porque o resultado de pode ser um subconjunto de Q.

2) pode ser argumento de , ou seja, pode dar-se uma transição sem consumir um símbolo de entrada ( o ç (mecanismo de leitura pode ficar parado em alguns movimentos).

3) O conjunto (qi, a) pode ser vazio, significando que não há qualquer transição nesta situação.

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC86

2 2 1 R t ã d NFA f

OS NFA d f l DFA

2.2.1.Representação de um NFA por um grafo

OS NFA podem representar-se por grafos tal como o DFA.

Diferenças:Diferenças:

q1 q2a

i) Do mesmo vértice podem partir

a

diversas arestas com a mesma etiqueta

aq3( q1, a) = { q2, q3 } q4

ii) Algumas arestas podem ser etiquetadas por

iii) Nem todas as transições de um vértice são definidas

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC87

Uma cadeia é aceite pelo NFAUma cadeia é aceite pelo NFA

se houver alguma sequência de movimentos possíveis que coloquem o autómato num estado final no fim da cadeia. q

Caso contrário é rejeitada.

O não-determinismo permite escolher entre diversos caminhos possíveis para uma cadeia de entrada.

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC88

Que linguagem é aceite pelo NFA ?Exemplo 11 Que linguagem é aceite pelo NFA ?Exemplo 11

a aq1 q2

q3a

a a

q0q0

a a

q4 q5aa

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC89

q1 q2q3

a a

a

q0 L(M) = {a 3}

q0

a aL(M) { 2n 1}

q4 q5

L(M) = {a 2n: n 1}

a

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC90

a aq1 q2

q3a

a a

qq0

a a

q4 q5aa

L(M) = {a 3} {a 2n: n 1}

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC91

Exemplo 120

0 1

(q0, 1) = {q1} (q0, 0) =

q1 q2q0

1

0, 1 (q1, 0) = {q0, q2} (q1, 1) = {q2} ( ) { }1

(q0, ) = { q0, q2} (q2, 0) = ( 1)

As 3 categorias de não determinismo:

(q2, 1) =

As 3 categorias de não determinismo:

- de q1 partem duas arestas etiquetadas por 0

- de q0 parte uma aresta etiquetada

- de q2 não é definida qualquer transição, (q2, 0) =

- existe sempre a transição (qi, ) = { qi}, para todo o i© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC

92

existe sempre a transição (qi, ) { qi}, para todo o i

Função de transição estendida * em NFA

Define-se de modo análogo ao caso do DFA

* (qi, w) = Qj

sendo Qj o conjunto de todos os estados em que o autómato se pode encontrar partindo de q e tendo lido a cadeia wpode encontrar, partindo de qi e tendo lido a cadeia w.

Definição 2 5

A função de transição estendida (NFA) * define-se de

Definição 2.5.

ç ç ( )modo que * (qi, w) contém qj se e só se existir um caminho no grafo de transição desde qi até qj com etiqueta w, para i jtodos os qi, qj Q e todas as w *.

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC93

Linguagens e NFA’sLinguagens e NFA’s

D fi i ã 2 2 Li it NFA

A li L i NFA M (Q F) é

Definição 2.2. Linguagem aceite por um NFA

A linguagem L aceite por um NFA M =(Q, , , q0, F) é o conjunto de todas as cadeias em * aceites por M, i.e.,

L(M) = { w * : * ( q0 , w ) F }

Uma cadeia w pode levar a vários estados depois de lida; se

0

Uma cadeia w pode levar a vários estados, depois de lida; se pelo menos um deles é final, a cadeia é aceite.

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC94

Que linguagem aceita ?Exemplo 13

0

0 1

Que linguagem aceita ?

q1 q2q0

1

0, 1

1

Aceita :

Não aceita : 1

10 1010

1111011

101010 1101

L ( M ) = { (10) n : n 0 }

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC95

Porquê o não determinismo? servem para modelizar algoritmos em que tem que se fazer escolhas (search-and-

backtracking, por exemplo)

serve para definir linguagens compostas por conjuntos bastante diferentes (como no exemplo que aceita a linguagem {a3}{a2n : n 0}.

o não-determinismo é um mecanismo apropriado para descrever de forma simples e concisa linguagens complicadas. Na definição de uma gramática existe um elemento g g p ç gde não-determinismo, como em S aSb | em qualquer ponto se pode escolher a primeira ou a segunda produção; podemos assimem qualquer ponto se pode escolher a primeira ou a segunda produção; podemos assim especificar um grande número de cadeias usando apenas duas regras.

há uma razão de ordem técnica: alguns resultados são mais facilmente estabelecidos há uma razão de ordem técnica: alguns resultados são mais facilmente estabelecidos para NFA do que para DFA.

Como veremos não há nenhuma diferença essencial entre NFA’s e DFA’s. Por conseguinte o facto de se permitir o não determinismo simplifica por vezes os argumentos formais sem afectar a generalidade da conclusão.

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC96

2 3 Equivalência entre DFA’s e NFA’s2.3. Equivalência entre DFA s e NFA s

D fi i ã 2 7 A tó t ( it d ) i l tDefinição 2.7. Autómatos (aceitadores) equivalentes

Dois aceitadores M1 e M2 são equivalentes se

L(M1) = L(M2)

isto é, se ambos aceitam a mesma linguagem.

Existem geralmente muitos aceitadores para uma dada linguagem e por isso qualquer DFA ou NFA tem muitoslinguagem, e por isso qualquer DFA ou NFA tem muitos aceitadores equivalentes.

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC97

DFA d id i i ( i ) d os DFA podem-se considerar casos especiais (restritos) de NFA.

se uma linguagem é aceite por um DFA então existe um NFA que também a aceitaque também a aceita.

se uma linguagem é aceite por um NFA existirá um DFA que se uma linguagem é aceite por um NFA, existirá um DFA que a aceite ?

Será que o não-determinismo eliminou esta possibilidade ?

SIM !!!De facto não eliminou ! SIM !!!

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC98

Determinação do DFA equivalente a um NFADeterminação do DFA equivalente a um NFA

Depois de um NFA ler uma cadeia w, não se sabe precisamente em que estado está, mas sabe-se apenas que está num estado entre um conjunto Qw de estados possíveis

Q { }Qw={qi, qj, ..., qk }.

D i d DFA l d i t tDepois de um DFA ler a mesma cadeia tem que estar num estado bem definido, qw.

Como encontrar uma correspondência entre estas duas situações ?Como encontrar uma correspondência entre estas duas situações ?

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC99

Truque:

- cria-se um (super) estado no DFA equivalente a Qw, isto é, etiqueta-se, no DFA, um estado por Qw.

Mas resultará isso num autómato finito ?

Qual o número máximo de estados do DFA que se podem obter t ?por este processo ?

Se no NFA existem no total Q estados, o número máximo de estados que se podem obter no DFA é igual à potência de q p g pconjuntos de Q, isto é 2|Q|, e portanto finito.

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC100

Exemplo 14Tabela de transições

a b

NFATabela de transições

q0 q1q2 q1q2 q2

q2

DFAVários estados (q q ) noVários estados (q1, q2) no NFA resultam um super-

estado (q12) no DFAb a

a,b

(q )

a,b

Nota: o JFLAP não introduz o estado vazio,

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC101

Q QQ

NFA

Q

DFA

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC102

Exemplo 15T b l d t i õ

a bNFATabela de transições

q01 q2q3

q2q3

DFAO estado inicial do DFA é

composto pelo estado inicial do NFA t d l á iNFA e por todos os alcançáveis a

partir deste com a transição b a,b

a,b

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC103

Exemplo 16Exemplo 16

Construir um NFA que aceite a linguagem L composta pelasConstruir um NFA que aceite a linguagem L composta pelas cadeias em = {0,1} que contenham

três 0’s seguidos

ou

três 1’s seguidos ,

como por exemplo

000, 111, 10100010, 00111101000

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC104

três 0’s seguidos

1 00,1

1,00

00

qfq1

q2

q0

qf

0 1três 1’s seguidos

0,10,1g

1 1qf

q011 1 1

q0q1 q2

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC105

três 0’s seguidos ou três 1’s seguidostrês 0 s seguidos ou três 1 s seguidos

Juntam se os dois autómatosJuntam-se os dois autómatos

0 11,0

00

0,1

q0,10,1

00

q0

qfq1

q2

qf1q0 1 1 1

qfq0

q1 q2

1

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC106

Finalmente ...

1 00,1

1,00

00

q3q1

q2

q0

q3

1 1 11

1q4 q5

E i i DFA blExperimentar construir um DFA para o mesmo problema ...

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC107

Vamos agora procurar um DFA equivalente

P i b l d i õ

Vamos agora procurar um DFA equivalente.

Para isso construa-se a tabela de transições:

N 0 1

q0 , q1 q0 , q4

q1 q2 -

q0

1 2

q2 q3 -

q3 q3 q3

q - qq4 - q5

q5 - q3

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC108

Para as transições no DFA etiquetam-se os seus estados comPara as transições no DFA, etiquetam se os seus estados comíndices agrupando os índices dos estados do NFA co-alcançáveis pelas mesmas transições :alcançáveis pelas mesmas transições :

D 0 1Dq0 q01 q04

q q qq01 q012 q04

q04 q01 q045

q012 q0123 q04

q045 q01 q0345q034q0123 q0123

q0345 q013 q0345q0345 q013 q0345

q013 q0123 q034

q q q© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC

109

q034 q013 q0345

O DFA que aceita as cadeias contendo 000 e/ou 111 é:O DFA que aceita as cadeias contendo 000 e/ou 111 é:

00 0q01 q012 q0123

0

11 1

q100

q0 q0341 0

11

q04q045

q03451

q

01

01

1

q04 q013

1

Todos os que contenham q3 são aceitadores© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC

110

adoptando etiquetas mais intuitivas e simplificandoadoptando etiquetas mais intuitivas e simplificando

0

0

00 00

0 00,1

1

F10

11

0

111 11

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC111

E l 17Exemplo 17

NFANFA

Construa a tabela detabela de transições

DFADFA

Calculado com o JFLAP)

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC112

Calculado com o JFLAP)

2 4 Redução do número de estados em DFA’s2.4. Redução do número de estados em DFA s

Ver Linz (62 65) ou Hopcroft et all (159 164)Ver Linz (62-65) ou Hopcroft et all.(159-164)

(Implementado no JFLAP)( p )

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC113

2.5. Autómatos finitos transdutores

Têm entrada, estado e saída

Ficheiro de entrada

S

M

S k

Unidade de Controlo

Memm kUnidade de Controlo

qk

óri

m k

qk ia

Ficheiro de saída

y k

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC114

2.5.1. Máquinas de Mealy 1

A saída depende do estado actual e da entrada actual

yk = f (sk, qk)

Definição: Uma Máquina de Mealy é definida pelo sextetoDefinição: Uma Máquina de Mealy é definida pelo sexteto

M = (Q , ,, , , q0 ) Se está no estado (Q , , , , , q0 )

Q : conjunto finito de estados internos

qi e aparece a entrada 1, envia 0

para a saída e : alfabeto de entrada (conjunto finito de caracteres) : alfabeto de saída (conjunto finito de caracteres) : Q x Q é a função de transição de estado

passa ao estado qj

: Q x Q é a função de transição de estado : Q x é a função de saídaq0 Q é o estado inicial 1/0

arestas

qi qjEntrada/Saída

1/0

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC115

(1) G. H. Mealy, A Method for Synthesizing Sequential Circuits, Bell System Tech. J. vol 34, pp. 1045–1079, Sept 1955.

E l 1/1Exemplo:

Que faz ?

1/1

10110001…q11/λ

q00/11/0

Máquina0/λ q2

????????0/00/0

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC116

Máquina de MealyMáquina de Mealy

Logo que a entrada varia pode variar a saída:

(http://www2.ele.ufes.br/~ailson/digital2/cld/chapter8/chapter08.doc4.html)

g q pfuncionamento assíncrono

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC117

(Nota: também existem em versão síncrona, diferentes destas)

2.5.2. Máquinas de Moore2q

A saída depende apenas do estado (e não da entrada)yk = f (qk)

Definição: Uma Máquina de Moore é definida pelo sextetoDefinição: Uma Máquina de Moore é definida pelo sexteto

M = (Q , ,, , , q0 ) Se está no estado ( íd 1)

(Q , , , , , q0 )

Q : conjunto finito de estados internos

qi (e saída 1) e aparece a entrada 1, transita para o

: alfabeto de entrada (conjunto finito de caracteres) : alfabeto de saída (conjunto finito de caracteres) : Q x Q é a função de transição de estado

estado qj e a saída passa a 0

: Q x Q é a função de transição de estado : Q é a função de saídaq0 Q é o estado inicial

Estado/Saída

1

(2) E. F. Moore, Gedanken-experiments on Sequential Machines pp 129 – 153 Automata Studies Annals of

qi /1 qj /0Entrada

1

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC118

Machines, pp 129 153, Automata Studies, Annals ofMathematical Studies, no. 34, Princeton University Press, Princeton, N. J., 1956.

Exemplo

1

Exemplo

3/11

Que faz ?

11/λ

4/110

010110001…

0/λ

/

110

Má i0 2/λ 5/01 0

1

Máquina

6/00

1????????

0© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC

119

Máquina de MooreMáquina de Moore

(http://www2.ele.ufes.br/~ailson/digital2/cld/chapter8/chapter08.doc4.html)

A saída só pode variar depois de uma mudança de estado:

( p g p p )

A saída só pode variar depois de uma mudança de estado: funcionamento síncrono

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC120

E i lê i á i d M l d MEquivalência entre as máquinas de Mealy e de Moore

Dada uma máquina de Mealy é possível encontrar uma máquina de Moore que, para as mesmas entradas, dá as mesmas saídas. E i (I d íd d d i i i l á i dE vice-versa. (Ignorando a saída do estado inicial na máquina de Moore).

A de Moore equivalente tem um maior número de estados.

Utilidade das máquinas de Mealy e de Moore

Projectar circuitos lógicos Projectar circuitos lógicos

Existe software que simula estas máquinas e gera o circuito lógico a partir do autómato. (ver por ex. http://www.seas.upenn.edu/~ee201/foundation/foundation_impl4.html ou http://www xilinx com/univ/xse42 html )

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC121

http://www.xilinx.com/univ/xse42.html )

Bibliografia

An Introduction to Formal Languages and Automata Peter Linz 3rdAn Introduction to Formal Languages and Automata, Peter Linz, 3rd Ed., Jones and Bartelett Computer Science, 2001

Introduction to Automata Theory, Languages and Computation, 2nd Ed., John Hopcroft, Rajeev Motwani, Jeffrey Ullman, Addi W l 2001Addison Wesley, 2001.

Elements for the Theory of Computation, Harry Lewis and Christos P di it i 2 d Ed P ti H ll 1998Papadimitriou, 2nd Ed., Prentice Hall, 1998.

Introduction to the Theory of Computation, Michael Sipser, PWS P bli hi C 1997Publishing Co, 1997.

Wikipédia (enciclopédia livre) http://en.wikipedia.org ou http://pt.wikipedia.org )

© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC122