1 / 37

Máquinas de Turing

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

jaron
Download Presentation

Máquinas de Turing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Universidade Federal da Paraíba Programa de Pós-Graduação em Informática Teoria da Computação – 2013.1 Máquinas de Turing SIPSER – Capítulo 3: A tese de Church-Turing Ana Paula Nunes Guimarães Glauco de Sousa e Silva • Sarah Soares de Oliveira Professor: 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)

  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

  4. Máquinas de Turing

  5. Máquinas de Turing • 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

  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

  7. Máquinas de Turing • Algoritmo para reconhecer L = {w#w | w ∈{0,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; • À medida que os símbolos vão sendo verificados, marque-os; • 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.

  8. Entrada: 011000#011000 0 1 1 0 0 0 # 0 1 1 0 0 0 □ ... x 1 1 0 0 0 # 0 1 1 0 0 0 □ ... x 1 1 0 0 0 # x 1 1 0 0 0 □ ... x 1 1 0 0 0 # x 1 1 0 0 0 □ x x 1 0 0 0 # x 1 1 0 0 0 □ ... x xxxxx # x xxxxxx □ ... aceita

  9. Definição formal de uma Máquina de Turing • Uma MT é definida como uma 7-upla: M = (Q, Σ, Γ, δ, q0, qaceita,qrejeita) • 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, • q0 ϵQ é o estado inicial, • qaceita ϵQ é o estado de aceitação e, • qrejeita ϵQ é o estado de rejeição (qaceita≠ qrejeita).

  10. Iniciando uma Máquina de Turing • Entrada w = ABCD Unidade de controle

  11. Exemplo de função de transição • δ(q0, A) = (q1,X,R) q0

  12. Exemplo de função de transição • δ(q0, A) = (q1,X,R) q1

  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 q

  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 (q0w) • Configuração de aceitação (qaceita) • Configuração de rejeição (qrejeita) • Uma MT aceita uma aceita a entrada w se uma sequência de configurações C1, C2, ..., Ck existe.

  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

  16. Exemplos de Máquinas de Turing • L = {anbn | n ≥1}

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

  18. Exemplos de Máquinas de Turing • Quando q0 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 q3, 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).

  19. Exemplos de Máquinas de Turing • L = {anbn | n ≥1}

  20. Exemplos de Máquinas de Turing • L = {anbn | n ≥1} – cadeia: w = aabb

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

  22. Variantes de Máquinas de Turing • Variantes • Máquinas de Turing Multifita • Máquinas de Turing Não-Determinísticas • Enumeradores • Podercomputacional • Reconhecem a mesmaclasse de linguagens • Robustez

  23. Variantes de Máquinas de Turing • E se permitíssemosque o cabeçote de uma MT ficasseparado? • Função de transição de uma MT padrão • 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

  24. Máquinas de Turing Multifita • Máquinas de Turing Multifita • A função de transição é modificadaparapermitirler, escrever e mover as cabeçasemtodas as fitassimultaneamente • Função de transição de uma MT padrão • Função de transição de uma MT estendida

  25. Máquinas de Turing Multifita • Poder computacional

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

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

  28. Máquinas de Turing Não-Determinísticas • Emqualquerponto, a máquinapodeproceder de acordo com váriaspossibilidades • Função de transição de uma MT padrão • Função de transição de uma MT estendida • A computação é umaárvore • Os nóscorrespondemàsdiferentespossibilidades • Podercomputacional

  29. Máquinas de Turing Não-Determinísticas • 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 sobreumaentrada w comoumaárvore de possibilidades • Cada nó da árvore é uma configuração de M

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

  31. Simulação da MTND • Prova: • A MT simuladora S posuitrêsfitas:

  32. Máquinas de Turing Não-Determinísticas • Umalinguagem é Turing-reconhecível se, e somente se alguma MTND a reconhece • Chamamosuma MTND de decisor se todososnósparamsobretodas as entradas • Uma linguagem é decidível se e somente se alguma MTND a decide

  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

  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

  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

  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 <O>

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

More Related