Post on 21-Apr-2015
1
Máquina de Turing Universal
2
Máquinas de Turing são “hardwired”
elas executamum único programa
Uma limitação de Máquinas de Turing:
Computadores reais são programáveis
3
Solução: Máquina de Turing Universal
• Máquina programável
• Simula qualquer outra Máquina de Turing
Atributos:
4
Máquina de Turing Universal
simula qualquer Máquina de TuringM
Entrada da Máquina de Turing Universal:
Descrição das transições deM
Conteúdo inicial da fita deM
5
Máquina de TuringUniversal M
Descrição de
Conteúdo da fita de
M
Estado deM
Três fitas
Fita 2
Fita 3
Fita 1
6
Descrevemos uma Máquina de Turingcomo um string de símbolos:
Codificamos como um string de símbolos
M
M
Descrição de M
Fita 1
7
Alfabeto de Codificação
Símbolos: a b c d
Codificação: 1 11 111 1111
8
Codificação de estados
Estados: 1q 2q 3q 4q
Codificação: 1 11 111 1111
Codificação do movimento da cabeça da fita
Movimento:
Codificação:
L R
1 11
9
Codificação de Transição
Transição: ),,(),( 21 Lbqaq
Codificação: 10110110101
separador
10
Codificação da Máquina
Transições:
),,(),( 21 Lbqaq
Codificação:
10110110101
),,(),( 32 Rcqbq
110111011110101100
separador
11
Conteúdo da fita 1 da MT Universal:
codificação da máquina a ser simulada na forma de um string binário de 0’s e 1’s
M
12
Uma Máquina de Turing é descritacomo um string binário de 0’s e 1’s
O conjunto de todas as Máquinas de Turing forma uma linguagem:
cada string da linguagem éo código binário de uma Máquina de Turing
Portanto:
13
Linguagem das Máquinas de Turing
L = { 010100101,
00100100101111,
111010011110010101, …… }
(Máquina deTuring 1)
(Máquina deTuring 2)
……
14
Conjuntos Contáveis
15
Conjuntos infinitos são: Contáveis
ou
Não Contáveis
16
Conjunto Contável:
Existe uma correspondência biunívocaentreelementos do conjuntoe números naturais
17
Exemplo:
Inteiros pares: ,6,4,2,0
o conjunto dos inteiros positivos pares é contável
Números naturais:
Correspondência:
n2 corresponde a
18
Exemplo: O comjunto dos números racionaisé contável
Números racionais: ,87,43,21
19
Prova ingênua
Números racionais: ,31,21,11
Números naturais:
Correspondência:
Não funciona:
nunca iremos contar números com numerador 2:
,32,22,12
20
Abordagem melhor
11
21
31
41
12
22
32
13
23
14
21
11
21
31
41
12
22
32
13
23
14
22
11
21
31
41
12
22
32
13
23
14
23
11
21
31
41
12
22
32
13
23
14
24
11
21
31
41
12
22
32
13
23
14
25
11
21
31
41
12
22
32
13
23
14
26
Números racionais: ,22,31,12,21,11
Correspondência:
Números naturais:
27
Provamos:
O conjuntos dos números racionais é contável,descrevendo um procedimento de enumeração
28
Definição
Um procedimento de enumeração para é uma Máquina de Turing que geratodos os strings de , um por um
Seja um conjunto de strings S
S
S
e
cada string é gerado em tempo finito
29
Enumerador para
,,, 321 sss
Ssss ,,, 321
tempo finito: ,,, 321 ttt
strings
Ssaída
(na fita)
30
Máquina EnumeradoraConfiguração
Instante 0
0q
Instante
sq
1x 1s#1t
31
Instante
sq
3x 3s#3t
Instante
sq
2x 2s#2t
32
Um conjunto é contável de existe umprocedimento de enumeração para ele
Observação:
33
Exemplo:
O conjunto dos stringsé contável
},,{ cba
Vamos descrever um procedimento de enumeração
Prova:
34
Procedimento ingênuo:
Produzir os strings em ordem lexicográfica:
aaaaaa
......
Não funciona: strings que começam com nunca serão produzidos
b
aaaa
35
Procedimento melhor:
1. Produza todos os strings de comprimento 1
2. Produza todos os strings de comprimento 2
3. Produza todos os strings de comprimento 3
4. Produza todos os strings de comprimento 4
..........
Ordem Própria
36
Produza strings em Ordem Própria:
aaabacbabbbccacbcc
aaaaabaac......
comprimento 2
comprimento 3
comprimento 1abc
37
Teorema:
O conjunto de todas as Máquinas de Turing é contável
Prova:
Vamos mostrar um procedimento deenumeração para o conjunto de stringsque representam Máquinas de Turing
Qualquer Máquina de Turing pode ser codificada como um string de 0’s e 1’s
38
1. Gere o próximo string binário de 0’s e 1’s na ordem própria
2. Verifique se o string descreve uma Máquina de Turing se SIM:SIM: imprima o string na fita se NÃO:NÃO: ignore o string
Procedimento de enumeração:
Repita
39
Conjuntos Não Contáveis
40
Teorema:
Seja um conjunto infinito contável
O conjunto potência de :não é contável
S2S
S
41
Prova:
Como é contável, podemos escreverS
},,,{ 321 sssS
Elementos deS
42
Elementos do conjunto potência têm a forma:
},{ 31 ss
},,,{ 10975 ssss
……
43
Podemos codificar cada elemento do conjuntopotência como um string binário de 0’s e 1’s
1s 2s 3s 4s
1 0 0 0}{ 1s
elementos doconj. potência
Codificação
0 1 1 0},{ 32 ss
1 0 1 1},,{ 431 sss
44
Vamos supor, por contradição, que o conjunto potência seja contável.
Então: podemos enumeraros elementos do conjunto potência
45
1 0 0 0 0
1 1 0 0 0
1 1 0 1 0
1 1 0 0 1
elementos do conj. potência Codificação
1t
2t
3t
4t
46
Tome o conjunto cuja codificação é a sequência dos bits que são os complementos dos bits da diagonal
47
1 0 0 0 0
1 1 0 0 0
1 1 0 1 0
1 1 0 0 1
1t
2t
3t
4t
Novo conjunto: 0011
(complemento binário da diagonal)
48
o novo conjunto deve ser algum elemento do conjunto potênciait
Entretanto, isso é impossível:
o i-ésimo bit de deve sero complemento dele próprio
pela definição de :it
it
Contradição!!!
49
Como temos uma contradição:
O conjunto potência of não é contável
S2 S
50
Uma Aplicação: Linguagens
Alfabeto Exemplo : },{ ba
O conjunto de todos os Strings:
},,,,,,,,,{},{ * aabaaabbbaabaababaS infinito e contável
51
Alfabeto Exemplo : },{ ba
O conjunto de todos os Strings:
},,,,,,,,,{},{ * aabaaabbbaabaababaS infinito e contável
Uma linguagem é um subconjunto de :
},,{ aababaaL
S
52
Alfabeto Exemplo : },{ ba
O conjunto de todos os Strings:
},,,,,,,,,{},{ * aabaaabbbaabaababaS
infinito e contável
O conjunto potência de consiste de todas as linguagens sobre o alfabeto:
}},,,}{,{},{},{{2 aababaabaaS 1L 2L 3L 4L
não contável
S
53
Conjunto de todas as linguagens: não contável
Conjunto de todas as MTs: contável
1L 2L 3L kL
1M 2M 3M
?
Existem uma infinidade de linguagens a mais do que Máquinas de Turing
54
Existem linguagens que não são aceitas pornenhuma Máquina de Turing
Essas linguagens não podem ser descitas por meio de algoritmos
Conclusão: