Tese de Church-Turing
1
Tese de Church-Turing (1930):
Qualquer computação que possa ser
realizada de maneira mecânica
pode ser feita por uma Máquina de Turing
2
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 de
instruções de uma Máquina de Turing
Prof. Busch - LSU
3
Algoritmos são Máquinas deTuring
Quando dizemos:
Existe um algoritmo
Queremos dizer:
Existe uma Máquina de Turing
4
Variantes
de
Máquinas de Turing
5
O Modelo Padrão
Fita Infinita
 aababb cac a
Cabeça de Leitura-Escrita
(Esq. ou Dir.)
Unidade de Controle
Determinista
6
Variantes do Modelo Padão
Máquinas de Turing com: • Opção de não mover
• Fita semi-infinita
• Off-Line
• Múltiplas fitas
• Multidimensional
• Não determinista
7
As variantes formam diferentes
Classes de Máquinas de Turing
Queremos provar:
Cada Classe tem o mesmo
poder de computação do Modelo Padrão
8
Mesmo poder de computação de duas classes:
Ambas as classes de máquinas de Turing
aceitam as mesmas linguagens
9
Mesmo poder de computação de duas classes
Para qualquer máquina
M1
da primeira classe
existe uma máquina
M2
da segunda classe
tal que:
L( M1)  L( M 2 )
e vice-versa
10
Simulação: técnica para provar mesmo poder
Simular a máquina de uma classe
por uma máquina de outra classe
Primeira Classe
Máquina Original
M1
Segunda Classe
Máquina de Simulação
M2
M1
11
Configurações na Máquina Original
correspondem a configurações
na Máquina de Simulação
Máquina Original:
Máquina Simulação:
d0  d1    d n



d 0  d1    d n
12
Configuração Final
Máquina Original:
df
Máquina de Simulação:
d f
A Máquina de Simulação
e a Máquina Original
aceitam a mesma linguagem
13
Máquinas de Turing com Opção Não Move
A cabeça pode permanecer na mesma posição
 aababb cac a
Esquerda, Direita, Não move
movimentos: L,R,S
14
Exemplo:
Instante 1
 aababb cac a
q1
Instante 2
 b ab ab b c ac a
q2
q1
a  b, S
q2
15
Teorema:
Máquinas com opção não move
têm o mesmo poder de computação
que Máquinas de Turing padrão
16
Prova:
Parte 1: Máquinas com opção não move
são pelo menos tão poderosas
quanto máquinas padrão
Prova: uma máquina padrão é também
uma máquina com opção não move
(que nunca usa a opção S)
17
Prova:
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 simular
uma máquina com opção não move
18
Máquina com opção não move
q1
a  b, L
q2
Simulação na Máquina Padrão
q1
a  b, L
q2
Similar para movimentos para a direita
19
Máquina com opção não move
q1
a  b, S
q2
Simulação na Máquina Padrão
q1
a  b, L
qnew
x  x, R
q2
Para todo símbolo
x
20
Exemplo
Máquina com opção não move:
q1 a  b, S q2
1
aaba 
q1
2
baba 
q2
Simulação na Máquina Padrão:
1
aaba 
q1
2
baba 
qnew
3
baba 
q2
21
Máquina Padrão X
Fita com Múltiplas Trilhas
  a b a b 
  b a c d 
trilha 1
trilha 2
um símbolo
22
trilha 1
  a b a b 
  b a c d 
trilha 2
q1
trilha 1
  a c a b 
  b d c d 
trilha 2
q2
q1
(b, a)  (c, d ), L
q2
23
Fita Semi-Infinita
# a b a c  
.........
24
Máquinas de Turing padrão simulam
máquinas com fita semi-infinita:
Trivial
25
Máquinas com fita semi-infinita simulam
máquinas de Turing padrão:
.........
Máquina padrão
.........
Máquina com fita semi-infinita
.........
26
.........
Máquina padrão
.........
 a b c d e  
ponto de referência
Máquina com fita semi-infinita e duas trilhas
parte dir.
# d e  
parte esq. # c b a 


.........
27
Máquina padrão
q1
q2
Máquina com fita semi-infinita
parte esq.
parte dir.
L
q2
R
q2
L
q1
R
q1
28
Máquina padrão
q1
a  g, R
q2
Máquina com fita semi-infinita
parte dir.
R
q1
parte esq.
L
q1
(a, x)  ( g , x), R
( x, a)  ( x, g ), L
para todos os símbolos
R
q2
L
q2
x
29
Instante 1
.........
Máquina padrão
 a b c d e  
.........
q1
Máquina com fita semi-infinita
parte dir.
# d e  
parte esq. # c b a 
L
q1


.........
30
Instante 2
.........
Máquina padrão
 g b c d e  
.........
q2
Máquina com fita semi-infinita
parte dir.
# d e  
parte esq. # c b g 
L
q2


