Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Capítulo</strong> 9<br />
<strong>Má</strong> <strong>Má</strong>quinas i <strong>de</strong> d <strong>Turing</strong> T i<br />
9.1. A máquina <strong>de</strong> <strong>Turing</strong> (TM) padrão<br />
9.2. Combinações <strong>de</strong> máquinas <strong>de</strong> <strong>Turing</strong><br />
9.3. A Tese <strong>de</strong> <strong>Turing</strong><br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC<br />
375
Linguagens regulares Autómatos finitos<br />
Linguagens livres <strong>de</strong> contexto Autómatos<br />
fi finitos i com uma pilha ilh<br />
Linguagens não livres <strong>de</strong> contexto ???<br />
Qual o autómato mais po<strong>de</strong>roso ?<br />
Quais os limites da computação ?<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 376
1940 – Alan <strong>Turing</strong>, procura formalizar a<br />
noção <strong>de</strong> algoritmo, i<strong>de</strong>ntificando as<br />
operações õ ffundamentais d i e primitivas. i i i<br />
Depois <strong>de</strong>fine uma máquina abstracta<br />
capaz d<strong>de</strong> executar t essas operações õ segundo d<br />
regras g bem <strong>de</strong>finidas.<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 377
<strong>Má</strong>quina <strong>de</strong> <strong>Turing</strong><br />
Um mo<strong>de</strong>lo abstracto <strong>de</strong> computação<br />
Problemas resolúveis e irresolúveis<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 378
MT<br />
UNIDADE<br />
DE<br />
CONTROLO<br />
R/W<br />
<br />
FITA<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 379
Definição 9.1. MT<br />
M = ( Q , , , , q 0 , , F)<br />
Q é o conjunto <strong>de</strong> estados internos<br />
é o alfabeto <strong>de</strong> entrada<br />
é o conjunto j finito alfabeto da fita<br />
é a função <strong>de</strong> transição<br />
é o carácter branco branco, símbolo especial<br />
F Q é o conjunto <strong>de</strong> estados finais<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 380
Função <strong>de</strong> transição<br />
estado d actual lUC<br />
carácter da fita a<br />
ser lido no<br />
momento<br />
R/W<br />
: Q Q {L, R}<br />
<br />
1º - Q Q,pó , próximo o<br />
estado da UC<br />
2º - escrever na fita<br />
um novo símbolo em<br />
substituição do<br />
presente<br />
3º - fazer uma<br />
movida para a direita<br />
ou para a esquerda<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 381
Exemplo 1<br />
= { a, b,c }<br />
={a, b, }<br />
: ( Q ) ( Q { L, R } )<br />
( q , a ) = ( q , b, , R )<br />
0 1<br />
abc a b c b b c<br />
q 0<br />
q 1<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 382
Uma M <strong>Turing</strong> po<strong>de</strong> ser encarada como<br />
um computador muito simples:<br />
tem uma unida<strong>de</strong> <strong>de</strong> processamento p<br />
com<br />
memória finita (número finito <strong>de</strong> estados)<br />
tem uma segunda unida<strong>de</strong> <strong>de</strong><br />
armazenamento <strong>de</strong> capacida<strong>de</strong> infinita infinita.<br />
a ffunção d<strong>de</strong> transição i é o “programa” do d<br />
computador ; é uma função parcial.<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 383
Exemplo 2. Seja a MT<br />
Q = {q 0 , q 1 }<br />
= {a {a, b}<br />
= {a, b, }<br />
= { a, b }<br />
= { ab a, b, }<br />
(q 0 , a) = (q 0 , b, R)<br />
(q 0 , b) = (q 0 , a, R)<br />
F = { {q } 1 (q , )= (q , , R)<br />
0 0<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 384
a a b b b a b a b b b a<br />
q 0<br />
(q0 , a)= (q 0 , b, R)<br />
b b b b b a b b a b b a<br />
q 0<br />
(q 0 , b)= (q 0 , a, R)<br />
q 0<br />
q 0<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 385
a a b a b b a a a a<br />
q 0<br />
b b a a a b<br />
q 0<br />
(q0 (q0 , b) ) = (q 0 , a, , R) )<br />
q 0<br />
b b a a a b<br />
(q 0 , )= (q 0 , , R)<br />
q 0<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 386
Se a ffunção d<strong>de</strong> transição i for f<br />
(q 0 , a) = (q 0 , a, R)<br />
0 0<br />
(q 0 , b) = (q 1 , b, R)<br />
(q , ) =(q = (q , , R)<br />
0 0<br />
(q 1 , a) = (q 0 , b, L)<br />
(q 1 , b) = (q 0 , b, L)<br />
(q , ) = (q , , L)<br />
1 0<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 387
(q 0 , a)= (q 0 , a, R) (q 0 , b)= (q 1 , b, R)<br />
a a b b b a<br />
a a b b b a<br />
q q q0 q<br />
0 0 q 0<br />
qq0 q q1 (q 1 , b)= (q 0 , b, L) (q 0 , b)= (q 1 , b, R)<br />
a a b b b a a a b b b a<br />
q 0<br />
q 1<br />
q 0 q 1<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 388
Características da MT padrão<br />
UUma fit fita ilimitada ili it d em ambas b as direcções di õ permitindo iti d um<br />
número arbitrário <strong>de</strong> movidas à esquerda e à direita.<br />
É <strong>de</strong>terminística na medida em que <strong>de</strong>fine no máximo<br />
uma movida id para cada d configuração. fi ã<br />
No instante inicial a fita tem algum conteúdo especificado.<br />
Parte <strong>de</strong>ste po<strong>de</strong> ser consi<strong>de</strong>rado a entrada. Sempre que a<br />
máquina pare (halt), (halt) algum do conteúdo da fita po<strong>de</strong> ser<br />
consi<strong>de</strong>rado como saída.<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 389
<strong>de</strong>scrição instantânea<br />
da MT o estado actual da unida<strong>de</strong> <strong>de</strong><br />
a 1 a 2<br />
x 1<br />
controlo<br />
conteúdo da fita<br />
a posição da cabeça <strong>de</strong> leitura/escrita<br />
x 1 q x 2<br />
x 2<br />
a k . a n<br />
q<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 390
movidas <strong>de</strong> uma MT<br />
configuração (k) | configuração (k+1)<br />
a b c d a b e d<br />
(q 1 , c) = (q 2 , e, R)<br />
q 1 q2<br />
abqq cd | | abeqq d<br />
1 2<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 391
movida id<br />
a 1 a 2 .....a k-1 q 1 a k a k+1 ...a n | a 1 a 2 .....a k-1 bq 2 a k+1 …a n<br />
(q 1 , a k ) = (q 2 , b, R)<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 392
movida<br />
a 1 a 2 .....a k-1 q 1 a k a k+1 ...a n | a 1 a 2 .....q 2 a k-1 ba k+1 …a n<br />
(q 1 , a k ) = (q 2 , b, L)<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 393
... um número arbitrário <strong>de</strong> movidas<br />
<br />
<br />
... <strong>de</strong> uma certa máquina q M<br />
<br />
M<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 394
Computação<br />
M parou p partindo p <strong>de</strong> alguma g configuração g ç inicial x q x 1 i 2 qi 2<br />
se<br />
para algum q j e algum a<br />
<br />
<br />
x q x y q ay 1 i 2<br />
1 j 2<br />
para os quais (q ,a) , a) j<br />
seja não <strong>de</strong>finida.<br />
Chama-se computação à sequência das configurações que levam<br />
a MT do estado inicial ao estado <strong>de</strong> paragem (halt)<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 395
Ciclo infinito<br />
A situação s u ç o em e que a MT entra e num u ciclo c c o infinito, o, nunca u c<br />
parando, nem <strong>de</strong> lá po<strong>de</strong>ndo sair, <strong>de</strong>nota-se por<br />
x 1 q x 2<br />
<br />
<br />
<br />
Esta situação é muito importante na teoria das MT<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 396
FFunção ã d<strong>de</strong> ttransição i ã segundo d :<br />
Li Linz e JFLAP<br />
: ( Q ) ( Q { LR}) L, R } ) (q (q0 , b) = (q (q1 , b , R)<br />
Taylor e DEM<br />
:( Q ) ( {L, R }) Q (q 0 , b) = ( b, q 1)<br />
(q 1 , b) = ( R, q 1)<br />
São necessárias mais instruções para a mesma funcionalida<strong>de</strong>.<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 397
9.1.4. Diagramas <strong>de</strong> estados ou <strong>de</strong> transição <strong>de</strong> MT’s<br />
Os diagramas <strong>de</strong> estados são uma forma alternativa à escrita<br />
da função <strong>de</strong> transição<br />
Consi<strong>de</strong>remos a MT, , com uma fita completamente p em<br />
branco, que faz o seguinte:<br />
inicializada lendo uma casa em branco,<br />
escreve os caracteres ab e<br />
pára p lendo o carácter a.<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 398
a<br />
; a, R<br />
q q 0 0 q1 a b<br />
q f<br />
q1 q1 ; b, L<br />
qf q 0<br />
; a, R<br />
q 1<br />
; b, L<br />
JFLAP<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 399<br />
q f
q 0<br />
a<br />
q 1<br />
a<br />
q 2<br />
a b<br />
q 3<br />
a b<br />
q f<br />
q 0<br />
q 2<br />
q f<br />
a : R<br />
b : L<br />
DEM<br />
: a<br />
: b<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 400<br />
q 1<br />
q 3
QQue f faz ???<br />
; a, R<br />
q 0<br />
JFLAP<br />
Fita inicial<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 401
QQue f faz ???<br />
; , R<br />
JFLAP<br />
q 0<br />
Fita inicial<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 402
E esta ???<br />
JFLAP<br />
q 0<br />
; aR a, R<br />
; b, R<br />
q 1<br />
Fita inicial<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 403
Diagrama <strong>de</strong> estados da MT n na(w) (w)= n nb(w) (w) (aceitador)<br />
aceita as ca<strong>de</strong>ias em {a, b} + ce s c <strong>de</strong> s e {a, b} com co uum número ú e o <strong>de</strong> a’s a s<br />
igual ao nº <strong>de</strong> b’s em qualquer or<strong>de</strong>m<br />
inicializada no carácter mais à esquerda <strong>de</strong> w, pára lendo<br />
um simples p 1 estando toda a restante fita em branco<br />
a b b a 1<br />
q 0<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 404<br />
q f
Al Algoritmo i possível: í l<br />
Eliminar pares aa-bb até que:<br />
ou não reste nenhum a nem nenhum b, caso em que a<br />
ca<strong>de</strong>ia é aceite.<br />
ou restarem alguns caracteres não- emparelháveis, caso<br />
em que a ca<strong>de</strong>ia não é aceite. aceite<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 405
n = n a b<br />
: , L<br />
* : *, R<br />
: ,L<br />
q 0<br />
q q4 b :*, R<br />
: ,L<br />
q 5 q f<br />
* : *, R<br />
a : *,R q 1<br />
: , R<br />
* :*, R<br />
q 2<br />
a : a, R<br />
b : b, R<br />
b : *, L<br />
* : *, L<br />
q 3<br />
b :b, L<br />
a :a, L<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 406
n = n a b<br />
* : R<br />
q 0<br />
a : *<br />
q 1<br />
* : R a: R<br />
* : R<br />
: R<br />
q 3<br />
b : *<br />
* : L<br />
b : *<br />
a : *<br />
: L q2 * : R q4 b : L<br />
q 6<br />
: L : 1<br />
* :<br />
q7 qf<br />
* : R<br />
b : R<br />
q 5<br />
a : L<br />
DEM Samenumb.tm, fitas 4a4b.tt, 5a4b.tt<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 407
Exemplo: a MT copiadora (transdutor).<br />
Inicia-se no primeiro p 1 <strong>de</strong> uma ca<strong>de</strong>ia <strong>de</strong> n 1’s.<br />
Pára no primeiro p 1 <strong>de</strong> uma ca<strong>de</strong>ia ininterrupta p <strong>de</strong> n<br />
1’s, seguida por um branco, seguido por uma ca<strong>de</strong>ia<br />
ininterrupta p <strong>de</strong> n 1’s.<br />
1 1 1 1 1 1<br />
q 0<br />
Copying Machine.tm in DEM, fita 8.tt<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 408<br />
q f
9.1.2. MT como aceitadores <strong>de</strong> linguagens. g g<br />
dada uma ca<strong>de</strong>ia w do alfabeto <strong>de</strong> entrada, escrita na fita, não<br />
contendo t d nem bbrancos nem <br />
,<br />
antes <strong>de</strong> w estão brancos e <strong>de</strong>pois p <strong>de</strong> w brancos estão ,<br />
a MT inicializa-se em q0 com a cabeça <strong>de</strong> W/R posicionada no<br />
carácter mais à esquerda <strong>de</strong> ww,<br />
dá-se uma sequência <strong>de</strong> movidas ,<br />
w é aceite se a MT entrar num estado final e parar (halt),<br />
w não é aceite se a MT parar (halt) num estado não final, ou se<br />
entrar num ciclo infinito.<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 409
Definição 9.3 9 3<br />
Seja M = ( Q, , , , q0 , , F ) uma MT.<br />
A li linguagem aceite i por M é<br />
L(M) = { w + <br />
: q 0 w x1 q f x2 para algum q f F e x 1 , x 2 * }<br />
Se a ca<strong>de</strong>ia tivesse brancos, a MT não saberia quando ela<br />
terminaria i i e teria i que continuar i a percorrer a fita fiaté ao infinito. ifii<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 410
Exemplo ={0 = {0, 1}<br />
LL= L(00*) L(00*), ttodas d as ca<strong>de</strong>ias d i com um ou mais i zeros (sem ( 1’s). 1’ )<br />
ller o primeiro i i carácter. á É zero ? Se sim i continuar; i se não,<br />
parar num estado não final.<br />
ler o segundo carácter. É zero ? Se sim continuar; se não,<br />
parar num estado não final.<br />
... ...<br />
encontrou um branco sem parar num estado não final ? Se<br />
sim, parar num estado final.<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 411
0 : 0 : R<br />
JFLAP<br />
(q 0 , 0) = (q 0 , 0, R)<br />
(q 0 , ) = (q f , , R)<br />
q 0<br />
: : R<br />
q f<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 412
Seguindo Taylor e DEM teremos que criar mais estados:<br />
(q (q0 , 0) = (q (q1 , 0)<br />
(q 1 , 0) = (q 1 ,R)<br />
(q 1 , ) = (q f , )<br />
q 0 q1<br />
0 : R<br />
0 : 0 :<br />
DEM<br />
q f<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 413
Note-se que é uma função parcial<br />
Não é <strong>de</strong>finida por exemplo (q 0 , 1)<br />
Se aparece um 1, no estado q0 , a MT pára (halt)<br />
para sempre, sempre indicando que w não é aceite<br />
(a menos que q0 fosse um estado final)<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 414
As MT po<strong>de</strong>m reconhecer algumas<br />
linguagens que não são livres <strong>de</strong><br />
contexto.<br />
São máquinas mais po<strong>de</strong>rosas do que<br />
os autómatos estudados dd anteriormente. i<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 415
9.1.3. TM como transdutores<br />
um transdutor: transforma uma entrada numa saída<br />
Transdutor<br />
EEntrada t d<br />
Saída<br />
Computação<br />
Fita antes Fita <strong>de</strong>pois<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 416
MT M implementa uma função f<br />
se<br />
w = f (w),<br />
q w 0<br />
<br />
M qf sendo q f algum estado final.<br />
f (w)<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 417
Dfiiã Definição 9.4. 94FFunção ã computável tá l<br />
f com o ddomínio í i D di diz-se T<strong>Turing</strong> i – computável tá l ou<br />
simplesmente computável se existir alguma MT tal que para<br />
toda a w w D :<br />
<br />
q w 0 M qf f (w), qf F<br />
Todas as funções matemáticas usuais, por mais complicadas que<br />
sejam, são <strong>Turing</strong>-computáveis.<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 418
Exemplo Exemplo. Adição <strong>de</strong> números inteiros (representação unária), unária)<br />
ex. 9.9 Linz.<br />
x = 5<br />
x = 4<br />
1 1 1 1 1 0 1 1 1 1<br />
x + y = 9<br />
1 1 1 1 1 1 1 1 1<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 419
Outros exemplos <strong>de</strong> <strong>Má</strong>quinas <strong>de</strong> <strong>Turing</strong><br />
Função Ficheiro do DEM<br />
Conversor <strong>de</strong> binário em unário Convert.tm<br />
Factorial Factorial, n ! Factoria Factoria.tm tm<br />
Multiplicação, f(n,m) = nm Multiply.tm<br />
Potência n n N^n.tm<br />
RRaiz i quadrada d d (<strong>de</strong> (d quadrados d d perfeitos) f i ) SSqrt.tm<br />
Divisão por 2 div2single div2single.tm tm<br />
Reversão <strong>de</strong> uma ca<strong>de</strong>ia em {a,b*} Reverse Word.tm<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 420
99.2. 2 Combinações <strong>de</strong> máq máquinas inas <strong>de</strong> T<strong>Turing</strong> ring<br />
para tarefas complicadas<br />
Muitas funções complicadas po<strong>de</strong>m-se <strong>de</strong>compor em<br />
sequências <strong>de</strong> funções simples computáveis<br />
Tal conceito também se po<strong>de</strong> p aplicar p ao nível da<br />
<strong>Turing</strong> - computabilida<strong>de</strong>.<br />
Po<strong>de</strong>-se projectar uma máquina <strong>de</strong> <strong>Turing</strong> composta<br />
por combinações <strong>de</strong> máquinas <strong>de</strong> <strong>Turing</strong> elementares a<br />
fim <strong>de</strong> realizar operações mais complexas. complexas<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 421
Exemplo<br />
x, y<br />
f (x, ( ,y) y) =<br />
Comparador p<br />
x + y , se x y<br />
0, se x< y<br />
x y<br />
x < y<br />
SSomadora d x + y<br />
Apagadora<br />
0<br />
f ( (x, y) )<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 422
Combinações <strong>de</strong> máquinas <strong>de</strong> <strong>Turing</strong> no DEM<br />
Um nó po<strong>de</strong> ser uma TM. Por exemplo Convert.tm e N^n.tm, que<br />
tem três sub-máquinas sub máquinas <strong>de</strong> <strong>Turing</strong>. <strong>Turing</strong> Para as ver, ver no menu View View,<br />
seleccionar Submachines.<br />
Através <strong>de</strong> combinações, é possível computar com MT MT’s s<br />
operações matemáticas complexas.<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 423
99.3. 3 A Tese <strong>de</strong> <strong>Turing</strong> (1930 (1930’s) s)<br />
(conjectura)<br />
Qualquer computação que possa ser<br />
implementada por processos mecânicos<br />
(i (i.e., por uma máquina) á i ) po<strong>de</strong> d também bé ser<br />
implementada p ppor uma máquina q <strong>de</strong> <strong>Turing</strong> g<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 424
Alguns argumentos a favor da tese <strong>de</strong> <strong>Turing</strong>:<br />
Qualquer computação que possa ser feita por qualquer<br />
computador d di digital i lexistente i também bé po<strong>de</strong> d ser feita f i por<br />
uma TM.<br />
Ninguém conseguiu ainda encontrar um problema,<br />
resolúvel lú l por um qualquer l algoritmo, l i para o qual l não ã<br />
possa ser escrito um programa para uma TM.<br />
Foram propostos mo<strong>de</strong>los alternativos para a<br />
computação ã TM, TM mas nenhum h <strong>de</strong>les d l é mais i po<strong>de</strong>roso d do d<br />
que a TM.<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 425
A Tese <strong>de</strong> <strong>Turing</strong> é (ainda ) uma lei<br />
básica das Ciências da Computação !<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 426
Definição 9.5. 9 5 Algoritmo<br />
Um algoritmo para uma função f : D R é uma <strong>Má</strong>quina <strong>de</strong><br />
<strong>Turing</strong> M tal que,<br />
dado como entrada um qualquer d D na sua fita<br />
pára (halts) com uma resposta correcta para f (d) R<br />
na sua fita<br />
para todo d o d D ,<br />
q 0 d<br />
<br />
M q f f (d), q f<br />
F<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 427
Bibliografia<br />
An Introduction to Formal Languages and Automata, Peter Linz, 3rd Ed., Ed , Jones<br />
and Bartelett Computer Science, 2001.<br />
Mo<strong>de</strong>ls of Computation and Formal Languages, R. Gregory Taylor, Oxford<br />
University Press, 1998.<br />
Introduction to Automata Theory, Languages and Computation, 2nd Ed., John<br />
HHopcroft, ft RRajeev j Motwani, M t i Jeffrey J ff Ull Ullman, Addi Addison Wesley, W l 2001. 2001<br />
Elements for the Theory of Computation, Harry Lewis and Christos<br />
Papadimitriou Papadimitriou, 2nd Ed., Ed Prentice Hall, Hall 1998. 1998<br />
Introduction th the Theory of Computation, Michael Sipser, PWS Publishing<br />
Co, 1997.<br />
http://www.turing.org.uk/turing/<strong>Turing</strong>.html (Alan <strong>Turing</strong> Home Page)<br />
http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/<strong>Turing</strong>.html<br />
http://www groups.dcs.st and.ac.uk/ history/Mathematicians/<strong>Turing</strong>.html<br />
© ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 428