A Classe NP Teoria da Computação Profa. Sandra de Amo.

Slides:



Advertisements
Apresentações semelhantes
Decidibilidade e Indecidibilidade
Advertisements

Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
AULA 5 PGC Sistemas de Banco de Dados Profa. Sandra de Amo
Variantes de Máquina de Turing
Teoria da Computação MÁQUINA DE TURING (Continuação) Fabrício Dias
Teoria da Computação VERIFICAÇÃO DE EQUIVALÊNCIA FORTE DE PROGRAMAS
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.
A Classe de Problemas NP
Sinais e Sistemas – Capítulo 4
Máquinas de Turing Não Deterministas
Problema de Correspondência de Post (PCP)
Máquinas de Turing Teoria da Computação.
Mestrado em Ciência da Computação Profa. Sandra de Amo
Problema da Aceitação ATM
Teoria da Computação Sandra de Amo
Programação Linear Método Simplex
Complexidade de Linguagens Influência do Modelo de Computação
Lema do Bombeamento – Gramáticas Livres do Contexto
Teorema da Recursão Teoria da Computação
Algoritmos e Estruturas de Dados
Medida do Tempo de Execução de um Programa
NÃO DETERMINISMO Marcus Eduardo Cabral Seabra
Polinômios Prof. Marlon.
Daniel Felipe Neves Martins
G R U P O S - III.
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE MATEMÁTICA
Informática Teórica Engenharia da Computação
Prof. Roberto Cristóvão
Aprendizado de Máquina Aula 8
ICC2 Aula 7 Fábio Nakano.
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
Operações com grafos União Exemplo
Erick Vagner Cabral Igor Lucena Vitor Baptista
Integração Numérica Integração Numérica
Prof. Guilherme Amorim 26/11/2013
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Aula T06 – BCC202 Análise de Algoritmos (Parte 4) Túlio Toffolo
SIPSER – Capítulo 3: A tese de Church-Turing
Teoria da Computação Aula 5 Prof. Fabiano Sabha.
Inteligência Artificial
Liliane Salgado NP-Completude Liliane Salgado
Complexidade computacional
Complexidade de Algoritmos
Máquina de Turing Universal
Análise e Síntese de Algoritmos
Redução.
Como analisar um algoritmo
Problemas NP-completos e Programação Dinâmica
Algoritmos FPT para o Problema da k-Cobertura por Vértices
Introdução à NP-completude
Números Primos – algoritmos e aplicações
Operações Aritméticas AULA 3 Análise de Algoritmos Pós-graduação em Ciência da Computação – UFU Profa. Sandra de Amo.
Busca Competitiva Disciplina: Inteligência Artificial
Tese de Church-Turing.
TEORIA DOS NÚMEROS Aula 2 – Princípio da Indução Finita
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.
TECMF Básicos de Complexidade Prof. Edward Hermann Haeusler.
Wellington D. Previero Pontos Extremos.
Comportamento Assintótico
Transcrição da apresentação:

A Classe NP Teoria da Computação Profa. Sandra de Amo

Definição de NP NP = {A | A é decidida por uma M.T. M, não determinista a uma fita, tal que NTime M (n) = O(n k )} O que é NTime M (n) ? Considere um input w de tamanho n Considere a árvore de execução Arv de M em w A árvore Arv(w) é finita, pois M decide A. Considera p(w) = o comprimento do maior ramo de Arv(w) NTime M (n) = max{p(w) | |w| = n }

Verificador versus Decididor Seja A um problema. Um verificador para o problema A é uma M.T V determinista a uma fita tal que V Input w Certificado c qa se c é uma “prova” de w é input positivo de A qr se c é um “indicio” de w pode ser input negativo de A

Teorema Um problema A é NP se e somente se tem um Verificador V tal que Time V (n) = O(n k ), isto é um Verificador polinomial Veja que o fato de A estar em NP significa que tem um Decididor exponencial Isto é: decididor exponencial  verificador polinomial

Lembrando: Transformação MT Não-det em MT determinista FITA DE INPUT FITA DE CÁLCULO FITA DAS POSSIBILIDADES Serão executados 3 passos de M’ Passo 1 : opção 1 Passo 2 : opção 1 Passo 3 : opção 2

Demonstração (ida) Suponha que o problema A tenha um verificador V em tempo polinomial. Vamos construir uma M.T. N não-determinista que o decide em tempo polinomial. V pára sempre em qualquer input em um número de passos p(n), onde p = polinomio em n, n = tamanho do input w Logo, os certificados possiveis de V tem no máximo tamanho p(n), sendo portanto em um número finito. A máquina N é definida como: N = No input w faça, 1.Escolhe um string c dentre os possiveis certificados de V 2.Execute V em 3.Se V aceita, N pára em qa 4.Se V rejeita, N pára em qr Número de passos de N é polinomial, pois o tamanho de c é polinomial em n e o número de passos de V é polinomial em n.

Demonstração (volta) Suponha que o problema A seja decidível por uma máquina de Turing N, não- determinista a uma fita, em tempo polinomial. Vamos construir verificador polinomial para A. Seja a = número máximo de opções dos comandos de N Seja w um input de N de tamanho n p(n) = tamanho máximo dos ramos da árvore de execução de N ao ser executada em w. Todos os ramos são finitos e terminam em qa ou qr. Considere todos os strings c de comprimento no máximo p(n) sobre o alfabeto {1,...,a}. Cada string c representa uma possivel execução de N em w. V = No input faça 1. Execute a sequência de operações de N (em w) indicadas pelo string c, como uma escolha possivel para N 2. Se este ramo de N pára em qa, V pára em qa 3. Se este ramo de N pára em qr, V pára em qr. V é um verificador para A, em tempo polinomial, já que o string c tem comprimento polinomial em n e “dita” o número de operações a serem executadas

Classes de Complexidade P  NP NP  EXP –Toda máquina não-det N de tempo polinomial p(n) é equivalente a uma máquina det a 3 fitas M de tempo exponencial 2 O(p(n)). –Esta máquina M com 3 fitas pode ser transformada em uma outra máquina determinista com 1 fita com complexidade 2 O(p2(n)). Uma destas inclusões é estrita  –pois P  EXP Problema em aberto desde os anos 70 : qual delas ???