SlideShare uma empresa Scribd logo
Teoria da Computação 01/12/2006 Ciência da Computação FAESA – 5B
AGENDA Importância Classe de Problemas Algorítmicos Problemas P Problemas NP Redutibilidade – Problemas NP-Completo Problemas Famosos Problemas Exponenciais
IMPORTÂNCIA Falha em achar algoritmo eficiente
IMPORTÂNCIA Algoritmos eficientes para alguns casos – impossível!!!
IMPORTÂNCIA Prêmio oferecido pela Clay Mathematics Institute - $ 1 milhão de dólares
IMPORTÂNCIA
IMPORTÂNCIA
IMPORTÂNCIA Problemas Tratáveis: se apresentar solução polinomial Problemas Intratáveis: se for tão difícil que nenhum algoritmo polinomial consegue resolvê-lo
Classe de Problemas Algorítmicos Problemas de Decisão Objetivo consiste sempre em responder sim ou não à determinada indagação.
Classe de Problemas Algorítmicos Problemas de Localização Objetivo é encontrar, caso exista, determinada estrutura satisfazendo requisitos especificados por uma questão   .
Classe de Problemas Algorítmicos Problemas de Otimização Objetivo será obter determinada estrutura satisfazendo critério de otimização pré-definido
Classe de Problemas Algorítmicos Exemplo: Problema de Decisão: Entrada: Grafo G e um inteiro k > 0 Questão: Existe um clique em G do tamanho  k? Se a resposta for sim, resolve-se o segundo problema
Classe de Problemas Algorítmicos Problema de Localização: Entrada: Grafo G e um inteiro k > 0 Questão: Encontrar um clique em G de tamanho  k. Obter algum clique em G ou mostrar que não existe
Classe de Problemas Algorítmicos Problema de Otimização Entrada: Grafo G Questão: Obter um clique de tamanho mínimo. Resolvidos os problemas da existência e localização de cliques em G, deve-se obter dentre todos os cliques deste grafo aquele de tamanho mínimo. Ou seja, o menor k para o qual a resposta ao Problema de Decisão seja sim
Classe de Problemas Algorítmicos Decisão < Localização < Otimização
Classe de Problemas P Tempo polinomial no pior caso  Algoritmos com pesquisa binária (O(log n)); Pesquisa seqüencial (O(n)); Ordenação por inserção (O(n2)); Multiplicação de matrizes (O(n3)).
Classe de Problemas NP problemas &quot;não-determinísticos polinomiais&quot; no tempo  Steve Cook observou um fato simples e ao mesmo tempo surpreendente: se um problema pudesse ser resolvido em tempo polinomial, poderia-se também verificar se uma dada possível solução é correta em tempo polinomial (dize-se que o algoritmo pode ser certificado em tempo polinomial).
Classe de Problemas NP P    NP
P = NP ou P    NP Existem muitos problemas práticos em NP que podem ou não pertencer a P  Se conseguirmos provar que um problema não pertence a P, então não precisamos procurar por uma solução eficiente para ele Como não existe tal prova sempre há esperança de que alguém descubra um algoritmo eficiente Quase ninguém acredita que NP = P Existe um esforço considerável para provar o contrário: MAS O PROBLEMA CONTINUA EM ABERTO!
Redutibilidade Suposição 1: Tem-se um problema de decisão A que se deseja resolver em tempo polinomial. Chama-se de instância a entrada para um determinado problema. Suposição 2:Existe um problema de decisão diferente B, que já se sabe como resolver em tempo polinomial. Suposição 3:Tem-se um procedimento que transforma qualquer instância    de A em alguma instância    de B com as seguintes características: A transformação demora tempo polinomial. As respostas são as mesmas, isto é, a resposta para     é “sim” se e somente se a resposta para    também é sim.
Redutibilidade Dada uma instância    do problema A, use o algoritmo de redução de tempo polinomial para transformá-la em uma instância    do problema B. Execute o algoritmo de decisão de tempo polinomial para B sobre a instância   . Use a resposta de    como a resposta para   .
Redutibilidade O caráter NP - Completo consiste em mostrar o quanto um problema é difícil, em vez de mostrar o quanto ele é fácil. Para isso, usam-se reduções de tempo polinomial da maneira oposta. As reduções de tempo polinomial proporcionam um meio formal de mostrar que um problema é pelo menos tão difícil quanto outro, até dentro de um fator de tempo polinomial isto é, se ,  então L1 não é mais que um fato polinomial mais difícil que L2, e esse é o motivo pelo qual a notação “menor que ou igual a” para redução é mnemônica.
Problemas NP-Completos Uma linguagem  é NP – Completa se Se uma linguagem L satisfaz à propriedade 2, mas não necessariamente à propriedade 1, diz-se que L é NP – Difícil (ou NP - Árduo).
Problemas NP-Completos
Problemas NP - Completos
PROBLEMAS FAMOSOS
Caminho em um Grafo Considere um grafo com peso nas arestas, dois vértices i, j e um inteiro k > 0
Caminho em um Grafo Fácil: Existe um caminho de i até j com peso <=  k? Existe um algoritmo eficiente com complexidade de tempo O (A log V), sendo A o número de arestas e V o número de vértices (algoritmo de Dijkstra) Difícil: Existe um caminho de i até j com peso >= k? Não existe algoritmo eficiente. É equivalente ao problema do caixeiro viajante em termos de complexidade.
Coloração em um Grafo Em um grafo G = (V, A), mapear C: V <- S, sendo S um conjunto finito de cores tal que se  então c(v)  c(w), ou seja, vértices adjacentes possuem cores distintas. O número cromático X(G) de G é o menor número de cores necessário para colorir G, isto é, o menor k para o qual existe uma coloração C para G e |C(V)| = k. O problema é produzir uma coloração ótima, que é a que usa apenas X(G) cores
Coloração em um Grafo Formulação do tipo “sim/não”: dados G e um inteiro positivo k, existe uma coloração de G usando k cores? Fácil: k = 2 Difícil: k > 2
Coloração em um Grafo Aplicações Otimização de Compiladores; Exames de um colégio
Ciclo de Hamilton O ciclo de Hamilton é um ciclo simples, ou seja, passa por todos os vértices uma única vez. O caminho de Hamilton é um caminho simples, ou seja, passa por todos os vértices uma única vez.
Ciclo de Hamilton Exemplo de ciclo de Hamilton: 0 1 4 2 3 0. Exemplo de caminho de Hamilton: 0 1 4 2 3.
Ciclo de Hamilton Problema: Existe um ciclo de Hamilton no grafo G? Fácil: grafos com grau máximo = 2, ou seja, vértices com no máximo duas arestas incidentes. Difícil: grafos com grau > 2.
Problema da Satisfabilidade
Problema da Parada Consiste em determinar, para um algoritmo determinista qualquer A com entrada de dados E, se o algoritmo A termina ou entra em loop infinito (muito útil para compiladores).
Problemas Exponenciais Independente da velocidade do computador, ninguém poderia esperar por um algoritmo que leva 2100 passos para terminar uma tarefa. Um supercomputador poderia resolver um problema de tamanho n = 50 em 1 hora, ou n = 51 em 2 horas, ou n = 59 em 1 ano. Nem um computador paralelo com um milhão de processadores (cada um sendo um milhão de vezes mais rápido que o mais rápido existente) é suficiente para n = 100.
Problemas Exponenciais Usar algoritmos exponenciais “eficientes” aplicando técnicas de tentativa e erro; Usar algoritmos aproximados. Acham uma resposta que pode não ser a solução ótima, mas é garantido ser próxima dela; Concentrar no caso médio. Buscar algoritmos melhores que outros neste quesito e que funcionem bem para as entradas de dados que ocorrem usualmente na prática. Porém, existem poucos algoritmo exponenciais que mão muito úteis. Um exemplo é o Simplex (Programação Linear): a complexidade de tempo é exponencial no pior, mas é muito rápido na prática. Esses exemplos são muito raros, pois a grande maioria dos algoritmos exponenciais conhecidos não é muito útil.
Referências Ver referências do trabalho escrito Loiane Groner 01/12/2006 Teoria da Computação FAESA  - 5B Prof. Elvira Padua Lovatte

