You are on page 1of 58

C l 2 Captulo 2.

Autmatos Finitos Autmatos Finitos


2 1 A it d d t i ti (DFA) 2.1. Aceitadores determinsticos (DFA)
2.2. Autmatos finitos no-determinsticos (NFA)
2.3. Equivalncia entre os DFA e os NFA
2.4 Autmatos finitos transdutores (Mealy e Moore)
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
65
A partir de um alfabeto, podem-se definir muitas linguagens
As linguagens podem ser definidas por uma gramtica
Dada uma cadeia de caracteres, como saber se pertence a , p
uma dada linguagem ?
A resposta pode ser obtida por um autmato chamado aceitador:
ele tem um estado aceitar ao qual levado por qualquer ele 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/DEIFCTUC
66
Linguagens

Gramticas G
Geram as
Autmatos
Reconhecem as
Geram as
cadeias de L
Reconhecem as
cadeias de L
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
67
2 1 Aceitadores determinsticos (DFA) 2.1. Aceitadores determinsticos (DFA)
Definio 2.1. DFA Definio 2.1. DFA
Um aceitador determinstico (DFA- Deterministic Finite Accepter) ( p )
definido pelo quinteto
M = (Q ,E , o , q
0
, F )
Q : conjunto finito de estados internos
E : alfabeto de entrada (conjunto finito de caracteres)
o : Q xE Q a funo total chamada funo de transio
q
0
e Q o estado inicial
F _ Q o conjunto de estados finais
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
68
Exemplo 1 Exemplo 1
1
off
on
incio
1
1
Q j d d i { ff} Q , conjunto de estados internos: {on, off}
E , alfabeto de entrada: {1}
o f d t i ff 1 1 ff o , funo de transio: off 1 on; on 1 off
q
0
, o estado inicial: off
F o estado final: {on} F, o estado final: {on}
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
69
cadeia de entrada a a b b a b
No tem
q
0
dispositivo de
memria nem
q
1
q
2
cadeia de sada !!!
estado seguinte
d d
estado seguinte,
movida,
smbolo na sada
o
carcter de entrada
estado actual
smbolo na sada
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
70
2.1.1.Representao de um autmato por um grafo
estado Vrtices q
i
estado Vrtices q
i
estado inicial
q
0
estado aceitador ou final
q
f
[*] t
A
estado aceitador ou final
q
f
[*] carter
Arestas
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
71
E l 2 0
1
Exemplo 2
i i
0
q
2
0
1
q
incio
1
q
2
0
q
1
q
0
1
M= (Q, E, o , q
0
, F)
Q = {q
0
,q
1
,q
2
}, E = {0,1}, F = {q
2
} e o definida por
Entradas
Estados
0
1
q
0
q
1
q
0
q
1
q
2
q
2
q
0
q
1
q
0
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
72
Exemplo 3
q
0
q
1
1
1
Incio
q
0
1
1
Incio
q
1
1
0 0
0
0
1
0 0
0
0
q
2
q
3
1
1
q
2
q
3
1
1
Estados
Entradas
0
1
Estados
0
1
q
0
q
q
2
q
1
q q
q
0
q
1
1
0 0
0
0
Incio
q
1
q
2
q
3
q
2
q
1
q
3
q
3
q
0
q
0
q
2
1
1
0 0
0
0
q
3
q
3
q
2
q
1
1
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
73
Alinguagem de um DFA M A linguagem de um DFA M
li i ( h id ) M a linguagem aceite (ou reconhecida) por M o
conjunto de todas as cadeias que,
comeando no estado inicial alcanam um comeando no estado inicial, alcanam 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/DEIFCTUC
74
E l 4 Exemplo 4
I i
q q
0 0 1
Incio
q
0
q
1
1
Exemplo 5
1
0 1
Incio
q
0
q
1
1
0 0 1 1
Exemplo 6
0
Incio
q
0
q
1
q
2
1 0
0 0,1 1
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
75
Exemplo 7 p
M = ({q
0
, q
1
, q
2
}, {a,b}, o, q
0
, {q
2
})
0 1 2 0 2
o : Q x E Q
b
Funo de transio:
a b
q q q
Funo de transio:
o (q
0
, a) = q
1
q
0
q
1
q
2
q
1
q
0
q
2
o (q
0
, a) q
1
o (q
0
, b) = q
2
o (q
1
, a) = q
0
q
1
q
0
q
2
q
2
q
2
q
2
(q
1
, ) q
0
o (q
1
, b) = q
2
o (q
2
, a) = q
2
(q
2
) q
2
o (q
2
, b) = q
2
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
76
a
a
a
q
0
q
1
q
0
q
0
b
b
b
q
0
q
2
q
2 q
2
q
2
a b
a b
q
2
q
2
a,b
a,b
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
77
Funo de transio estendida o *:
* : Q * Q
O seu segundo argumento uma cadeia em vez de um
carcter, carcter,
o seu valor de sada d o estado do autmato depois de ler a
cadeia toda,,
uma forma compacta de descrever um conjunto de
transies resultantes da leitura de uma cadeia de entrada.
Por exemplo

