Top Banner
1 Tese de Church-Turing
70

1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

Apr 07, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

1

Tese de Church-Turing

Page 2: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

2

Tese de Church-Turing (1930):

Qualquer computação que possa serrealizada de maneira mecânicapode ser feita por uma Máquina de Turing

Page 3: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

Prof. Busch - LSU 3

Algoritmo:

Um algoritmo para um problema é uma Máquina de Turing que resolve este problema

O algoritmo descreve os passos do procedimento mecânico

Isso pode ser traduzido na forma deinstruções de uma Máquina de Turing

Page 4: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

4

Quando dizemos:Existe um algoritmo

Algoritmos são Máquinas deTuring

Queremos dizer:Existe uma Máquina de Turing

Page 5: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

5

Variantesde

Máquinas de Turing

Page 6: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

6

Cabeça de Leitura-Escrita

Unidade de Controle

a a c b a cb b a a

Determinista

O Modelo Padrão

Fita Infinita

(Esq. ou Dir.)

Page 7: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

7

Variantes do Modelo Padão

• Opção de não mover • Fita semi-infinita• Off-Line• Múltiplas fitas• Multidimensional• Não determinista

Máquinas de Turing com:

Page 8: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

8

Queremos provar:

Cada Classe tem o mesmopoder de computação do Modelo Padrão

As variantes formam diferentesClasses de Máquinas de Turing

Page 9: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

9

Mesmo poder de computação de duas classes:Ambas as classes de máquinas de Turingaceitam as mesmas linguagens

Page 10: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

10

Mesmo poder de computação de duas classes

Para qualquer máquina da primeira classe1M

existe uma máquina da segunda classe 2M

tal que: )()( 21 MLML

e vice-versa

Page 11: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

11

técnica para provar mesmo poderSimulação:

Simular a máquina de uma classepor uma máquina de outra classe

Primeira ClasseMáquina Original

1M 1M2M

Segunda ClasseMáquina de Simulação

Page 12: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

12

Configurações na Máquina Originalcorrespondem a configurações na Máquina de Simulação

nddd 10Máquina Original:

Máquina Simulação: nddd

10

Page 13: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

13

A Máquina de Simulaçãoe a Máquina Originalaceitam a mesma linguagem

fdMáquina Original:

Máquina de Simulação: fd

Configuração Final

Page 14: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

14

Máquinas de Turing com Opção Não Move

A cabeça pode permanecer na mesma posição

a a c b a cb b a a

Esquerda, Direita, Não move

movimentos: L,R,S

Page 15: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

15

Exemplo:

a a c b a cb b a a

Instante 1

b a c b a cb b a aInstante 2

1q 2q

1q

2q

Sba ,

Page 16: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

16

Máquinas com opção não movetêm o mesmo poder de computação que Máquinas de Turing padrão

Teorema:

Page 17: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

17

Prova:

Parte 1: Máquinas com opção não move são pelo menos tão poderosas quanto máquinas padrãoProva:uma máquina padrão é também

uma máquina com opção não move(que nunca usa a opção S)

Page 18: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

18

Parte 2: Máquinas padrão são pelo menos tão poderosas quanto

máquinas com opção não move

Prova:uma máquina padrão pode simularuma máquina com opção não move

Prova:

Page 19: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

19

1q 2qLba ,

1q 2qLba ,

Máquina com opção não move

Simulação na Máquina Padrão

Similar para movimentos para a Direita

Page 20: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

20

1q 2qSba ,

1qLba , Rxx ,

Máquina com opção não move

Simulação na Máquina Padrão

Para todo símbolo x

Page 21: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

21

Exemplo

a a b a

1q

Máquina com opção não move:1

b a b a

2q

21q 2qSba ,

Simulação na Máquina Padrão:

a a b a

1q

1 b a b a

2 b a b a

3

Page 22: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

22

Máquina Padrão X Fita com Múltiplas Trilhas

bd

abbaac

trilha 1trilha 2

um símbolo

Page 23: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

23

bd

abbaac

trilha 1trilha 2

1q 2qLdcab ),,(),(

1q

bd

abcdac

trilha 1trilha 2

2q

Page 24: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

24

Fita Semi-Infinita

.........# a b a c

Page 25: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

25

Máquinas de Turing padrão simulammáquinas com fita semi-infinita:

Trivial

Page 26: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

26

Máquinas com fita semi-infinita simulammáquinas de Turing padrão:

Máquina padrão

.........Máquina com fita semi-infinita

..................

Page 27: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

27

Máquina padrão

.........

Máquina com fita semi-infinita e duas trilhas

..................

ponto de referência

##

parte dir.parte esq.

a b c d e

ac bd e

Page 28: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

28

1q2q

Rq2Lq1

Lq2 Rq1

parte esq. parte dir.

Máquina padrão

Máquina com fita semi-infinita

Page 29: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

29

1q 2qRga ,

Máquina padrão

Lq1Lq2

Lgxax ),,(),(

Rq1Rq2

Rxgxa ),,(),(

Máquina com fita semi-infinita

parte esq.

parte dir.

para todos os símbolosx

Page 30: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

30

Máquina padrão.................. a b c d e

1q

.........

Máquina com fita semi-infinita

##

parte dir.parte esq. ac b

d e

Lq1

Instante 1

Page 31: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

31

Instante 2

g b c d e

2q

##

parte dir.parte esq. gc b

d e

Lq2

Máquina padrão..................

.........

Máquina com fita semi-infinita

Page 32: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

32

Lq1Rq1

R),#,(#)#,(#

