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

Post on 07-Apr-2016

212 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 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.

Referências

• Outras:– Visual Turing:

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

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

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!

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

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

No exemplo, temos 2 estados...

ou 0 passa a 1 e 1 passa a 0:

10100100021010210100101101112101020101

0:1 ->

1:0 ->

ou os 0 e 1 mantêm-se:

0:1 ->

1:0 -> 1:1 ->

0:0 ->

10100100021010210100101101112101020101

E o 2 altera este comportamento...

0:1 ->

1:0 -> 1:1 ->

0:0 ->2:2 ->

2:2 ->

10100100021010210100101101112101020101

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.

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.

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

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!

Quintupulos: Formalização

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

R a : b <- S

Quintupulos: Formalização

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

R a : b * S

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

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

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!

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

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 __ __

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 __ __

top related