38
1 ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Cap 3.1 Máquinas de Turing Slides gentilmente cedidos pela Profa. Ariane Machado Lima

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

1

ACH2043INTRODUÇÃO À TEORIA DA

COMPUTAÇÃO

Cap 3.1 – Máquinas de Turing

Slides gentilmente cedidos pela Profa. Ariane Machado Lima

Page 2: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

2

Cap. 3

A tese de Church-Turing

Page 3: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

3

Cap. 3 - A tese de Church-Turing

3.1 – Máquinas de Turing

3.2 – Variantes da Máquinas de Turing

3.3 – A Definição de Algoritmo

Page 4: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

4

3.1 - Máquinas de Turing

⚫ Autômatos como modelos de computação:

– AF: memória pequena

– AP: memória ilimitada mas utilizável apenas em sistema LIFO (last in, first out) de leitura

Page 5: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

5

3.1 - Máquinas de Turing

⚫ Propostas por Alan Turing em 1936

– Memória ilimitada e irrestrita

– Modelo de um computador real (possibilidades e limitações)

Page 6: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

6

Máquinas de Turing

Page 7: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

7

Máquinas de Turing

Page 8: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

8

Máquinas de Turing - Exemplo

B= { w # w | w pertence a {0,1}*}

Page 9: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

9

Máquinas de Turing - Exemplo

B= { w # w | w pertence a {0,1}*}

Page 10: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

10

Máquinas de Turing - Exemplo

Page 11: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

11

Máquinas de Turing –Definição formal

Page 12: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

12

Máquinas de Turing –Definição formal

Cursor da fita vai para a esquerda ou direita

Page 13: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

13

Máquinas de Turing –Definição formal

Page 14: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

14

Máquinas de Turing -Funcionamento

⚫ A entrada fica na porção mais à esquerda da fita

⚫ O símbolo em branco marca o fim da entrada

⚫ A máquina começa apontando para a primeira posição da fita

⚫ Se a máquina está na primeira posição e tenta fazer um movimento para a esquerda, permanece no lugar

⚫ Pára SOMENTE quando entra em um estado de aceitação ou rejeição

Page 15: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

15

Máquinas de Turing -Funcionamento

⚫ Configuração - situação atual da máquina:

Page 16: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

16

Máquinas de Turing -Funcionamento

⚫ Configuração - situação atual da máquina:

– Estado atual

– Conteúdo da fita

– Posição da cabeça de fita

⚫ Ex: 1011 q7 01111

Conteúdo da fita antes e depois da posição da cabeça de fita

Page 17: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

17

Máquinas de Turing -Funcionamento

Dizemos que uma configuração C1

origina uma configuração C

2se a máquina puder ir de C

1a C

2em

um único passo.

Page 18: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

18

Máquinas de Turing -Funcionamento

Page 19: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

19

Máquinas de Turing -Funcionamento

Page 20: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

20

Máquinas de Turing -Funcionamento

Page 21: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

21

Máquinas de Turing -Funcionamento

Page 22: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

22

Máquinas de Turing -Funcionamento

⚫ Configuração inicial:

⚫ Configuração de aceitação:

⚫ Configuração de rejeição:

Page 23: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

23

Máquinas de Turing -Funcionamento

⚫ Configuração inicial: q0w

⚫ Configuração de aceitação:

⚫ Configuração de rejeição:

Page 24: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

24

Máquinas de Turing -Funcionamento

⚫ Configuração inicial: q0w

⚫ Configuração de aceitação: estado atual = qaceita

⚫ Configuração de rejeição:

Page 25: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

25

Máquinas de Turing -Funcionamento

⚫ Configuração inicial: q0w

⚫ Configuração de aceitação: estado atual = qaceita

⚫ Configuração de rejeição: estado atual = qrejeita

Page 26: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

26

Máquinas de Turing -Funcionamento

⚫ Configuração inicial: q0w

⚫ Configuração de aceitação: estado atual = qaceita

⚫ Configuração de rejeição: estado atual = qrejeita

Page 27: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

27

Máquinas de Turing -Funcionamento

⚫ Configuração inicial: q0w

⚫ Configuração de aceitação: estado atual = qaceita

⚫ Configuração de rejeição: estado atual = qrejeita

Page 28: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

28

Máquinas de Turing

1 - Ou linguagem recursivamente enumerável ou linguagem irrestrita

Page 29: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

29

Máquinas de Turing (MT) Decisoras

Uma MT é decisora se ela nunca entra em loop (isto é, sempre pára em um estado de aceitação ou de rejeição).

Dizemos que um decisor que reconhece uma linguagem decide essa linguagem.

2 - Ou linguagem recursiva

Page 30: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

30

Máquinas de Turing - Exemplos

Ideia: Uma potência de 2, sempre que eu divido por 2, terei um número par

Page 31: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

31

Máquinas de Turing - Exemplos

Page 32: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

32 Nr ímpar de 0's

Nr par de 0's

Trata segundo símbolo

Trata primeiro símbolona primeira iteração(símbolo em brancopara indicar o inícioda fita)

Volto para início da fita

Page 33: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

33

Exemplo para a cadeia 0000

Page 34: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

34

Revendo esse exemplo

B= { w # w | w pertence a {0,1}*}

Page 35: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

35

Page 36: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

36

Page 37: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

37

Transições implícitas para qrejeita

(indo para a direita, por convenção) quando aparece um símbolo não definido na transição.

Page 38: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO · 14 Máquinas de Turing - Funcionamento ⚫ A entrada fica na porção mais à esquerda da fita ⚫ O símbolo em branco marca o fim

• Exercícios recomendados: apresente diagramas de estados de MTs para os seguintes problemas:

a) L = {0m1m | m ≥ 0}

b) L = {w wR} onde = {0,1}

c) L = {ambmcm | m ≥ 0}

d) Apresente uma MT que, dado um número binário em sua cadeia de entrada, incremente esse número de 1.