p
o (q
0
, a) = q
1
e o (q
1
, b) = q
2
ento o * (q
0
, ab) = q
2
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
78
Definio recursiva da funo de transio estendida
1 o * (q )= q 1. o * (q,)= q
2. o * (q,wa)=o (o * (q, w), a)
para todo o q e Q, w eE *, a eE.
Para o exemplo anterior teremos :
o * (q
0
, ab) = o (o * (q
0
, a), b)
o * (q
0
, a) = o * (q
0
, a) = o (o *(q
0
, ), a)=o (q
0
, a) = q
1
o * (q
0
, ab) = o ( q
1
, b) = q
2
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
79
Linguagens e DFAs
Definio 2.2. Linguagem aceite por um DFA
A linguagem aceite por um DFA M=(Q, E, o, q
0
, F) o conjunto
d t d d i E it M i de todas as cadeias em E aceites por M, i.e.,
L(M) { E * o * ( ) F } L(M) = {weE * : o * (q
0,
w)eF }
As funes de transio o e o * so funes totais.
Em cada passo define-se um e um s movimento, e por isso o
autmato chama-se determinstico.
O autmato processa todas as w em E *, aceitando-as ou no.
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
80
Complemento da linguagem de um DFA
Quando o DFA no aceita uma cadeia, pra num estado no
final, de modo que final, de modo que
Compl (L(M)) = {weE * : o* (q
0,
w) eF }
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/DEIFCTUC
81
2 1 2 Linguagens regulares 2.1.2. Linguagens regulares
Uma linguagem diz-se regular se e s se existir um DFA M Uma linguagem diz se regular se e s se existir um DFA M
que a aceite, i. e.
L = L ( M )
A famlia das linguagens regulares composta por todas as g g g p p
linguagens que so 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 famlia.
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
82
Construir um DFAque aceite a linguagem L em E = {0 1} tal Construir um DFA que aceite a linguagem L em E {0, 1} tal
que
Exemplo 8
L contm apenas 010 e 1 L contm apenas 010 e 1 .
E l 9 Exemplo 9
L o conjunto de todas as cadeias que terminam com 00
Exemplo 10 p
L o conjunto de todas as cadeias sem 1s consecutivos
nem 0s consecutivos.
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
83
2.2. Aceitadores finitos no-determinsticos (NFA)
A partir de um estado so possveis zero, uma ou mais p p ,
transies com o mesmo smbolo 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/DEIFCTUC
84
D fi i 2 4 NFA Definio 2.4. NFA
Um aceitador no-determinstico (NFA Nondeterministic
Fi it A t ) d fi id l i t t Finite Accepter) definido pelo quinteto
M (Q E o F) M= (Q, E, o, q
0
, F)
em que a funo de transio o definida por em que a funo de transio o definida por
o : Q (E{ }) 2
Q
o : Q (E{ }) 2
Q
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
85
3 diferenas em relao ao DFA:
1) o contradomnio de o a potncia de conjuntos de Q, e no
Q, precisamente porque o resultado de o pode ser um Q, precisamente porque o resultado de o pode ser um
subconjunto de Q.
2) pode ser argumento de o, ou seja, pode dar-se uma
transio sem consumir um smbolo de entrada ( o (
mecanismo de leitura pode ficar parado em alguns
movimentos).
3) O conjunto o (q
i
, a) pode ser vazio, significando que no h
qualquer transio nesta situao.
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
86
2 2 1 R t d NFA f
OS NFA d f l DFA
2.2.1.Representao de um NFApor um grafo
OS NFA podem representar-se por grafos tal como o DFA.
Diferenas: Diferenas:
q
1
q
2
a
i) Do mesmo vrtice podem partir
a
diversas arestas com a mesma
etiqueta

