12.04.2013 Views

Capítulo 9 Má Máquinas i de d Turing T i

Capítulo 9 Má Máquinas i de d Turing T i

Capítulo 9 Má Máquinas i de d Turing T i

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!