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