Mais conteúdo relacionado

Mais procurados

Análise de Algoritmos - Método Guloso
Análise de Algoritmos - Método GulosoAnálise de Algoritmos - Método Guloso
Análise de Algoritmos - Método Guloso
Delacyr Ferreira
 
Floyd-Warshall
Floyd-WarshallFloyd-Warshall
Floyd-Warshall
Jean Figueiredo
 
Análise da complexidade de algoritmos
Análise da complexidade de algoritmosAnálise da complexidade de algoritmos
Análise da complexidade de algoritmos
Pablo Silva
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 08
(ACH2002) Introdução à Análise de Algoritmos - Aula 08(ACH2002) Introdução à Análise de Algoritmos - Aula 08
(ACH2002) Introdução à Análise de Algoritmos - Aula 08
Norton Trevisan Roman
 
Aula 5 linguagens regularese automatosfinitosnãodeterministico
Aula 5   linguagens regularese automatosfinitosnãodeterministicoAula 5   linguagens regularese automatosfinitosnãodeterministico
Aula 5 linguagens regularese automatosfinitosnãodeterministico
wab030
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintótica
Pablo Silva
 
Aula 10 minimizaçãode automato
Aula 10   minimizaçãode automatoAula 10   minimizaçãode automato
Aula 10 minimizaçãode automato
wab030
 
