SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Provas NP Completo
SET PACKING
Projeto e Análise de Algoritmos
1o. Semestre de 2014
Hugo Santos – silvasantosh@gmail.com
Definição
O problema Set Packing pode ser definido como:
Dado um universo U e uma família S dos subconjuntos de U, um packing é uma
subfamília C ⊂ S dos conjuntos em que todos os conjuntos em C são disjuntos par-a-
par.
Na sua versão de problema de decisão a entrada é o par (U, S) e um
inteiro k > 0. A pergunta a ser respondida é: existe um conjunto C,
onde |C| ≥ k?
Etapas da Prova NP-Completo
1) Mostrar que Set Packing (π) está em NP:
a) problemas de decisão cuja solução pode ser verificada em
tempo polinomial com algoritmo determinista.
2) Mostrar que um problema NP-completo conhecido (π‘) pode ser
polinomialmente transformado para ele (π‘ α π).
Mostrar que Set Packing (π) está em NP
1) Algoritmo determinista para verificar a solução em tempo
polinomial:
O primeiro passo é verificar se C possui no mínimo k elementos e na sequência
verificar se cada par Si e Sj possui interseção vazia. A complexidade deste algoritmo
pode ser dada por O(|C|2), onde m é o tamanho do maior conjunto pertencente a C.
Logo é polinomial.
Mostrar que um problema NP-completo conhecido (π‘)
pode ser polinomialmente transformado para ele (π‘ α π)
1) Consideremos π‘ o problema dos conjuntos independentes
(Independent Sets), que é sabidamente NP-Completo para seu
problema de decisão.
2) Problema: Qual é o maior subconjunto de vertices de V tal que
nenhum par de vertices são adjascentes?
Mostrar que um problema NP-completo conhecido (π‘)
pode ser polinomialmente transformado para ele (π‘ α π)
1) No problema de decisão do conjunto independente, a entrada é
um grafo não direcionado e um número k, e a saída é um valor
booleano: true se o gráfico contém um conjunto independente de
tamanho k, e false caso contrário.
2) A intuição necessária é que cada vértice vi possui associado a ele a
lista de arestas incidentes. A condição para que vi faca parte da
solução é ele não possuir nenhuma aresta incidente comum aos
demais vértices já presentes na solução. Então para transformar
este problema em um Set Packing, basta criar um grafo G onde
cada vértice vi possui um conjunto de arestas incidentes
exatamente igual a cada Si existente em S e definir k’ = k.
Mostrar que um problema NP-completo conhecido (π‘)
pode ser polinomialmente transformado para ele (π‘ α π)
1) Para validar a solução, inicialmente iremos assumir que G possui
um conjunto de vértices independentes com no mínimo k
elementos, T. cada vi ϵ T iremos adicionar o conjunto de arestas
incidentes, Si, em C. Note que |C| = |T| e que Si ∩ Sj = Ø; ∀Si,Sj ϵ C
e i ≠ j, como |T| ≥ k podemos concluir que T é uma solução para o
problema Set Packing.
EXEMPLO:
(π‘ α π)

Weitere ähnliche Inhalte

Andere mochten auch

Manuel garcia mejorado
Manuel garcia  mejoradoManuel garcia  mejorado
Manuel garcia mejorado
Manuel933
 
Ci 350 assure method
Ci 350 assure methodCi 350 assure method
Ci 350 assure method
beckelheime3
 

Andere mochten auch (12)

Mitzvah Day 2009 Updated Sign Up Sheet
Mitzvah Day 2009 Updated Sign Up SheetMitzvah Day 2009 Updated Sign Up Sheet
Mitzvah Day 2009 Updated Sign Up Sheet
 
Manuel garcia mejorado
Manuel garcia  mejoradoManuel garcia  mejorado
Manuel garcia mejorado
 
Hoboken Boe Budget 2009 Revised Part 3 Of 4
Hoboken Boe Budget 2009 Revised Part 3 Of 4Hoboken Boe Budget 2009 Revised Part 3 Of 4
Hoboken Boe Budget 2009 Revised Part 3 Of 4
 
Ci 350 assure method
Ci 350 assure methodCi 350 assure method
Ci 350 assure method
 
RO WATER DISPENSER IN UAE
RO WATER DISPENSER IN UAERO WATER DISPENSER IN UAE
RO WATER DISPENSER IN UAE
 
Fri Vilja nr 1
Fri Vilja nr 1Fri Vilja nr 1
Fri Vilja nr 1
 
SharePoint 2013 integratie
SharePoint 2013 integratieSharePoint 2013 integratie
SharePoint 2013 integratie
 
Mall Silks
Mall SilksMall Silks
Mall Silks
 
Prvision samedi 06 decembre 2014
Prvision samedi 06 decembre 2014Prvision samedi 06 decembre 2014
Prvision samedi 06 decembre 2014
 
Hoboken Salary Ordinance
Hoboken Salary OrdinanceHoboken Salary Ordinance
Hoboken Salary Ordinance
 
