Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... ·...
Transcript of Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... ·...
![Page 1: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/1.jpg)
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
![Page 2: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/2.jpg)
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
![Page 3: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/3.jpg)
Linguagens
óGramáticas GGeram as
AutómatosReconhecem asGeram as
cadeias de LReconhecem as
cadeias de L
© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC67
![Page 4: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/4.jpg)
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
![Page 5: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/5.jpg)
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
![Page 6: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/6.jpg)
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
![Page 7: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/7.jpg)
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
![Page 8: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/8.jpg)
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
![Page 9: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/9.jpg)
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
![Page 10: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/10.jpg)
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
![Page 11: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/11.jpg)
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
![Page 12: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/12.jpg)
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
![Page 13: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/13.jpg)
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
![Page 14: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/14.jpg)
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
![Page 15: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/15.jpg)
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
![Page 16: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/16.jpg)
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
![Page 17: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/17.jpg)
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
![Page 18: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/18.jpg)
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
![Page 19: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/19.jpg)
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
![Page 20: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/20.jpg)
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
![Page 21: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/21.jpg)
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
![Page 22: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/22.jpg)
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
![Page 23: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/23.jpg)
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
![Page 24: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/24.jpg)
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
![Page 25: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/25.jpg)
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
![Page 26: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/26.jpg)
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
![Page 27: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/27.jpg)
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
![Page 28: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/28.jpg)
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
![Page 29: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/29.jpg)
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
![Page 30: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/30.jpg)
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
![Page 31: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/31.jpg)
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
![Page 32: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/32.jpg)
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
![Page 33: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/33.jpg)
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
![Page 34: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/34.jpg)
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
![Page 35: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/35.jpg)
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
![Page 36: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/36.jpg)
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
![Page 37: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/37.jpg)
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
![Page 38: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/38.jpg)
Q QQ
NFA
Q
DFA
© ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC102
![Page 39: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/39.jpg)
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
![Page 40: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/40.jpg)
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
![Page 41: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/41.jpg)
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
![Page 42: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/42.jpg)
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
![Page 43: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/43.jpg)
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
![Page 44: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/44.jpg)
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
![Page 45: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/45.jpg)
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
![Page 46: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/46.jpg)
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
![Page 47: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/47.jpg)
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
![Page 48: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/48.jpg)
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)
![Page 49: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/49.jpg)
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
![Page 50: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/50.jpg)
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
![Page 51: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/51.jpg)
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.
![Page 52: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/52.jpg)
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
![Page 53: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/53.jpg)
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)
![Page 54: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/54.jpg)
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.
![Page 55: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/55.jpg)
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
![Page 56: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/56.jpg)
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
![Page 57: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/57.jpg)
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 )
![Page 58: Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... · · 2010-02-28Um aceitador determinístico (DFA- Deterministic Finite Acce pp)ter)](https://reader031.fdocumentos.tips/reader031/viewer/2022022011/5b093f257f8b9a404d8d8648/html5/thumbnails/58.jpg)
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