Problemas NP-completo

Slides:



Advertisements
Apresentações semelhantes
Grafos eulerianos 1.
Advertisements

CC/EC/Mestrado Teoria dos Grafos Grafos Hamiltonianos.
Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
2010/1 Teoria dos Grafos (INF 5037/INF2781) Grafos Hamiltonianos.
Grafos - Caminhos Caminhos Máximo / Mínimo:
Análise de Decisão Aplicada a Gerência Empresarial – UVA Grafos - V
UFES CC/EC/Mestrado Teoria dos Grafos Árvores. UFES CC/EC/Mestrado Teoria dos Grafos Árvores Grafo Acíclico: não possui ciclos.
Problema do caixeiro viajante
A Classe de Problemas NP
Grafos Grafo G = (V, E) V — conjunto de vértices
CONCEITOS BÁSICOS DE GRAFOS
Conexidade e Conectividade
Prof. M.Sc. Fábio Francisco da Costa Fontes Abril
GRAFOS EULERIANOS E HAMILTONIANOS
Programação Linear Método Simplex
Algoritmos e Estruturas de Dados
Grafos – Parte 1 Projeto e Análise de Algoritmos Aline Vasconcelos
Dárlinton B. Feres Carvalho
Medida do Tempo de Execução de um Programa
Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP.
NÃO DETERMINISMO Marcus Eduardo Cabral Seabra
Daniel Felipe Neves Martins
Estruturas de Dados e Complexidade de Algoritmos
Introdução à NP-completude
Árvore Geradora Mínima
Grafos Msc. Cintia Carvalho Oliveira Doutoranda em Computação – UFU
Buscas em Grafos Prof. André Renato 1º Semestre/2012
Algoritmos em Grafos.
Heurísticas, algoritmos gulosos e aproximações
Algoritmos em Grafos Conceitos principais Prof. André Renato
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Teoria dos Grafos Caminhos e Noção de Grafos com pesos
Prova AA.
Otimização Inteira 5a. Aula Franklina.
Conceitos Básicos Alysson e Franklina 2ºs/
Histórico, exemplos e problemas
Aula T06 – BCC202 Análise de Algoritmos (Parte 4) Túlio Toffolo
Algoritmos 1º Semestre Materia: Informática Profº: Cristiano.
Heurísticas, algoritmos gulosos e aproximações
Teoria dos Grafos Introdução
Introdução à NP-completude Katia S. Guimarães
Liliane Salgado NP-Completude Liliane Salgado
NP-Completude Algoritmos e Estruturas de Dados – IF672
Algoritmos de Busca Local
Aulão de Linguagens Formais e Compiladores
Complexidade computacional
Complexidade de Algoritmos
Ronaldo Celso Messias Correia –
Disciplina Análise de Algoritmos BCC-UFU Profa. Sandra de Amo
Experimentação Algorítmica
Busca Combinatorial e Métodos de Heurística
Análise e Síntese de Algoritmos
Aula de Monitoria – Miniprova
Análise de Algoritmos Informações Gerais da Disciplina

Construção e Análise de Algoritmos
Problemas NP-completos e Programação Dinâmica
Algoritmos de aproximação

Introdução à NP-completude
NP A Classe de Problemas NP Referências: M. R. Garey and D. S. Johnson. Computers and Intractability: a Guide to the Theory of NP Completeness. Freeman,
Teoria da complexidade
On The Complexity of Determining Autonomic Policy Constrained Behaviour Sobre a Complexidade de Determinação de Política Autônoma de Comportamento Restrito.
Busca Competitiva Disciplina: Inteligência Artificial
Engenharia de Computação Mestrado em Informática
 Prof. Miguel Gabriel Prazeres de Carvalho 1. 2 Redes Sociais GPS Para o correio. Para Viajantes. Pesquisas Biológicas. Distribuição de Tarefas. Recomendações.
Comportamento Assintótico
Grafos eulerianos 1.
Transcrição da apresentação:

Problemas NP-completo Nondeterministic polynomial time Tempo polinomial entrada de tamanho n pior caso de tempo de execução O(nk) Será que todos os problemas podem ser resolvidos em tempo polinomial - NÃO “Problema de Parada”de Turing - problema de determinar se um certo programa termina para uma dada entrada CAP-223

Problemas NP-completo (cont.) Tais problemas não podem ser resolvidos por qualquer computador não importa o tempo dado Por outro lado, existem problemas que podem ser resolvidos mas não em O(nk) Problemas que podem ser resolvidos em tempo polinomial são considerados TRATÁVEIS Problemas que necessitam de tempo super polinomial são considerados INTRATÁVEIS ou DIFÍCEIS CAP-223

