Aula 1 Teoria da Computação Máquina de Turing. Roteiro da Aula 1.Descrever uma linguagem de...

21
Aula 1 Teoria da Computação Máquina de Turing

Transcript of Aula 1 Teoria da Computação Máquina de Turing. Roteiro da Aula 1.Descrever uma linguagem de...

Aula 1 Teoria da Computação

Máquina de Turing

Roteiro da Aula 1. Descrever uma linguagem de computação simples2. Escrever macros da linguagem de computação simples3. Descrever os componentes da máquina de Turing4. Simulação da linguagem simples na Máquina de Turing

Pioneiros da computação

1. Alan Turing2. Kurt Godel3. Marvin Minsky4. Alonso Church

Linguagem simples

• Instrução de incrementoinc (X)

• Instrução de decrementodecr (X)

• Instrução de laçoWhile (X){decr (X)Corpo do laço}

Macros em Linguagem simples

• Primeira macro: X 0While (X){

decr (X)

}• Segunda macro: X N

X 0Incr (X)Incr (X)...incr (X)

Macros em Linguagem simples• Terceira macro: Y X

Y 0While (X){

decr (X)incr (Y)

}• Quarta macro: Y = Y + X

While (X){

decr (X)incr (Y)

}

Macros em Linguagem simples• Quinta macro: Y Y x X

TEMP YWhile (X){

decr (X)Y Y + TEMP

} x

• Sexta macro: Y = Y TEMP YWhile (X){

decr (X)Y Y x TEMP

}

Macros em Linguagem simples

• Sétima macro: IF X then AWhile (X){

decr (X)A

}

Simula a tomada de decisão IF (se) existentes nas linguagensA variável X tem apenas dois valores:

Se o valor de X não for 0, uma ação A é executada no laço

A Máquina de Turing

É a base conceitual dos computadores até os dias de hojeApresentada por Alan Turing em 1936, possui 3 componentes:•Fita infinita•Controlador•Cabeçote de leitura / Escrita

A Máquina de Turing

A Máquina de Turing

1. (A,b,b,D,A) 3. (B,b,1,D,B) 5. (C,b,b,E,A)2. (A,1,1,D,B) 4. (B,1,b,N,C) 6. (C,1,1,E,B)

Exemplo da Máquina de Turing

1. (A,b,b,E,A) 2. (A,1,1,D,B) 3. (B,b,b,E,A) 4. (B,1,b,D,A)

Simulação de linguagem Simples

• Instrução de incremento: incr (X)

Simulação de linguagem Simples

• Incrementar X quando X = 2 (11 no sistema unário)

Simulação de linguagem Simples

• Instrução de decremento: decr (X)

Simulação de linguagem Simples

• Decrementar X quando X = 2 (11 no sistema unário)

Simulação de linguagem Simples• Instrução de laço: while (X)

Simulação de linguagem Simples• Quarta macro: Y Y + X

While (X){

decr (X)incr (Y)

}

Considere X = 2 e Y = 3

Simulação de linguagem Simples• Quarta macro: Y Y + X (Primeira

iteração)

Simulação de linguagem Simples• Quarta macro: Y Y + X (Segunda

iteração)

Tese de Church-Turing

• Máquina de Turing é capaz de ...

– simular as 3 instruções básicas de uma linguagem simples e as macros

– resolver qualquer problema que possa ser resolvido por um computador

• TESE de CHURCH-TURING:

Se existe um algoritmo para fazer uma tarefa para manipulação de símbolos, existe uma máquina de Turing para realiza-la.