Cal i a02
Cal i a02Cal i a02
(ACH2002) Introdução à Análise de Algoritmos - Aula 03
(ACH2002) Introdução à Análise de Algoritmos - Aula 03(ACH2002) Introdução à Análise de Algoritmos - Aula 03
(ACH2002) Introdução à Análise de Algoritmos - Aula 03
Norton Trevisan Roman
 
Aula 12 revisãodos exercícios
Aula 12   revisãodos exercíciosAula 12   revisãodos exercícios
Aula 12 revisãodos exercícios
wab030
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 02
(ACH2002) Introdução à Análise de Algoritmos - Aula 02(ACH2002) Introdução à Análise de Algoritmos - Aula 02
(ACH2002) Introdução à Análise de Algoritmos - Aula 02
Norton Trevisan Roman
 
Relações de recorrência
Relações de recorrênciaRelações de recorrência
Relações de recorrência
Pablo Silva
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Universidade de São Paulo
 
Programação Lógica com Restrições
Programação Lógica com RestriçõesProgramação Lógica com Restrições
Programação Lógica com Restrições
Antonio Fonseca Pimenta Junior
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmos
Ricardo Bolanho
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 06
(ACH2002) Introdução à Análise de Algoritmos - Aula 06(ACH2002) Introdução à Análise de Algoritmos - Aula 06
(ACH2002) Introdução à Análise de Algoritmos - Aula 06
Norton Trevisan Roman
 
Apresentação análise e simulação de um "Job Shop"
Apresentação análise e simulação de um "Job Shop"Apresentação análise e simulação de um "Job Shop"
Apresentação análise e simulação de um "Job Shop"
Paulo Henrique Santini
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 07
(ACH2002) Introdução à Análise de Algoritmos - Aula 07(ACH2002) Introdução à Análise de Algoritmos - Aula 07
(ACH2002) Introdução à Análise de Algoritmos - Aula 07
Norton Trevisan Roman
 
Programação Dinâmica - Segmento de Soma Máxima
Programação Dinâmica - Segmento de Soma MáximaProgramação Dinâmica - Segmento de Soma Máxima
Programação Dinâmica - Segmento de Soma Máxima
Gabriel Albuquerque
 
03 pid d
03 pid d03 pid d

Mais procurados (20)

Análise de Algoritmos - Método Guloso
Análise de Algoritmos - Método GulosoAnálise de Algoritmos - Método Guloso
Análise de Algoritmos - Método Guloso
 
Floyd-Warshall
Floyd-WarshallFloyd-Warshall
Floyd-Warshall
 
Análise da complexidade de algoritmos
Análise da complexidade de algoritmosAnálise da complexidade de algoritmos
Análise da complexidade de algoritmos
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 08
(ACH2002) Introdução à Análise de Algoritmos - Aula 08(ACH2002) Introdução à Análise de Algoritmos - Aula 08
(ACH2002) Introdução à Análise de Algoritmos - Aula 08
 
Aula 5 linguagens regularese automatosfinitosnãodeterministico
Aula 5   linguagens regularese automatosfinitosnãodeterministicoAula 5   linguagens regularese automatosfinitosnãodeterministico
Aula 5 linguagens regularese automatosfinitosnãodeterministico
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintótica
 
