ach2043 introduÇÃo À teoria da computaÇÃo
TRANSCRIPT
![Page 1: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/2.jpg)
2
Máquinas de Turing –Definição formal
![Page 3: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/3.jpg)
3
Máquinas de Turing –Definição formal
![Page 4: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/4.jpg)
4
3.2 – Variantes de Máquinas de Turing
![Page 5: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/7.jpg)
7
![Page 8: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/10.jpg)
10
⚫ Preparação da fita: (ex: )
Funcionamento de S:
![Page 11: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/11.jpg)
11
⚫ Preparação da fita: (ex: )
Funcionamento de S:
![Page 12: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/12.jpg)
12
⚫ Preparação da fita: (ex: )
⚫ Leitura dos símbolos atuais:
Funcionamento de S:
![Page 13: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/18.jpg)
18
![Page 19: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/20.jpg)
20
Máquinas de Turing Não-Determinísticas
![Page 21: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/21.jpg)
21
Máquinas de Turing Não-Determinísticas
![Page 22: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/22.jpg)
22
![Page 23: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/24.jpg)
24
Lembram da árvore para AFNDs?
![Page 25: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/25.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/26.jpg)
26
Prova
![Page 27: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/27.jpg)
27
Prova
Nunca muda
![Page 28: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/28.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/29.jpg)
29
Prova
![Page 30: ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO](https://reader030.vdocuments.mx/reader030/viewer/2022012507/6183b4257a33123b963fe785/html5/thumbnails/30.jpg)
30