Máquina com fita semi-infinita

parte esq.

Na borda da fita:

Rq1Lq1

R),#,(#)#,(# parte dir.

Page 33: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

33

.........

Máquina com fita semi-infinita

##

parte dir.parte esq. gc b

d e

Lq1

.........##

parte dir.parte esq. gc b

d e

Rq1

Instante 1

Instante 2

Page 34: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

34

Teorema:

Máquinas com fita semi-infinitatêm o mesmo poder computacional queMáquinas de Turing padrão

Page 35: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

35

Máquina Off-Line

Unidade de Controle

Arquivo de entrada

fita

apenas leitura

a b c

d eg

leitura / escrita

Page 36: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

36

Máquinas off-line simulam Máquinas de Turing padrão:

Máquina off-line:

1. Copia o arquivo de entrada para a fita

2. Continua a computação como na Máquina de Turing padrão

Page 37: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

371. Copia o arquivo de entrada para a fita

Arquivo de entradaa

Fita

b c Máquina padrão

Máquina off-line

a b c

Page 38: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

382. Faz computações como na máq. de Turing

Arquivo de entradaa b c

Fita

a b c

a b c

1q

1q

Máquina padrão

Máquina off-line

Page 39: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

39

Máquinas de Turing padrão simulammáquinas off-line:

Use uma máquina padrão com quatro trilhaspara manter informação sobre arquivo de entrada e o conteúdo da fitada máquina off-line

Page 40: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

40

Arquivo de entradaa b c

FitaMáquina off-line

e f gd

Fita de 4 trilhas – Máquina padrão

a b c d

e f g0 0 0

0 0

1

1

Arquivo de entradaPosição da cabeçaFita

Posição da cabeça

##

Page 41: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

41

a b c d

e f g0 0 0

0 0

1

1

Arquivo de entradaPosição da cabeçaFita

Posição da cabeça

##

Repita para cada transição de estado:• Retorne ao ponto de referência• Encontre o símbolo corrente no arquivo • Encontre o símbolo corrente na fita• Faça a transição

Ponto de referência

Page 42: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

42

Máquinas off-linetêm o mesmo poder computacional quemáquinas padrão

Teorema:

Page 43: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

43

Máquinas de Turing com múltiplas fitas

a b c e f g

unidade de controle

Fita 1 Fita 2

Entrada

Page 44: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

44

a b c e f g

1q 1q

a g c e d g

2q 2q

Instante 1

Instante 2