Aula 10 minimizaçãode automato
Aula 10   minimizaçãode automatoAula 10   minimizaçãode automato
Aula 10 minimizaçãode automato
 
Cal i a02
Cal i a02Cal i a02
Cal i a02
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 03
(ACH2002) Introdução à Análise de Algoritmos - Aula 03(ACH2002) Introdução à Análise de Algoritmos - Aula 03
(ACH2002) Introdução à Análise de Algoritmos - Aula 03
 
Aula 12 revisãodos exercícios
Aula 12   revisãodos exercíciosAula 12   revisãodos exercícios
Aula 12 revisãodos exercícios
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 02
(ACH2002) Introdução à Análise de Algoritmos - Aula 02(ACH2002) Introdução à Análise de Algoritmos - Aula 02
(ACH2002) Introdução à Análise de Algoritmos - Aula 02
 
Relações de recorrência
Relações de recorrênciaRelações de recorrência
Relações de recorrência
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
 
Programação Lógica com Restrições
Programação Lógica com RestriçõesProgramação Lógica com Restrições
Programação Lógica com Restrições
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmos
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 06
(ACH2002) Introdução à Análise de Algoritmos - Aula 06(ACH2002) Introdução à Análise de Algoritmos - Aula 06
(ACH2002) Introdução à Análise de Algoritmos - Aula 06
 
Apresentação análise e simulação de um "Job Shop"
Apresentação análise e simulação de um "Job Shop"Apresentação análise e simulação de um "Job Shop"
Apresentação análise e simulação de um "Job Shop"
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 07
(ACH2002) Introdução à Análise de Algoritmos - Aula 07(ACH2002) Introdução à Análise de Algoritmos - Aula 07
(ACH2002) Introdução à Análise de Algoritmos - Aula 07
 
Programação Dinâmica - Segmento de Soma Máxima
Programação Dinâmica - Segmento de Soma MáximaProgramação Dinâmica - Segmento de Soma Máxima
Programação Dinâmica - Segmento de Soma Máxima
 
03 pid d
03 pid d03 pid d
03 pid d
 

Destaque

El tutor y la familia
El tutor y la familiaEl tutor y la familia
El tutor y la familia
ElenaGarciaCastano
 
Curso ExtJS 4 - Aula 27: Ext.window.Window
Curso ExtJS 4 - Aula 27: Ext.window.WindowCurso ExtJS 4 - Aula 27: Ext.window.Window
Curso ExtJS 4 - Aula 27: Ext.window.Window
Loiane Groner
 
Tema 3
Tema 3Tema 3
Tarea 3 (segundo parcial)
Tarea 3 (segundo parcial)Tarea 3 (segundo parcial)
Tarea 3 (segundo parcial)
David Chicaiza
 
Tarea 5
Tarea 5Tarea 5
Trabajo fin de_asignatura_innovaciones.c.rodriguez
Trabajo fin de_asignatura_innovaciones.c.rodriguezTrabajo fin de_asignatura_innovaciones.c.rodriguez
Trabajo fin de_asignatura_innovaciones.c.rodriguez
Cesar Rodriguez Cabrillo
 
XML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos IntrodutóriosXML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos Introdutórios
Fabio Spanhol
 
Formacao pordata trabalho_final_dorespinto_fev2015
Formacao pordata trabalho_final_dorespinto_fev2015Formacao pordata trabalho_final_dorespinto_fev2015
Formacao pordata trabalho_final_dorespinto_fev2015
Dores Pinto
 
Rudolf Kozlai: Urbanika
Rudolf Kozlai: UrbanikaRudolf Kozlai: Urbanika
Rudolf Kozlai: Urbanika
Slovak Governance Institute
 
Economia y-sus-conceptos
Economia y-sus-conceptosEconomia y-sus-conceptos
Economia y-sus-conceptos
Diego Grosso Motta
 
Confia en mi_2 (1)
Confia en mi_2 (1)Confia en mi_2 (1)
Confia en mi_2 (1)
FerNandoJavier566
 
Practicas de educacion_y_sociedad
Practicas de educacion_y_sociedadPracticas de educacion_y_sociedad
Practicas de educacion_y_sociedad
Estermartinmartintalavera
 