a
q
3
o( q
1
, a) = { q
2
, q
3
} q
4
ii) Algumas arestas podem ser etiquetadas por
iii) Nem todas as transies de um vrtice so definidas
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
87
Uma cadeia aceite pelo NFA Uma cadeia aceite pelo NFA
se houver alguma sequncia de movimentos possveis que
coloquem o autmato num estado final no fim da cadeia. q
Caso contrrio rejeitada.
O no-determinismo permite escolher entre diversos
caminhos possveis para uma cadeia de entrada.
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
88
Que linguagem aceite pelo NFA? Exemplo 11 Que linguagem aceite pelo NFA ? Exemplo 11
a a
q
1 q
2
q
3
a
a a
q
0
q
0
a a
q
4
q
5
aa
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
89
q
1 q
2
q
3
a a
a
q
0 L(M) = {a
3
}
q
0
a a
L(M) {
2n
1}
q
4
q
5
L(M) = {a
2n
: n > 1}
a
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
90
a a
q
1 q
2
q
3
a
a a
qq
0
a a
q
4
q
5
aa
L(M) = {a
3
} {a
2n
: n > 1}
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
91
Exemplo 12

0
0 1
o (q
0
, 1) = {q
1
}
o (q
0
, 0) = C

q
1 q
2
q
0
1
0, 1
o (q
1
, 0) = {q
0
, q
2
}
o (q
1
, 1) = {q
2
}
o ( ) { }
1

o (q
0
, ) = { q
0
, q
2
}
o (q
2
, 0) = C
o ( 1) C

As 3 categorias de no determinismo:
o (q
2
, 1) = C
As 3 categorias de no determinismo:
- de q
1
partem duas arestas etiquetadas por 0
- de q
0
parte uma aresta etiquetada
- de q
2
no definida qualquer transio, o (q
2
, 0) = C
- existe sempre a transio o (q
i
, ) = { q
i
}, para todo o i
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
92
existe sempre a transio o (q
i
, ) { q
i
}, para todo o i
Funo de transio estendida o * em NFA
Define-se de modo anlogo ao caso do DFA
o * (q
i
, w) = Q
j
sendo Q
j
o conjunto de todos os estados em que o autmato se
pode encontrar partindo de q e tendo lido a cadeia w pode encontrar, partindo de q
i
e tendo lido a cadeia w.
Definio 2 5
A funo de transio estendida (NFA) o * define-se de
Definio 2.5.
( )
modo que o * (q
i
, w) contm q
j
se e s se existir um caminho
no grafo de transio desde q
i
at q
j
com etiqueta w, para
i j
todos os q
i
, q
j
e Q e todas as we E *.
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
93
Linguagens e NFAs Linguagens e NFAs
D fi i 2 2 Li it NFA
Ali L i NFA M (Q E o F)
Definio 2.2. Linguagem aceite por um NFA
A linguagem L aceite por um NFA M=(Q, E, o, q
0
, F) o
conjunto de todas as cadeias em E * aceites por M, i.e.,
L(M) = { w eE * : o * ( q
0
, w ) F = C }
Uma cadeia w pode levar a vrios estados depois de lida; se
0
Uma cadeia w pode levar a vrios estados, depois de lida; se
pelo menos um deles final, a cadeia aceite.
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
94
Que linguagem aceita ?
Exemplo 13
0
0 1
Que linguagem aceita ?

