o computador universal. bibliografia base artigo “turing machine” por james moor em encyclopedia...

22
O Computador Universal

Upload: mafalda-ramalho-de-abreu

Post on 07-Apr-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

O Computador Universal

Page 2: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

Bibliografia Base

• Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15 ENC

• Páginas 147-166 do capítulo 7 do livro de Martin Davis "The universal computer". W.W.Norton 2000. Bib. FCT/UNL: QA 76.17 DAV.

Page 3: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

Referências

• Outras:– Visual Turing:

http://www.cheran-software.com/vturing/

– Pagina Alan Turing:http://www.turing.org.uk/turing/

Page 4: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

A Noção de Computação• Em 1930 um computador era uma pessoa cujo

trabalho era efectuar computações:– Efectuava marcas em folhas de papel.– Mudava constantemente a atenção de folha para folha.

• O matemático Inglês Alan Turing tentou modelar o essencial deste processo de computação por um modelo matemático!

• Criou o modelo que descreve o funcionamento básico de QUALQUER computador!

Page 5: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

Um Exemplo

• Queremos converter a sequência de números:

1010010002101021010

• Em:0101101112101020101

• i.e. ou 1 passa a 0, ou vice-versa, ou mantêm-se

Page 6: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

Como o fazer?• Máquina de Turing:

– Uma unidade de controlo, que pode estar em um de vários (número finito) estados possíveis.

– Uma fita, organizada em quadrados discretos, cada quadrado pode armazenar um único símbolo de um conjunto de símbolos.

– Uma cabeça de escrita/leitura, que se move na fita e que transmite informação de e para a fita de controlo.

• Artigos: Turing Machine

Page 7: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

No exemplo, temos 2 estados...

Page 8: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

ou 0 passa a 1 e 1 passa a 0:

10100100021010210100101101112101020101

0:1 ->

1:0 ->

Page 9: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

ou os 0 e 1 mantêm-se:

0:1 ->

1:0 -> 1:1 ->

0:0 ->

10100100021010210100101101112101020101

Page 10: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

E o 2 altera este comportamento...

0:1 ->

1:0 -> 1:1 ->

0:0 ->2:2 ->

2:2 ->

10100100021010210100101101112101020101

Page 11: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

Funcionamento

• Para um dado estado R,– Se a máquina lê um símbolo a.– Então:

• Escreve o símbolo b (Blank).• Opcionalmente move a cabeça uma posição (para a

direita ou para a esquerda).• Muda para o estado S.

Page 12: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

Vantagens• São modelos matemáticos:

– Não têm qualquer limitação física (comprimento de fita tão grande quanto o necessário).

• São simples:– Mas qualquer computador pode ser descrito por

uma máquina de Turing!– Qualquer computador pode simular uma

máquina de Turing, desde que tenha memória suficiente.

Page 13: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

Podemos Formalizar a Máquina de Turing utilizando tabelas de quíntuplos:

• Mudar do estado R para S, lendo a e escrevendo b, com movimento para a direita:

R a : b -> S

Page 14: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

Quintupulos: Formalização

• Mudar do estado R para S, lendo a e escrevendo b, com movimento para a direita:

R a : b -> Sa/b denotam qualquer símbolo válido. Não

está a/a pois podem não ser o mesmo símbolo!

Page 15: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

Quintupulos: Formalização

• Mudar do estado R para S, lendo a e escrevendo b, com movimento para a esquerda:

R a : b <- S

Page 16: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

Quintupulos: Formalização

• Mudar do estado R para S, lendo a e escrevendo b, sem movimento.

R a : b * S

Page 17: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

Church/Turing Thesis

• Alan Turing demonstrou que:– A Máquina de Turing captura a noção de

COMPUTAÇÃO. – Exs: Máquinas para efectuar a representação

binária de e e ...• Criou uma máquina de Turing Universal:

Número de Código duma máquina M Input de M

Page 18: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

A Máquina de Turing Universal

• Um número COD codifica uma máquina de Turing específica.

• Uma máquina de Turing Universal recebe esse número e o input DAT.

• Com base no número COD, a máquina de Turing Universal aplica as computações descritas em COD a DAT.

Número de Código duma máquina M Input de M

Page 19: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

A Máquina de Turing Universal para compreender os Computadores

• Na máquina de Turing Universal:– COD é o programa– DAT são os dados tratados– A máquina de Turing é o Hardware

• Lições para entender um computador:– Um computador está SEMPRE num dado estado!– Nesse estado altera SEMPRE da mesma forma os dados que

recebe!– APENAS quando muda de estado altera os dados de outra forma

(a do novo estado)!– O computador ESCOLHE quais os dados a processar a seguir

com base nos dados actuais e estado em que está o seu processamento!

Page 20: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

Máquina Par ou Impar (Davis pp. 152-154)

Q 0 :   => EQ 1 :   => OE 0 :   => EE 1 :   => OO 0 :   => EO 1 :   => OE   : 0 * F

Q 2 :   => EQ 3 :   => OE 2 :   => EE 3 :   => OO 2 :   => EO 3 :   => OE   : 1 * F

Q 4 :   => EQ 5 :   => OE 4 :   => EE 5 :   => OO 4 :   => EO 5 :   => O

Q 0 :   => EQ 1 :   => OE 0 :   => EE 1 :   => OO 0 :   => EO 1 :   => OE   : 0 * F

Q 6 :   => EQ 7 :   => OE 6 :   => EE 7 :   => OO 6 :   => EO 7 :   => O

Q 8 :   => EQ 9 :   => OE 8 :   => EE 9 :   => OO 8 :   => EO 9 :   => O

Page 21: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

Exercícios (1/2)• Para a máquina de Turing Par/Impar (Davis,

pp. 152-154), qual o próximo estado de?

a) Q \|/

__ __ __ 1 2 3 4 5 __ __b) Q

\|/

__ __ __ __ __ __ __ __ 5 __ __

Page 22: O Computador Universal. Bibliografia Base Artigo “Turing Machine” por James Moor em Encyclopedia of Computer Science (4a Edição). Bib. FCT/UNL: QA 76.15

Exercícios (2/2)

• Considere a seguinte máquina de Turing:Q 0 : 1 -> Q Q 1 : 0 -> QQ _ : _ * F

a) Qual o resultado de aplicar esta máquina à fita:

__ __ __ 1 0 0 1 1 __ __