El tutor y la familia ante la gran pantalla
El tutor y la familia ante la gran pantallaEl tutor y la familia ante la gran pantalla
El tutor y la familia ante la gran pantalla
Estermartinmartintalavera
 
fluidos ultimo
 fluidos ultimo fluidos ultimo
fluidos ultimo
Joel F Ocho A
 
Comunicar S.A.
Comunicar S.A.Comunicar S.A.
Comunicar S.A.
marguiquintero
 
Londres daniel
Londres danielLondres daniel
Londres daniel
grupodetrabajoquijote
 
Letramento bibliotecas universitárias
Letramento bibliotecas universitáriasLetramento bibliotecas universitárias
Letramento bibliotecas universitárias
Leonardo Renault
 
Virtualware educacion 2012
Virtualware educacion 2012Virtualware educacion 2012
Virtualware educacion 2012
dmoreno2011
 
Proyecto edu blog
Proyecto edu blogProyecto edu blog
Proyecto edu blog
Diego Grosso Motta
 
neha resume_updated
neha resume_updatedneha resume_updated
neha resume_updated
neha gupta
 

Destaque (20)

El tutor y la familia
El tutor y la familiaEl tutor y la familia
El tutor y la familia
 
Curso ExtJS 4 - Aula 27: Ext.window.Window
Curso ExtJS 4 - Aula 27: Ext.window.WindowCurso ExtJS 4 - Aula 27: Ext.window.Window
Curso ExtJS 4 - Aula 27: Ext.window.Window
 
Tema 3
Tema 3Tema 3
Tema 3
 
Tarea 3 (segundo parcial)
Tarea 3 (segundo parcial)Tarea 3 (segundo parcial)
Tarea 3 (segundo parcial)
 
Tarea 5
Tarea 5Tarea 5
Tarea 5
 
Trabajo fin de_asignatura_innovaciones.c.rodriguez
Trabajo fin de_asignatura_innovaciones.c.rodriguezTrabajo fin de_asignatura_innovaciones.c.rodriguez
Trabajo fin de_asignatura_innovaciones.c.rodriguez
 
XML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos IntrodutóriosXML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos Introdutórios
 
Formacao pordata trabalho_final_dorespinto_fev2015
Formacao pordata trabalho_final_dorespinto_fev2015Formacao pordata trabalho_final_dorespinto_fev2015
Formacao pordata trabalho_final_dorespinto_fev2015
 
Rudolf Kozlai: Urbanika
Rudolf Kozlai: UrbanikaRudolf Kozlai: Urbanika
Rudolf Kozlai: Urbanika
 
Economia y-sus-conceptos
Economia y-sus-conceptosEconomia y-sus-conceptos
Economia y-sus-conceptos
 
Confia en mi_2 (1)
Confia en mi_2 (1)Confia en mi_2 (1)
Confia en mi_2 (1)
 
Practicas de educacion_y_sociedad
Practicas de educacion_y_sociedadPracticas de educacion_y_sociedad
Practicas de educacion_y_sociedad
 
El tutor y la familia ante la gran pantalla
El tutor y la familia ante la gran pantallaEl tutor y la familia ante la gran pantalla
El tutor y la familia ante la gran pantalla
 
fluidos ultimo
 fluidos ultimo fluidos ultimo
fluidos ultimo
 
Comunicar S.A.
Comunicar S.A.Comunicar S.A.
Comunicar S.A.
 
Londres daniel
Londres danielLondres daniel
Londres daniel
 
Letramento bibliotecas universitárias
Letramento bibliotecas universitáriasLetramento bibliotecas universitárias
Letramento bibliotecas universitárias
 
Virtualware educacion 2012
Virtualware educacion 2012Virtualware educacion 2012
Virtualware educacion 2012
 
Proyecto edu blog
Proyecto edu blogProyecto edu blog
Proyecto edu blog
 
neha resume_updated
neha resume_updatedneha resume_updated
neha resume_updated
 

Semelhante a Apresentacao N P Completude Loiane

Teoria da Computação
Teoria da ComputaçãoTeoria da Computação
Teoria da Computação
Alefe Variani
 
Classes de complexidades de problemas
Classes de complexidades de problemasClasses de complexidades de problemas
Classes de complexidades de problemas
David Achahui Perez
 
1o+npc
1o+npc1o+npc
1o+npc
isac_barbosa
 