Problemas NP-completo (cont.) Estado (status) não é conhecido * nenhum algoritmo em tempo polinomial foi descoberto * ninguém conseguiu provar que não há algoritmo em tempo polinomial para qualquer um dos problemas desta classe * muitos destes problemas parecem ser semelhantes a aqueles que tem algoritmo em tempo polinomial CAP-223

Problemas NP-completo (cont.) * Caminho mais curto x Caminho mais longo mais curto: O(VE) mais longo: NP-completo * Tour de Euler x Ciclo Hamiltoniano Euler: grafo conectado e direcionado ciclo percorrendo cada aresta uma única vez mesmo passando por um vértice mais de uma vez O(E) - grafo possui tour de Euler? Hamilton: ciclo simples com cada vértice NP-completo CAP-223

Problemas NP-completo (cont.) * 2-CNF satisfiability x 3-CNF satisfiability Conjunctive Normal Form Fórmula booleana está em k-CNF se ela é formada por ANDs de cláusulas OR de exatamente k variáveis ou suas negações e.g. (x1 v ¬x2) ^ (¬x1 v x3) ^ (¬x2 v ¬x3) está em 2-CNF Para afirmar que 2-CNF é SATISFIABLE (resulta em 1), há algoritmo em tempo polinomial. O mesmo para 3-CNF é NP-completo CAP-223

Problemas NP-completo (cont.) Caixeiro Viajante: existe um ciclo que percorra todos os vértices do grafo com um custo  B? Coloração de Grafos: pode um grafo ser adequadamente colorido com n cores? Mochila: existe uma combinação de itens que dê um lucro  L, respeitando o limite de peso? CAP-223

Problemas NP-completo (cont.) Frustração para projetistas de algoritmos não conseguem achar algoritmos eficientes Frustração para teóricos não conseguem achar nenhuma razão por que estes problemas são difíceis Muita pesquisa feita para desenvolver mecanismos pelos quais novos problemas possam ser classificados como “tão difíceis como” problemas já conhecidos CAP-223

Problemas NP-completo (cont.) Classe P: problemas são resolvidos em tempo polinomial Classe NP: soluções podem ser “verificadas” em tempo polinomial; Se, de alguma forma, pudesse fornecer um “certificado” de solução, então poderia verificar que o certificado está correto em tempo polinomial em termos de tamanho da entrada CAP-223

Problemas NP-completo (cont.) Ciclo Hamiltoniano - dado G(V, E), o certificado seria seqüência (v1, v2, ..., vn). Então seria possível verificar, em tempo polinomial, que (vi, vi+1)  E para i = 1, 2, ... N-1 e (vn, v1)  E 3-CNF - atribuir valores a variáveis e verificar, em tempo polinomial, que com estes valores a fórmula é satisfeita Qualquer problema P também está em NP P  NP CAP-223

Problemas NP-completo (cont.) Um bom projetista de algoritmos deve compreender os rudimentos da teoria de NP-completo. Se estabelecer que um problema é NP-completo, já está dando uma evidência que o problema é INTRATÁVEL. O próximo passo seria desenvolver algoritmos de aproximação ou resolver um caso especial “tratável”do que procurar por um algoritmo rápido para resolver exatamente o problema. CAP-223

Problemas NP-completo (cont.) Técnicas usadas para mostrar que um problema é NP-completo Afirmar quão difícil o problema é. Não é questão de provar que há um algoritmo eficiente. Mas mostrar que NENHUM algoritmo eficiente existe. CAP-223

Problemas NP-completo (cont.) Problemas de Otimização: cada solução viável possui um valor associado. Determinar solução viável com o melhor valor. Problemas de Decisão: respostas simples (0/1) Relacionar problemas de decisão com os de otimização Grafo G com vértices u e v para determinar caminho entre u e v com o menor número de vértices [P1]. Será que há um caminho entre os vértices consistindo no máximo k arestas [P2]??? CAP-223

Problemas NP-completo (cont.) Caixeiro Viajante: existe um ciclo que percorra todos os vértices do grafo com um custo  B? Coloração de Grafos: pode um grafo ser adequadamente colorido com n cores? Mochila: existe uma combinação de itens que dê um lucro  L, respeitando o limite de peso? CAP-223

Problemas NP-completo (cont.) Lado positivo deste relacionamento: tenta mostrar que problema de Otimização é “difícil” problema de Decisão é “mais fácil” ou pelo menos “não é difícil” No exemplo, pode-se resolver P2 resolvendo P1 e compara o número de arestas com k Se problema de Otimização for fácil o seu problema de Decisão relacionado é também fácil CAP-223

Problemas NP-completo (cont.) Relevância a NP-Completo: se mostrar evidências que um problema de Decisão é difícil, também mostra-se que o seu problema de Otimização relacionado também é difícil CAP-223

Problemas NP-completo (cont.) Quando a solução NÃO É VERIFICÁVEL em tempo polinomial  NP-Hard CAP-223