1 máquina de turing universal. 2 máquinas de turing são “ hardwired ” elas executam um único...

Post on 21-Apr-2015

123 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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:

top related