Programação Dinâmica
Programação DinâmicaProgramação Dinâmica
Programação Dinâmica
Orlando Junior
 
Inteligencia artificial 2
Inteligencia artificial 2Inteligencia artificial 2
Inteligencia artificial 2
Nauber Gois
 
NP Completude - Loiane
NP Completude - LoianeNP Completude - Loiane
NP Completude - Loiane
Loiane Groner
 
06 complexidade de problemas
06   complexidade de problemas06   complexidade de problemas
06 complexidade de problemas
Marlon Vinicius da Silva
 
Estudos sobre PROBLEMAS P-NP-NP-COMPLETO.pptx
Estudos sobre PROBLEMAS P-NP-NP-COMPLETO.pptxEstudos sobre PROBLEMAS P-NP-NP-COMPLETO.pptx
Estudos sobre PROBLEMAS P-NP-NP-COMPLETO.pptx
HermanoPeixoto
 
ApostilaAlgoritmo
ApostilaAlgoritmoApostilaAlgoritmo
ApostilaAlgoritmo
progidio
 
Paa algoritmos gulosos
Paa  algoritmos gulososPaa  algoritmos gulosos
Paa algoritmos gulosos
Inael Rodrigues
 
Aula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoAula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvido
Eduardo de Lucena Falcão
 
Aula2
Aula2Aula2
Apostila de Aritmética Modular
Apostila de Aritmética ModularApostila de Aritmética Modular
Apostila de Aritmética Modular
marcobazuca
 
Apostila tcc
Apostila tccApostila tcc
Apostila tcc
apfheob
 
Algoritmos
AlgoritmosAlgoritmos
Ap algoritmosglauco
Ap algoritmosglaucoAp algoritmosglauco
Ap algoritmosglauco
Cleilson Pereira
 
4 groebner danton4 dissertacao
4 groebner danton4 dissertacao4 groebner danton4 dissertacao
4 groebner danton4 dissertacao
prefeitura municipal de araraquara
 
Apostila clic2
Apostila clic2Apostila clic2
Apostila clic2
Jorge Meline
 
Algoritmos
AlgoritmosAlgoritmos
Cap04
Cap04Cap04
Cap04
mvbahamut
 

Semelhante a Apresentacao N P Completude Loiane (20)

Teoria da Computação
Teoria da ComputaçãoTeoria da Computação
Teoria da Computação
 
Classes de complexidades de problemas
Classes de complexidades de problemasClasses de complexidades de problemas
Classes de complexidades de problemas
 
1o+npc
1o+npc1o+npc
1o+npc
 
Programação Dinâmica
Programação DinâmicaProgramação Dinâmica
Programação Dinâmica
 
Inteligencia artificial 2
Inteligencia artificial 2Inteligencia artificial 2
Inteligencia artificial 2
 
NP Completude - Loiane
NP Completude - LoianeNP Completude - Loiane
NP Completude - Loiane
 
06 complexidade de problemas
06   complexidade de problemas06   complexidade de problemas
06 complexidade de problemas
 
Estudos sobre PROBLEMAS P-NP-NP-COMPLETO.pptx
Estudos sobre PROBLEMAS P-NP-NP-COMPLETO.pptxEstudos sobre PROBLEMAS P-NP-NP-COMPLETO.pptx
Estudos sobre PROBLEMAS P-NP-NP-COMPLETO.pptx
 
ApostilaAlgoritmo
ApostilaAlgoritmoApostilaAlgoritmo
ApostilaAlgoritmo
 
Paa algoritmos gulosos
Paa  algoritmos gulososPaa  algoritmos gulosos
Paa algoritmos gulosos
 
Aula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoAula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvido
 
Aula2
Aula2Aula2
Aula2
 
Apostila de Aritmética Modular
Apostila de Aritmética ModularApostila de Aritmética Modular
Apostila de Aritmética Modular
 
Apostila tcc
Apostila tccApostila tcc
Apostila tcc
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Ap algoritmosglauco
Ap algoritmosglaucoAp algoritmosglauco
Ap algoritmosglauco
 
4 groebner danton4 dissertacao
4 groebner danton4 dissertacao4 groebner danton4 dissertacao
4 groebner danton4 dissertacao
 
Apostila clic2
Apostila clic2Apostila clic2
Apostila clic2
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Cap04
Cap04Cap04
Cap04
 