RLdgfb ,),,(),( 1q 2q

Fita 1 Fita 2

Page 45: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

45

Máquinas com múltiplas fitas simulammáquinas padrão:

Use apenas uma fita

Page 46: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

46

Máquinas padrão simulam máquinas com múltiplas fitas:

• Use uma fita com múltiplas trilhas

• Uma fita da máquina de múltiplas fitas corresponde a um par de trilhas

Máquina padrão:

Page 47: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

47

a b c h e f g

Máquina de múltiplas fitasFita 1 Fita 2

Máquina padrão com fita de 4 trilhas

a b c

e f g0 0

0 0

1

1

Fita 1Posição da cabeçaFita 2Posição da cabeça

h0

Page 48: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

48

Repita para cada transição de estado:•Retorne ao ponto de referência•Encontre o símbolo corrente na fita 1•Encontre o símbolo corrente na fita 2•Faça a transição

a b c

e f g0 0

0 0

1

1

Fita 1Posição da cabeçaFita 2Posição da cabeça

h0

####

Ponto de referência

Page 49: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

49

Teorema:

Máquinas com múltiplas fitastêm o mesmo poder de computação queMáquinas de Turing padrão

Page 50: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

50

Mesmo poder não significa mesma velocidade:

Linguagem }{ nnbaL

Tempo de aceitação

Máquina padrão

Máquina com 2 fitas

2n

n

Page 51: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

51

}{ nnbaL

Máquina padrão:

vai para frente e volta vezes2n

Máquina de duas fitas:

Copia na fita 2 nb

Deixa na fita 1 naCompara a fita 1 e a fita 2

n( passos)n( passos)n( passos)

Page 52: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

52

Máquina de Turing MultiDimensional

x

y

ab

c

Fita de 2 dimensões

CABEÇAPosição: +2, -1

MOVE: L,R,U,D

U: cima D: baixo

Page 53: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

53

Máquinas multidimensionais simulam máquinas padrão:

Use uma dimensão

Page 54: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

54

Máquinas padrão simulammáquinas multidimensionais:

Máquina padrão:

• Use uma fita com 2 trilhas

• Armazene os símbolos na fita 1• Armazene as coordenadas na fita 2

Page 55: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

55

x

y

ab

c

a1

b#

símboloscoordenadas

Máquina bi-dimensional

Máquina padrão

1 # 2 # 1c

# 1

1q

1q

Page 56: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

56

Repita para cada transição

• Atualize o símbolo corrente• Compute as coordenadas da próxima posição• Vá para a próxima posição

Máquina padrão:

Page 57: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

57

Máquinas multidimensionaistêm o mesmo poder de computaçãoque máquinas padrão

Teorema:

Page 58: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

58

Máquinas de Turing Não Deterministas

Lba ,

Rca ,

1q

2q

3q

Escolha Não Determinista

Page 59: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

59

a b c

1q

Lba ,

Rca ,

1q

2q

3q

Instante 0

Instante 1

b b c

2q

c b c

3q

Opção 1 Opção 2

Page 60: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

60

string de entrada é aceito seesta é uma computação possível

w

yqxwq f0

configuração inicial configuração final

estado final

Page 61: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

61

Máquinas Não Deterministas simulam Máquinas padrão (deterministas) :

Toda máquina deterministaé também uma máquina não determinista

Page 62: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

62

Máquinas deterministas simulammáquinas não deterministas:

Mantém informação sobre todas as possíveis computações

Máquina Determinista:

Page 63: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

63

Escolhas Não Deterministas

Computação 1

1q

2q

4q

3q

5q

6q 7q

Page 64: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

64

Escolhas Não Deterministas

Computação 2

1q

2q

4q

3q

5q

6q 7q

Page 65: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

65

• Mantém informação sobre todas as possíveis computações

Máquina Determinista:

Simulação

• Armazena essas computações em uma fita bidimensional

Page 66: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

66

a b c

1q

Lba ,

Rca ,

1q

2q

3q

Instante 0

Máquina Não Determinista

Máquina Determinista

a b c1q

# # # # ##### # #

##

# #

Computação 1

Page 67: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

67

Lba ,

Rca ,

1q

2q

3q

b b c2q

# # # # #### #

#

# #

Computação 1

b b c

2qOpção 1

c b c

3q

Opção 2

c b c3q ## Computação 2

Máquina Não Determinista

Máquina Determinista

Instante 1

Page 68: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

68

Repita• Execute um passo em cada computação:

• Se existem duas ou mais opções na computação corrente: 1. Copie a configuração 2. Modifique o estado na cópia

Page 69: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

69

Teorema: Máquinas não deterministas têm o mesmo poder de computação

máquinas deterministas

Page 70: 1 Tese de Church-Turing. 2 Tese de Church-Turing (1930): Qualquer computação que possa ser realizada de maneira mecânica pode ser feita por uma Máquina.

70

Observação: A simulação na máquina determinista leva no máximo tempo exponencial em comparação com o tempo gasto pela máquina não determinista