q
1 q
2
q
0
1
0, 1
1

Aceita :

No aceita :
1
10
1010
1
11
1011
101010 1101
L ( M) = { (10)
n
: n > 0 }
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
95
Porqu o no 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 no-determinismo um mecanismo apropriado para descrever de forma simples e
concisa linguagens complicadas. Na definio de uma gramtica existe um elemento g g p g
de no-determinismo, como em
SaSb |
em qualquer ponto se pode escolher a primeira ou a segunda produo; podemos assim em qualquer ponto se pode escolher a primeira ou a segunda produo; podemos assim
especificar um grande nmero de cadeias usando apenas duas regras.
h uma razo de ordem tcnica: alguns resultados so mais facilmente estabelecidos h uma razo de ordem tcnica: alguns resultados so mais facilmente estabelecidos
para NFA do que para DFA.
Como veremos no h nenhuma diferena essencial entre NFAs e DFAs. Por
conseguinte o facto de se permitir o no determinismo simplifica por vezes os
argumentos formais sem afectar a generalidade da concluso.
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
96
2 3 Equivalncia entre DFAs e NFAs 2.3. Equivalncia entre DFA s e NFA s
D fi i 2 7 A t t ( it d ) i l t Definio 2.7. Autmatos (aceitadores) equivalentes
Dois aceitadores M
1
e M
2
so equivalentes se
L(M
1
) = L(M
2
)
isto , se ambos aceitam a mesma linguagem.
Existem geralmente muitos aceitadores para uma dada
linguagem e por isso qualquer DFAou NFAtemmuitos linguagem, e por isso qualquer DFA ou NFA tem muitos
aceitadores equivalentes.
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
97
DFA d id i i ( i ) d os DFA podem-se considerar casos especiais (restritos) de
NFA.
se uma linguagem aceite por um DFA ento existe um NFA
que tambm a aceita que tambm a aceita.
se uma linguagem aceite por um NFA existir um DFAque se uma linguagem aceite por um NFA, existir um DFA que
a aceite ?
Ser que o no-determinismo eliminou esta possibilidade ?
SIM!!!
De facto no eliminou !
SIM !!!
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
98
Determinao do DFAequivalente a um NFA Determinao do DFA equivalente a um NFA
Depois de um NFA ler uma cadeia w, no se sabe precisamente
em que estado est, mas sabe-se apenas que est num estado
entre um conjunto Q
w
de estados possveis
Q { } Q
w
={q
i
, q
j
, ..., q
k
}.
D i d DFAl d i t t Depois de um DFA ler a mesma cadeia tem que estar num
estado bem definido, q
w
.
Como encontrar uma correspondncia entre estas duas situaes ? Como encontrar uma correspondncia entre estas duas situaes ?
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
99
Truque:
- cria-se um (super) estado no DFA equivalente a Q
w
, isto ,
etiqueta-se, no DFA, um estado por Q
w
.
Mas resultar isso num autmato finito ?
Qual o nmero mximo de estados do DFA que se podem obter
t ? por este processo ?
Se no NFA existem no total Q estados, o nmero mximo
de estados que se podem obter no DFA igual potncia de q p g p
conjuntos de Q, isto 2
|Q|
, e portanto finito.
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
100
Exemplo 14
Tabela de transies
a b
u
NFA
Tabela de transies
q
0
q
1
q
2
u
q
1
q
2
u q
2
u u u
q
2
u u
DFA
Vrios estados (q q ) no Vrios estados (q
1
, q
2
) no
NFA resultam um super-
estado (q12) no DFA
b
a
a,b
u
(q )
a,b
u
Nota: o JFLAP no introduz o estado
vazio, u
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
101
Q Q Q
NFA
Q
DFA
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
102
Exemplo 15
T b l d t i
a b
NFA
Tabela de transies
q
01
q
2
q
3
u
u u q
2
q
3
u u
u u u
DFA
O estado inicial do DFA
composto pelo estado inicial do
NFA t d l i NFA e por todos os alcanveis a
partir deste com a transio
b
a,b
a,b
u
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
103
Exemplo 16 Exemplo 16
Construir um NFAque aceite a linguagem L composta pelas Construir um NFA que aceite a linguagem L composta pelas
cadeias em E = {0,1} que contenham
trs 0s seguidos
ou
trs 1s seguidos ,
como por exemplo
000, 111, 10100010, 00111101000
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
104
trs 0s seguidos
1 0
0,1
1,0
0
0
0
q
f
q
1
q
2
q
0
q
f
0 1
trs 1s seguidos
0,1
0,1
g
1
1
q
f
q
0
1
1
1
1
q
0
q
1
q
2
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
105
trs 0s seguidos ou trs 1s seguidos trs 0 s seguidos ou trs 1 s seguidos
Juntam se os dois autmatos Juntam-se os dois autmatos
0 1
1,0
0
0
0,1
q
0,1
0,1
0
0
q
0
q
f
q
1
q
2
q
f
1
q
0
1
1
1
q
f
q
0
q
1
q
2
1
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
106
Finalmente ...
1 0
0,1
1,0
0
0
0
q
3
q
1
q
2
q
0
q
3
1
1
1
1
1
q
4
q
5
E i i DFA bl Experimentar construir um DFA para o mesmo problema ...
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
107
Vamos agora procurar um DFAequivalente
P i b l d i
Vamos agora procurar um DFA equivalente.
Para isso construa-se a tabela de transies:
o
N
0 1
q
0
, q
1
q
0
, q
4
q
1
q
2
-
q
0
1 2
q
2
q
3
-
q
3
q
3
q
3
q - q q
4
- q
5
q
5
- q
3
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
108
Para as transies no DFA etiquetam-se os seus estados com Para as transies no DFA, etiquetam se os seus estados com
ndices agrupando os ndices dos estados do NFA co-
alcanveis pelas mesmas transies : alcanveis pelas mesmas transies :
o
D
0 1
D
q
0
q
01
q
04
q q q q
01
q
012
q
04
q
04
q
01
q
045
q
012
q
0123
q
04
q
045
q
01
q
0345
q
034
q
0123
q
0123
q
0345
q
013
q
0345
q
0345
q
013
q
0345
q
013
q
0123
q
034
q q q
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
109
q
034
q
013
q
0345
O DFA que aceita as cadeias contendo 000 e/ou 111 : O DFA que aceita as cadeias contendo 000 e/ou 111 :
0
0 0
q
01
q
012
q
0123
0
1
1
1
q
1
0
0
q
0
q
034
1
0
1
1
q
04
q
045
q
0345
1
q
0 1
0
1
1
q
04
q
013
1
Todos os que contenham q
3
so aceitadores
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
110
adoptando etiquetas mais intuitivas e simplificando adoptando etiquetas mais intuitivas e simplificando
0
0
0
0 00
0
0
0,1
1
F
1 0