Apresentacao N P Completude Loiane

  • 1. Teoria da Computação 01/12/2006 Ciência da Computação FAESA – 5B
  • 2. AGENDA Importância Classe de Problemas Algorítmicos Problemas P Problemas NP Redutibilidade – Problemas NP-Completo Problemas Famosos Problemas Exponenciais
  • 3. IMPORTÂNCIA Falha em achar algoritmo eficiente
  • 4. IMPORTÂNCIA Algoritmos eficientes para alguns casos – impossível!!!
  • 5. IMPORTÂNCIA Prêmio oferecido pela Clay Mathematics Institute - $ 1 milhão de dólares
  • 8. IMPORTÂNCIA Problemas Tratáveis: se apresentar solução polinomial Problemas Intratáveis: se for tão difícil que nenhum algoritmo polinomial consegue resolvê-lo
  • 9. Classe de Problemas Algorítmicos Problemas de Decisão Objetivo consiste sempre em responder sim ou não à determinada indagação.
  • 10. Classe de Problemas Algorítmicos Problemas de Localização Objetivo é encontrar, caso exista, determinada estrutura satisfazendo requisitos especificados por uma questão .
  • 11. Classe de Problemas Algorítmicos Problemas de Otimização Objetivo será obter determinada estrutura satisfazendo critério de otimização pré-definido
  • 12. Classe de Problemas Algorítmicos Exemplo: Problema de Decisão: Entrada: Grafo G e um inteiro k > 0 Questão: Existe um clique em G do tamanho k? Se a resposta for sim, resolve-se o segundo problema
  • 13. Classe de Problemas Algorítmicos Problema de Localização: Entrada: Grafo G e um inteiro k > 0 Questão: Encontrar um clique em G de tamanho k. Obter algum clique em G ou mostrar que não existe
  • 14. Classe de Problemas Algorítmicos Problema de Otimização Entrada: Grafo G Questão: Obter um clique de tamanho mínimo. Resolvidos os problemas da existência e localização de cliques em G, deve-se obter dentre todos os cliques deste grafo aquele de tamanho mínimo. Ou seja, o menor k para o qual a resposta ao Problema de Decisão seja sim
  • 15. Classe de Problemas Algorítmicos Decisão < Localização < Otimização
  • 16. Classe de Problemas P Tempo polinomial no pior caso Algoritmos com pesquisa binária (O(log n)); Pesquisa seqüencial (O(n)); Ordenação por inserção (O(n2)); Multiplicação de matrizes (O(n3)).
  • 17. Classe de Problemas NP problemas &quot;não-determinísticos polinomiais&quot; no tempo Steve Cook observou um fato simples e ao mesmo tempo surpreendente: se um problema pudesse ser resolvido em tempo polinomial, poderia-se também verificar se uma dada possível solução é correta em tempo polinomial (dize-se que o algoritmo pode ser certificado em tempo polinomial).
  • 18. Classe de Problemas NP P  NP
  • 19. P = NP ou P  NP Existem muitos problemas práticos em NP que podem ou não pertencer a P Se conseguirmos provar que um problema não pertence a P, então não precisamos procurar por uma solução eficiente para ele Como não existe tal prova sempre há esperança de que alguém descubra um algoritmo eficiente Quase ninguém acredita que NP = P Existe um esforço considerável para provar o contrário: MAS O PROBLEMA CONTINUA EM ABERTO!
  • 20. Redutibilidade Suposição 1: Tem-se um problema de decisão A que se deseja resolver em tempo polinomial. Chama-se de instância a entrada para um determinado problema. Suposição 2:Existe um problema de decisão diferente B, que já se sabe como resolver em tempo polinomial. Suposição 3:Tem-se um procedimento que transforma qualquer instância  de A em alguma instância  de B com as seguintes características: A transformação demora tempo polinomial. As respostas são as mesmas, isto é, a resposta para  é “sim” se e somente se a resposta para  também é sim.
  • 21. Redutibilidade Dada uma instância  do problema A, use o algoritmo de redução de tempo polinomial para transformá-la em uma instância  do problema B. Execute o algoritmo de decisão de tempo polinomial para B sobre a instância  . Use a resposta de  como a resposta para  .
  • 22. Redutibilidade O caráter NP - Completo consiste em mostrar o quanto um problema é difícil, em vez de mostrar o quanto ele é fácil. Para isso, usam-se reduções de tempo polinomial da maneira oposta. As reduções de tempo polinomial proporcionam um meio formal de mostrar que um problema é pelo menos tão difícil quanto outro, até dentro de um fator de tempo polinomial isto é, se , então L1 não é mais que um fato polinomial mais difícil que L2, e esse é o motivo pelo qual a notação “menor que ou igual a” para redução é mnemônica.
  • 23. Problemas NP-Completos Uma linguagem é NP – Completa se Se uma linguagem L satisfaz à propriedade 2, mas não necessariamente à propriedade 1, diz-se que L é NP – Difícil (ou NP - Árduo).
  • 25. Problemas NP - Completos
  • 27. Caminho em um Grafo Considere um grafo com peso nas arestas, dois vértices i, j e um inteiro k > 0
  • 28. Caminho em um Grafo Fácil: Existe um caminho de i até j com peso <= k? Existe um algoritmo eficiente com complexidade de tempo O (A log V), sendo A o número de arestas e V o número de vértices (algoritmo de Dijkstra) Difícil: Existe um caminho de i até j com peso >= k? Não existe algoritmo eficiente. É equivalente ao problema do caixeiro viajante em termos de complexidade.
  • 29. Coloração em um Grafo Em um grafo G = (V, A), mapear C: V <- S, sendo S um conjunto finito de cores tal que se então c(v) c(w), ou seja, vértices adjacentes possuem cores distintas. O número cromático X(G) de G é o menor número de cores necessário para colorir G, isto é, o menor k para o qual existe uma coloração C para G e |C(V)| = k. O problema é produzir uma coloração ótima, que é a que usa apenas X(G) cores
  • 30. Coloração em um Grafo Formulação do tipo “sim/não”: dados G e um inteiro positivo k, existe uma coloração de G usando k cores? Fácil: k = 2 Difícil: k > 2
  • 31. Coloração em um Grafo Aplicações Otimização de Compiladores; Exames de um colégio
  • 32. Ciclo de Hamilton O ciclo de Hamilton é um ciclo simples, ou seja, passa por todos os vértices uma única vez. O caminho de Hamilton é um caminho simples, ou seja, passa por todos os vértices uma única vez.
  • 33. Ciclo de Hamilton Exemplo de ciclo de Hamilton: 0 1 4 2 3 0. Exemplo de caminho de Hamilton: 0 1 4 2 3.
  • 34. Ciclo de Hamilton Problema: Existe um ciclo de Hamilton no grafo G? Fácil: grafos com grau máximo = 2, ou seja, vértices com no máximo duas arestas incidentes. Difícil: grafos com grau > 2.
  • 36. Problema da Parada Consiste em determinar, para um algoritmo determinista qualquer A com entrada de dados E, se o algoritmo A termina ou entra em loop infinito (muito útil para compiladores).
  • 37. Problemas Exponenciais Independente da velocidade do computador, ninguém poderia esperar por um algoritmo que leva 2100 passos para terminar uma tarefa. Um supercomputador poderia resolver um problema de tamanho n = 50 em 1 hora, ou n = 51 em 2 horas, ou n = 59 em 1 ano. Nem um computador paralelo com um milhão de processadores (cada um sendo um milhão de vezes mais rápido que o mais rápido existente) é suficiente para n = 100.
  • 38. Problemas Exponenciais Usar algoritmos exponenciais “eficientes” aplicando técnicas de tentativa e erro; Usar algoritmos aproximados. Acham uma resposta que pode não ser a solução ótima, mas é garantido ser próxima dela; Concentrar no caso médio. Buscar algoritmos melhores que outros neste quesito e que funcionem bem para as entradas de dados que ocorrem usualmente na prática. Porém, existem poucos algoritmo exponenciais que mão muito úteis. Um exemplo é o Simplex (Programação Linear): a complexidade de tempo é exponencial no pior, mas é muito rápido na prática. Esses exemplos são muito raros, pois a grande maioria dos algoritmos exponenciais conhecidos não é muito útil.
  • 39. Referências Ver referências do trabalho escrito Loiane Groner 01/12/2006 Teoria da Computação FAESA - 5B Prof. Elvira Padua Lovatte