A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Máquinas de Turing SIPSER – Capítulo 3: A tese de Church-Turing Universidade Federal da Paraíba Programa de Pós-Graduação em Informática Teoria da Computação.

Apresentações semelhantes


Apresentação em tema: "Máquinas de Turing SIPSER – Capítulo 3: A tese de Church-Turing Universidade Federal da Paraíba Programa de Pós-Graduação em Informática Teoria da Computação."— Transcrição da apresentação:

1 Máquinas de Turing SIPSER – Capítulo 3: A tese de Church-Turing Universidade Federal da Paraíba Programa de Pós-Graduação em Informática Teoria da Computação – Ana Paula Nunes Guimarães Glauco de Sousa e Silva Sarah Soares de OliveiraProfessor: Andrei Formiga

2 Até agora  Autômatos finitos são bons modelos para dispositivos que têm uma quantidade pequena de memória  Autômatos com pilha são bons modelos para dispositivos que possuem memória ilimitada, desde que seja utilizada de apenas uma maneira: ◦ LIFO  Agora veremos um modelo mais poderoso: ◦ Máquinas de Turing (MTs) 2

3 Máquinas de Turing  Proposta por Alan Turing em 1936  Semelhante a um autômato finito ◦ Mas com memória ilimitada e irrestrita  É um modelo de um computador de propósito geral 3

4 Máquinas de Turing 4

5  Um detalhe importante é a aceitação, ou rejeição da entrada  Diferente dos autômatos, ela possui um estado de aceitação, e outro de rejeição ◦ Ambos necessariamente finais  Quando um destes estados é alcançado, a computação termina imediatamente 5

