70
1 Tese de Church-Turing

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

Embed Size (px)

Citation preview

1

Tese de Church-Turing

2

Tese de Church-Turing (1930):

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

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

4

Quando dizemos:Existe um algoritmo

Algoritmos são Máquinas deTuring

Queremos dizer:Existe uma Máquina de Turing

5

Variantesde

Máquinas de Turing

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

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:

8

Queremos provar:

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

As variantes formam diferentesClasses de Máquinas de Turing

9

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

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

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

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

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

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

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 ,

16

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

Teorema:

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)

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:

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

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

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

22

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

bd

abbaac

trilha 1trilha 2

um símbolo

23

bd

abbaac

trilha 1trilha 2

1q 2qLdcab ),,(),(

1q

bd

abcdac

trilha 1trilha 2

2q

24

Fita Semi-Infinita

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

25

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

Trivial

26

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

Máquina padrão

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

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

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

28

1q2q

Rq2Lq1

Lq2 Rq1

parte esq. parte dir.

Máquina padrão

Máquina com fita semi-infinita

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

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

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

32

Lq1Rq1

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

Máquina com fita semi-infinita

parte esq.

Na borda da fita:

Rq1Lq1

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

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

34

Teorema:

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

35

Máquina Off-Line

Unidade de Controle

Arquivo de entrada

fita

apenas leitura

a b c

d eg

leitura / escrita

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

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

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

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

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

##

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

42

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

Teorema:

43

Máquinas de Turing com múltiplas fitas

a b c e f g

unidade de controle

Fita 1 Fita 2

Entrada

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

45

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

Use apenas uma fita

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:

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

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

49

Teorema:

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

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

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)

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

53

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

Use uma dimensão

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

55

x

y

ab

c

a1

b#

símboloscoordenadas

Máquina bi-dimensional

Máquina padrão

1 # 2 # 1c

# 1

1q

1q

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:

57

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

Teorema:

58

Máquinas de Turing Não Deterministas

Lba ,

Rca ,

1q

2q

3q

Escolha Não Determinista

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

60

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

w

yqxwq f0

configuração inicial configuração final

estado final

61

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

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

62

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

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

Máquina Determinista:

63

Escolhas Não Deterministas

Computação 1

1q

2q

4q

3q

5q

6q 7q

64

Escolhas Não Deterministas

Computação 2

1q

2q

4q

3q

5q

6q 7q

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

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

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

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

69

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

máquinas deterministas

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