.........
31
Na borda da fita:
Máquina com fita semi-infinita
parte dir.
R
q1
parte esq.
L
q1
(# , # )  (# , # ), R
(# , # )  (# , # ), R
L
q1
R
q1
32
Máquina com fita semi-infinita
Instante 1
parte dir.
# d e  
parte esq. # c b g 


.........
L
q1
Instante 2
parte dir.
# d e  
parte esq. # c b g 
R
q1


.........
33
Teorema:
Máquinas com fita semi-infinita
têm o mesmo poder computacional que
Máquinas de Turing padrão
34
Máquina Off-Line
Arquivo de entrada
a b c
apenas leitura
Unidade de
Controle
fita
leitura / escrita
  g d e  
35
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
36
Máquina padrão

b c  
Máquina off-line
Arquivo de entrada
a
Fita
  a b c 
1. Copia o arquivo de entrada para a fita
37
Máquina padrão
 a b c  
q1
Máquina off-line
Arquivo de entrada
a b c
Fita
  a b c 
q1
2. Faz computações como na máq. de Turing
38
Máquinas de Turing padrão simulam
máquinas off-line:
Use uma máquina padrão com quatro trilhas
para manter informação sobre
arquivo de entrada e o conteúdo da fita
da máquina off-line
39
Máquina off-line
Arquivo de entrada
a b c d
Fita
  e f g 
Fita de 4 trilhas – Máquina padrão
# a b c d
# 0 0 1 0
e f g
0 1 0
Arquivo de entrada
Posição da cabeça
Fita
Posição da cabeça
40
Ponto de referência
# a b
# 0 0
e f
0 1
c d
1 0
g
0
Arquivo de entrada
Posição da cabeça
Fita
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
41
Teorema:
Máquinas off-line
têm o mesmo poder computacional que
máquinas padrão
42
Máquinas de Turing com múltiplas fitas
unidade
de controle
Fita 1
 a b c 
Fita 2
g
f
e


Entrada
43
Fita 1
Instante 1
Fita 2
 a b c 
g
f
e


q1
q1
Instante 2
 a g c 
g
e
d


q2
q2
q1
(b, f )  ( g , d ), L, R
q2
44
Máquinas com múltiplas fitas simulam
máquinas padrão:
Use apenas uma fita
45
Máquinas padrão simulam
máquinas com múltiplas fitas:
Máquina padrão:
• Use uma fita com múltiplas trilhas
• Uma fita da máquina de múltiplas fitas
corresponde a um par de trilhas
46
Máquina de múltiplas fitas
Fita 1
Fita 2
 a b c 
g
f
e
h 

Máquina padrão com fita de 4 trilhas
a
0
e
0
b
1
f
0
c
0
g h
1 0
Fita 1
Posição da cabeça
Fita 2
Posição da cabeça
47
Ponto de referência
#
#
#
#
a
0
e
0
b
1
f
0
c
0
g h
1 0
Fita 1
Posição da cabeça
Fita 2
Posição da cabeça
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
48
•Faça a transição
Teorema:
Máquinas com múltiplas fitas
têm o mesmo poder de computação que
Máquinas de Turing padrão
49
Mesmo poder não significa mesma velocidade:
Linguagem
L  {a b }
n n
Tempo de aceitação
Máquina padrão
n
Máquina com 2 fitas
n
2
50
L  {a b }
n n
Máquina padrão:
2
vai para frente e volta n vezes
Máquina de duas fitas:
n
Copia b
na fita 2
Deixa
a
n
na fita 1
Compara a fita 1 e a fita 2
( n passos)
( n passos)
( n passos)
51
Máquina de Turing MultiDimensional
Fita de 2 dimensões
y

 c a

b

MOVE: L,R,U,D
U: cima
D: baixo
CABEÇA
Posição: +2, -1
x
52
Máquinas multidimensionais simulam
máquinas padrão:
Use uma dimensão
53
Máquinas padrão simulam
má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
54
Máquina bi-dimensional
y

 c a

b

Máquina padrão
c
a
b
1 # 1 # 2 #  1 #  1
q1
x
q1
símbolos
coordenadas
55
Máquina padrão:
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
56
Teorema:
Máquinas multidimensionais
têm o mesmo poder de computação
que máquinas padrão
57
Máquinas de Turing Não Deterministas
a  b, L
q2
q1
a  c, R
q3
Escolha Não Determinista
58
a  b, L
q2
q1
Instante 0
 a b c 
a  c, R
Opção 1
 b b c 
q2
q1
q3
Instante 1
Opção 2
 c b c 
q3
59
string de entrada w é aceito se
esta é uma computação possível

q0 w  x q f y
configuração inicial
configuração final
estado final
60
Máquinas Não Deterministas simulam
Máquinas padrão (deterministas) :
Toda máquina determinista
é também uma máquina não determinista
61
Máquinas deterministas simulam
máquinas não deterministas:
Máquina Determinista:
Mantém informação sobre todas
as possíveis computações
62
Escolhas Não Deterministas
q1
q3
q2
q4
q5
Computação 1
q6
q7
63
Escolhas Não Deterministas
q1
q3
q2
q4
q5
q6
Computação 2
q7
64
Simulação
Máquina Determinista:
• Mantém informação sobre
todas as possíveis computações
• Armazena essas computações em uma
fita bidimensional
65
Máquina Não Determinista
a  b, L
Instante 0
q2
 a b c 
q1
q1
a  c, R
q3
Máquina Determinista
#
#
#
#
# # #
a b c
q1
# # #
# #
#
#
#
Computação 1
66
Máquina Não Determinista
Instante 1
a  b, L
q2
q1
a  c, R
 b b c 
q2
 c b c 
q3
Opção 1
Opção 2
q3
Máquina Determinista
# # # #
#
b b c
# q2
#
c b c
q3
#
# #
#
#
#
#
Computação 1
Computação 2
67
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
68
Teorema: Máquinas não deterministas
têm o mesmo poder de computação
máquinas deterministas
69
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
70
Download

ftc17 - Decom