6 Máquinas de Turing  Para entender o procedimento executado por uma máquina de Turing, vamos considerar a seguinte linguagem: ◦ L1 = { w#w | w ∈ {0,1}* } Exemplos de palavras da linguagem L1: w1=010#010 w2=0011#0011 6

7 Máquinas de Turing  Algoritmo para reconhecer L = {w#w | w ∈{0,1}*} 1.Faça um zigue-zague ao longo da fita checando posições correspondentes de ambos os lados do símbolo # para verificar se elas contêm o mesmo símbolo. Se a fita não contêm, ou se nenhum # foi encontrado, então rejeite; 2.À medida que os símbolos vão sendo verificados, marque-os; 3.Quando todos os símbolos a esquerda de # forem marcados, verifique se existe algum símbolo não marcado a direita. Se existir, rejeite. Se não existir, aceite a entrada. 7

8 Entrada: # # □... x # □... x # x □... x # x □ x x # x □... x x x x x x # x x x x x x x □... aceita 8

9 Definição formal de uma Máquina de Turing  Uma MT é definida como uma 7-upla: M = (Q, Σ, Γ, δ, q 0, q aceita,q rejeita )  Onde: ◦ Q é o conjunto de estados, ◦ Σ é o alfabeto de entrada sem o símbolo em branco ( □ ), ◦ Γ é o alfabeto da fita, onde □ ϵ Γ e Σ ⊆ Γ, ◦ δ : Q x Γ→ Q x Γ x {L, R} é a função de transição, ◦ q 0 Q é o estado inicial, ◦ q aceita ϵ Q é o estado de aceitação e, ◦ q rejeita ϵ Q é o estado de rejeição (q aceita ≠ q rejeita ). 9

10 Iniciando uma Máquina de Turing  Entrada w = ABCD ABCD □ Unidade de controle 10

11 Exemplo de função de transição  δ( q 0, A) = ( q 1,X,R) ABCD □ q0q0 11

12 Exemplo de função de transição  δ( q 0, A) = ( q 1,X,R) XBCD □ q1q1 12

13 Configurações da Máquina de Turing  Configurações de uma MT são mudanças que ocorrem no estado atual, no conteúdo atual e na posição atual da cabeça.  Exemplo: ABqCD ABCD □ q 13

14 Configurações da Máquina de Turing  Casos especiais: ◦ Começo da cadeia com movimento para a esquerda ◦ Fim da cadeia com movimento para a direita ◦ Configuração inicial (q 0 w) ◦ Configuração de aceitação (q aceita ) ◦ Configuração de rejeição (q rejeita )  Uma MT aceita uma aceita a entrada w se uma sequência de configurações C 1, C 2,..., C k existe. 14

15 Linguagens e Máquinas de Turing  Linguagem da MT: coleção de cadeias que são aceitas  Linguagem Turing-reconhecível  Linguagem Turing-decidível 15

16 Exemplos de Máquinas de Turing  L = {a n b n | n ≥1} 16

17 Exemplos de Máquinas de Turing  L = {a n b n | n ≥1}  O estado q 0 ao encontrar “a” escreve “x” (ou seja, marca “a”), muda de estado (q 1 ) e vai para a direita.  O estado q 1 é responsável por encontrar um “b” e marcá-lo com “y”.  A partir daí, outro estado (q 2 ) entra em ação. Ele volta na fita até encontrar “x” (o último “a” marcado).  Quando q 2 encontra o “x” devolve o controle para o estado q 0, que recomeça o processamento. 17

18 Exemplos de Máquinas de Turing  Quando q 0 encontra o “y”, significa que já terminou de marcar os símbolos “a”. Então, se não houverem mais “b” para serem marcados, a cadeia está correta.  Para isso é usado o estado q 3, para percorrer o restante da cadeia. Se encontrar só “y” e o □, então a cadeia está correta.  Se encontrar algum “b”, a MT para (já que não existe uma transição δ (q3, b) e a cadeia não é aceita). 18

19 Exemplos de Máquinas de Turing  L = {a n b n | n ≥1} 19

20 Exemplos de Máquinas de Turing  L = {a n b n | n ≥1} – cadeia: w = aabb 20

21 Exemplos de Máquinas de Turing  L = {w#w | w ϵ {0,1}*} 21

22 Variantes de Máquinas de Turing  Variantes ◦ Máquinas de Turing Multifita ◦ Máquinas de Turing Não-Determinísticas ◦ Enumeradores  Poder computacional ◦ Reconhecem a mesma classe de linguagens  Robustez 22

23 Variantes de Máquinas de Turing  E se permitíssemos que o cabeçote de uma MT ficasse parado? 1. Função de transição de uma MT padrão 2. Função de transição de uma MT estendida  Essa característica pode permitir que essas MT reconheçam linguagens adicionais, incrementando assim o poder desse modelo?  Equivalência entre modelos 23

24 Máquinas de Turing Multifita  Máquinas de Turing Multifita  A função de transição é modificada para permitir ler, escrever e mover as cabeças em todas as fitas simultaneamente 1.Função de transição de uma MT padrão 2.Função de transição de uma MT estendida 24

25 Máquinas de Turing Multifita  Poder computacional 25

26 Máquinas de Turing Multifita  Teorema: toda MT mulifita tem uma MT de uma única fita que lhe é equivalente  Prova: Devemos mostrar como converter uma MT multifita M em uma equivalente S, com apenas uma fita 26

27 Máquinas de Turing Multifita  Cabeçotes e fitas virtuais 27

28 Máquinas de Turing Não-Determinísticas  Em qualquer ponto, a máquina pode proceder de acordo com várias possibilidades 1. Função de transição de uma MT padrão 2. Função de transição de uma MT estendida  A computação é uma árvore ◦ Os nós correspondem às diferentes possibilidades  Poder computacional 28

29  Teorema: Toda MTND tem uma MTD que lhe é equivalente  Idéia da prova: Podemos simular qualquer MTND M, através de uma MT determinística S  Vemos a computação de M sobre uma entrada w como uma árvore de possibilidades  Cada nó da árvore é uma configuração de M Máquinas de Turing Não-Determinísticas 29

30  A raiz é a configuração inicial ◦ Cada nó tem no máximo b filhos  Buscar um estado de aceitação  Não fazer busca em profundidade, fazer busca em largura! ◦ Máquinas de Turing Não-Determinísticas 30

31 Simulação da MTND  Prova: ◦ A MT simuladora S posui três fitas: 31

32  Uma linguagem é Turing-reconhecível se, e somente se alguma MTND a reconhece  Chamamos uma MTND de decisor se todos os nós param sobre todas as entradas  Uma linguagem é decidível se e somente se alguma MTND a decide Máquinas de Turing Não-Determinísticas 32

33 Enumeradores  Um enumerador pode ser visto como uma MT com uma impressora anexa  A MT pode usar essa impressora como um dispositivo de saída para imprimir cadeias 33

34 Equivalência com outros modelos  Existem vários modelos de computação de propósito geral  Todos os modelos compartilham a característica essencial de máquinas de Turing ◦ Acesso irrestrito a memória ilimitada  Linguagens de programação ◦ Descrevem exatamente a mesma classe de algoritmos 34

35 Tese de Church-Turing  "A capacidade de computação representada pela Máquina de Turing é o limite máximo que pode ser atingido por qualquer dispositivo de computação"  Supondo verdadeira a hipótese de Church ◦ Função computável: é possível construir uma Máquina de Turing (ou formalismo equivalente) que compute a função ◦ Função Não-Computável: não existe Máquina de Turing (ou formalismo equivalente) que compute a função 35

36 Terminologia para descrever MT’s  A entrada da MT é uma cadeia  E se quisermos fornecer como entrada um objeto? ◦ Representar o objeto como uma cadeia ◦ Grafos, polinômios, gramáticas, autômatos...  Notação 36

37 Máquinas de Turing SIPSER – Capítulo 3: A tese de Church-Turing Universidade Federal da Paraíba Programa de Pós-Graduação em Informática Teoria da Computação – Ana Paula Nunes Guimarães Glauco de Sousa e Silva Sarah Soares de OliveiraProfessor: Andrei Formiga


Carregar ppt "Máquinas de Turing SIPSER – Capítulo 3: A tese de Church-Turing Universidade Federal da Paraíba Programa de Pós-Graduação em Informática Teoria da Computação."

Apresentações semelhantes


Anúncios Google