Apresentação BRASNAM - 2015 (Brazilian Workshop on Social Network Analysis an...
Apresentação BRASNAM - 2015 (Brazilian Workshop on Social Network Analysis an...Apresentação BRASNAM - 2015 (Brazilian Workshop on Social Network Analysis an...
Apresentação BRASNAM - 2015 (Brazilian Workshop on Social Network Analysis an...
 
Internet das coisas - ADP TecnoTalks
Internet das coisas - ADP TecnoTalksInternet das coisas - ADP TecnoTalks
Internet das coisas - ADP TecnoTalks
 

Ähnlich wie Set packing - NP Proof / Prova NP Set Packing

Ähnlich wie Set packing - NP Proof / Prova NP Set Packing (7)

1o+npc
1o+npc1o+npc
1o+npc
 
1o+npc
1o+npc1o+npc
1o+npc
 
Classes de complexidades de problemas
Classes de complexidades de problemasClasses de complexidades de problemas
Classes de complexidades de problemas
 
Análise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NPAnálise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NP
 
Análise de Algoritmos - Mais problemas NP-Completos
Análise de Algoritmos - Mais problemas NP-CompletosAnálise de Algoritmos - Mais problemas NP-Completos
Análise de Algoritmos - Mais problemas NP-Completos
 
Subgraph Isomorphism - NP Proof / Prova NP Isomorfismo em Subgrafo
Subgraph Isomorphism  - NP Proof / Prova NP Isomorfismo em SubgrafoSubgraph Isomorphism  - NP Proof / Prova NP Isomorfismo em Subgrafo
Subgraph Isomorphism - NP Proof / Prova NP Isomorfismo em Subgrafo
 
09 problemas de grafos np-completos
09 problemas de grafos np-completos09 problemas de grafos np-completos
09 problemas de grafos np-completos
 

Set packing - NP Proof / Prova NP Set Packing

  • 1. Provas NP Completo SET PACKING Projeto e Análise de Algoritmos 1o. Semestre de 2014 Hugo Santos – silvasantosh@gmail.com
  • 2. Definição O problema Set Packing pode ser definido como: Dado um universo U e uma família S dos subconjuntos de U, um packing é uma subfamília C ⊂ S dos conjuntos em que todos os conjuntos em C são disjuntos par-a- par. Na sua versão de problema de decisão a entrada é o par (U, S) e um inteiro k > 0. A pergunta a ser respondida é: existe um conjunto C, onde |C| ≥ k?
  • 3. Etapas da Prova NP-Completo 1) Mostrar que Set Packing (π) está em NP: a) problemas de decisão cuja solução pode ser verificada em tempo polinomial com algoritmo determinista. 2) Mostrar que um problema NP-completo conhecido (π‘) pode ser polinomialmente transformado para ele (π‘ α π).
  • 4. Mostrar que Set Packing (π) está em NP 1) Algoritmo determinista para verificar a solução em tempo polinomial: O primeiro passo é verificar se C possui no mínimo k elementos e na sequência verificar se cada par Si e Sj possui interseção vazia. A complexidade deste algoritmo pode ser dada por O(|C|2), onde m é o tamanho do maior conjunto pertencente a C. Logo é polinomial.
  • 5. Mostrar que um problema NP-completo conhecido (π‘) pode ser polinomialmente transformado para ele (π‘ α π) 1) Consideremos π‘ o problema dos conjuntos independentes (Independent Sets), que é sabidamente NP-Completo para seu problema de decisão. 2) Problema: Qual é o maior subconjunto de vertices de V tal que nenhum par de vertices são adjascentes?
  • 6. Mostrar que um problema NP-completo conhecido (π‘) pode ser polinomialmente transformado para ele (π‘ α π) 1) No problema de decisão do conjunto independente, a entrada é um grafo não direcionado e um número k, e a saída é um valor booleano: true se o gráfico contém um conjunto independente de tamanho k, e false caso contrário. 2) A intuição necessária é que cada vértice vi possui associado a ele a lista de arestas incidentes. A condição para que vi faca parte da solução é ele não possuir nenhuma aresta incidente comum aos demais vértices já presentes na solução. Então para transformar este problema em um Set Packing, basta criar um grafo G onde cada vértice vi possui um conjunto de arestas incidentes exatamente igual a cada Si existente em S e definir k’ = k.
  • 7. Mostrar que um problema NP-completo conhecido (π‘) pode ser polinomialmente transformado para ele (π‘ α π) 1) Para validar a solução, inicialmente iremos assumir que G possui um conjunto de vértices independentes com no mínimo k elementos, T. cada vi ϵ T iremos adicionar o conjunto de arestas incidentes, Si, em C. Note que |C| = |T| e que Si ∩ Sj = Ø; ∀Si,Sj ϵ C e i ≠ j, como |T| ≥ k podemos concluir que T é uma solução para o problema Set Packing.