SIPSER – Capítulo 3: A tese de Church-Turing

Slides:



Advertisements
Apresentações semelhantes
Decidibilidade e Indecidibilidade
Advertisements

FAPE - Curso de Ciência da Computação
Software Básico Silvio Fernandes
Marco Antonio Montebello Júnior
Variantes de Máquina de Turing
Teoria da Computação MÁQUINA DE TURING (Continuação) Fabrício Dias
MÁQUINAS UNIVERSAIS Fabrício Dias
Universidade Federal de Campina Grande – UFCG Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação – DSC Máquina de.
Prof. Yandre Maldonado e Gomes da Costa
TEORIA DA COMPUTAÇÃO Parte III  Máquina de Turing
3 AUTÓMATOS FINITOS.
Software Básico Silvio Fernandes
Modelos no Domínio do Tempo de Sistemas LTI Contínuos
Máquinas de Turing Não Deterministas
Máquinas de Turing Teoria da Computação.
Complexidade de Linguagens Influência do Modelo de Computação
Teorema da Recursão Teoria da Computação
Resolução.
PARTIÇÃO DE BENDERS Secundino Soares Filho Unicamp.
Árvores.
EXPRESSÕES ARITMÉTICAS
Linguagens Não Decidíveis
esquerda p/ direita,read only
Linguagens e Máquinas WILSON ROSA DE OLIVEIRA DEPARTAMENTO DE INFORMÁTICA UFPE
Máquina de Turing e Computabilidade
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Programação Baseada em Objectos Desenho de TAD
Informática Teórica Engenharia da Computação
Como aplicar leis da lógica
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
Conversão de um NFA para um DFA com um exemplo
Erick Vagner Cabral Igor Lucena Vitor Baptista
Aula 17 1 Análise Sintáctica Compiladores, Aula Nº 17 João M. P. Cardoso.
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
4 - DECIDIBILIDADE Universidade Federal da Paraíba
É u m e l e m e n t o f u n d a m e n t a l
Ling. Formais e Autômatos AFN-ε
Teoria da Computação Aula 5 Prof. Fabiano Sabha.
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Conceitos básicos em grafos
Computação Gráfica Aula 3 Transformações Geométricas
Inteligência Artificial
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Máquina de Turing Universal
Universidade Federal de Campina Grande – UFCG Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação – DSC Teoria da.
Máquinas de Turing.
Redução.
A Classe NP Teoria da Computação Profa. Sandra de Amo.
Prof. André Luis Roland Tancredo Engenheiro da Computação e Pesquisador em Desenvolvimento Tecnológico para Semicondutores pelo CNPq Especialista em Microeletrônica.
MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566
Informática Teórica Aula 8 Por: Tarcisio Coutinho da Silva
Tese de Church-Turing.
Informática Teórica Arthur Ramos David Hulak
1 Decidibilidade continuação…. 2 Teorema: Para qualquer linguagem recursivamente enumerável é indecidível determinar se é finita Prova: Vamos reduzir.
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação. REDUTIBILIDADE POR MAPEAMENTO Formalizaremos a noção de redutibilidade de uma dentre várias maneiras. Formalizaremos.
Informática Teórica Engenharia da Computação. REDUTIBILIDADE Uma redução é uma maneira de converter um problema em outro Uma redução é uma maneira de.
1 Máquinas de Turing 3 Exercícios Máquinas de Turing com Múltiplas Fitas Máquinas de Turing Não-deterministicas A Tese/Hipótese de Church-Turing Linguagens.
Transcrição da apresentação:

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

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)

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

Máquinas de Turing

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

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

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.

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 x x x x x # x x x x x x x □ ... aceita

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 ).

Iniciando uma Máquina de Turing Entrada w = ABCD Unidade de controle A B C D □

Exemplo de função de transição δ(q0, A) = (q1,X,R) q0 A B C D □

Exemplo de função de transição δ(q0, A) = (q1,X,R) q1 X B C D □

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 A B C D □

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.

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

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

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.

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).

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

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

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

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

Variantes de Máquinas de Turing E se permitíssemos que o cabeçote de uma MT ficasse parado? 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

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 Função de transição de uma MT padrão Função de transição de uma MT estendida

Máquinas de Turing Multifita Poder computacional

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

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

Máquinas de Turing Não-Determinísticas Em qualquer ponto, a máquina pode proceder de acordo com várias possibilidades 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ós correspondem às diferentes possibilidades Poder computacional

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

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

Máquinas de Turing Não-Determinísticas 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

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

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

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

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>

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