Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... ·...
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