1
1
0
1
1
1
11
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
111
E l 17 Exemplo 17
NFA NFA
Construa a
tabela de tabela de
transies
DFA DFA
Calculado com o JFLAP)
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
112
Calculado com o JFLAP)
2 4 Reduo do nmero de estados em DFAs 2.4. Reduo do nmero 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/DEIFCTUC
113
2.5. Autmatos finitos transdutores
Tm entrada, estado e sada
Ficheiro de entrada
S
M
S
k
Unidade de Controlo
M
e
m
m
k
Unidade de Controlo
q
k

r
i
m
k
q
k i
a
Ficheiro de sada
y
k
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
114
2.5.1. Mquinas de Mealy
1
A sada depende do estado actual e da entrada actual
y
k
= f (s
k
, q
k
)
Definio: Uma Mquina de Mealy definida pelo sexteto Definio: Uma Mquina de Mealy definida pelo sexteto
M = (Q ,E ,A, o , , q
0
)
Se est no estado
(Q , , , , , q
0
)
Q : conjunto finito de estados internos
q
i
e aparece a
entrada 1, envia 0
para a sada e
E : alfabeto de entrada (conjunto finito de caracteres)
A : alfabeto de sada (conjunto finito de caracteres)
o : Q xE Q a funo de transio de estado
passa ao estado q
j
o : Q xE Q a funo de transio de estado
: Q xE A a funo de sada
q
0
e Q o estado inicial
1/0
arestas
q
i
q
j
Entrada/Sada
1/0
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
115
(
1
) G. H. Mealy, A Method for Synthesizing Sequential Circuits, Bell System Tech. J. vol 34, pp. 10451079, Sept 1955.
E l
1/1
Exemplo:
Que faz ?
1/1
10110001
q
1
1/
q
0
0/1 1/0
Mquina
0/
q
2
????????
0/0 0/0
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
116
Mquina de Mealy Mquina de Mealy
Logo que a entrada varia pode variar a sada:
(http://www2.ele.ufes.br/~ailson/digital2/cld/chapter8/chapter08.doc4.html)
g q p
funcionamento assncrono
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
117
(Nota: tambm existem em verso sncrona, diferentes destas)
2.5.2. Mquinas de Moore
2
q
A sada depende apenas do estado (e no da entrada)
y
k
= f (q
k
)
Definio: Uma Mquina de Moore definida pelo sexteto Definio: Uma Mquina de Moore definida pelo sexteto
M = (Q ,E ,A, o , , q
0
)
Se est no estado
( d 1)
(Q , , , , , q
0
)
Q : conjunto finito de estados internos
q
i
(e sada 1) e
aparece a entrada
1, transita para o
E : alfabeto de entrada (conjunto finito de caracteres)
A : alfabeto de sada (conjunto finito de caracteres)
o : Q xE Q a funo de transio de estado
estado q
j
e a sada
passa a 0
o : Q xE Q a funo de transio de estado
: Q A a funo de sada
q
0
e Q o estado inicial
Estado/Sada
1
(
2
) E. F. Moore, Gedanken-experiments on Sequential
Machines pp 129 153 Automata Studies Annals of
q
i
/1 q
j
/0
Entrada
1
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
118
Machines, pp 129 153, Automata Studies, Annals of
Mathematical Studies, no. 34, Princeton University Press,
Princeton, N. J., 1956.
Exemplo
1
Exemplo
3/1
1
Que faz ?
1
1/
4/1
1 0
0
10110001
0/
/
1
1
0
M i
0
2/
5/0
1
0
1
Mquina
6/0
0
1
????????
0
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
119
Mquina de Moore Mquina de Moore
(http://www2.ele.ufes.br/~ailson/digital2/cld/chapter8/chapter08.doc4.html)
Asada s pode variar depois de uma mudana de estado:
( p g p p )
A sada s pode variar depois de uma mudana de estado:
funcionamento sncrono
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
120
E i l i i d M l d M Equivalncia entre as mquinas de Mealy e de Moore
Dada uma mquina de Mealy possvel encontrar uma mquina
de Moore que, para as mesmas entradas, d as mesmas sadas.
E i (I d d d d i i i l i d E vice-versa. (Ignorando a sada do estado inicial na mquina de
Moore).
A de Moore equivalente tem um maior nmero de estados.
Utilidade das mquinas de Mealy e de Moore
Projectar circuitos lgicos Projectar circuitos lgicos
Existe software que simula estas mquinas e gera o circuito
lgico a partir do autmato. (ver por ex.
http://www.seas.upenn.edu/~ee201/foundation/foundation_impl4.html ou
http://wwwxilinx com/univ/xse42 html )
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
121
http://www.xilinx.com/univ/xse42.html )
Bibliografia
An Introduction to Formal Languages and Automata Peter Linz 3rd An 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 2001 Addison Wesley, 2001.
Elements for the Theory of Computation, Harry Lewis and Christos
P di it i 2 d Ed P ti H ll 1998 Papadimitriou, 2nd Ed., Prentice Hall, 1998.
Introduction to the Theory of Computation, Michael Sipser, PWS
P bli hi C 1997 Publishing Co, 1997.
Wikipdia (enciclopdia livre) http://en.wikipedia.org ou http://pt.wikipedia.org )
ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC
122

You might also like