30
1 ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Cap 3.2 Variantes de MT Slides gentilmente cedidos pela Profa. Ariane Machado Lima

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

1

ACH2043INTRODUÇÃO À TEORIA DA

COMPUTAÇÃO

Cap 3.2 – Variantes de MT

Slides gentilmente cedidos pelaProfa. Ariane Machado Lima

Page 2: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

2

Máquinas de Turing –Definição formal

Page 3: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

3

Máquinas de Turing –Definição formal

Page 4: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

4

3.2 – Variantes de Máquinas de Turing

Page 5: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

5

Variantes de Máquinas de Turing

Máquina de Turing é um modelo robusto: ela e suas variações reconhecem a mesma classe de linguagens

Page 6: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

6

Máquinas de Turing Multifita

⚫ K fitas

⚫ Cada fita tem sua própria cabeça para leitura e escrita

⚫ Inicialmente, a cadeia de entrada fica na fita 1, e as demais fitas com branco

Page 7: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

7

Page 8: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

8

Seja S uma MT de fita única e M uma MT de k fitas.

S pode simular M:

Page 9: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

9

Seja S uma MT de fita única e M uma MT de k fitas.

S pode simular M:

Page 10: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

10

⚫ Preparação da fita: (ex: )

Funcionamento de S:

Page 11: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

11

⚫ Preparação da fita: (ex: )

Funcionamento de S:

Page 12: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

12

⚫ Preparação da fita: (ex: )

⚫ Leitura dos símbolos atuais:

Funcionamento de S:

Page 13: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

13

⚫ Preparação da fita: (ex: )

⚫ Leitura dos símbolos atuais: percorre a fita lendo os símbolos com ponto em cima (até o (k+1)-ésimo #)

Funcionamento de S:

Page 14: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

14

⚫ Preparação da fita: (ex: )

⚫ Leitura dos símbolos atuais: percorre a fita lendo os símbolos com ponto em cima (até o (k+1)-ésimo #)

Atualização das cabeças:

Funcionamento de S:

Page 15: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

15

⚫ Preparação da fita: (ex: )

⚫ Leitura dos símbolos atuais: percorre a fita lendo os símbolos com ponto em cima (até o (k+1)-ésimo #)

Atualização das cabeças: percorre a fita fazendo as atualizações conforme a função de transição (tirando e colocando pontos para atualizar as cabeças de fitas), (até o (k+1)-ésimo #)

Funcionamento de S:

Page 16: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

16

⚫ Preparação da fita: (ex: )

⚫ Leitura dos símbolos atuais: percorre a fita lendo os símbolos com ponto em cima (até o (k+1)-ésimo #)

Atualização das cabeças: percorre a fita fazendo as atualizações conforme a função de transição (tirando e colocando pontos para atualizar as cabeças de fitas), (até o (k+1)-ésimo #)

⚫ Se uma cabeça de fita vai para um “#”:

Funcionamento de S:

Page 17: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

17

⚫ Preparação da fita: (ex: )

⚫ Leitura dos símbolos atuais: percorre a fita lendo os símbolos com ponto em cima (até o (k+1)-ésimo #)

Atualização das cabeças: percorre a fita fazendo as atualizações conforme a função de transição (tirando e colocando pontos para atualizar as cabeças de fitas), (até o (k+1)-ésimo #)

⚫ Se uma cabeça de fita vai para um “#”: desloca o conteúdo da fita para a direita e coloca o símbolo no lugar daquele “#”

Funcionamento de S:

Page 18: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

18

Page 19: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

19

Prova:

Linguagem L é TR => MTM reconhece L:

L é TR => existe uma MT de fita única que a reconhece => existe uma MT multifita que a reconhece (pois fita única é um caso especial de multifita)

MTM reconhece L => Linguagem L é TR:

MTM reconhece L => uma MT fita única a reconhece (pelo teorema) => L é TR

Page 20: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

20

Máquinas de Turing Não-Determinísticas

Page 21: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

21

Máquinas de Turing Não-Determinísticas

Page 22: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

22

Page 23: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

23

Ideia da prova:

Usar para MT determinística D para simular todas as possíveis computações de uma MT não determinística N

Computação de N representada por uma árvore (filhos de um nó são as possibilidades de transição)

Cada caminho (a partir da raiz) é uma computação possível

Page 24: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

24

Lembram da árvore para AFNDs?

Page 25: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

25

Ideia da prova:

Usar para MT determinística D para simular todas as possíveis computações de uma MT não determinística N

Computação de N representada por uma árvore (filhos de um nó são as possibilidades de transição)

Cada caminho (a partir da raiz) é uma computação possível

Cada nó dessa árvore terá um endereço que indica qual filho seguir a partir da raiz (ex: 314)

D irá percorrer essa árvore através de busca em largura (para impedir que caia em um ramo infinito)

Page 26: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

26

Prova

Page 27: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

27

Prova

Nunca muda

Page 28: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

28

Prova

Nunca muda

Usada para simular cada ramo separadamente

Usada para indicar em qual computação (caminho) estou Possui uma cadeia em Σb* , Σb = {1, 2, …, b}, sendo b o maior número de filhos de um nó (ie, o maior número de transições alternativas de um estado)

Page 29: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

29

Prova

Page 30: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

30