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

SharePoint 2013 integratie
SharePoint 2013 integratieSharePoint 2013 integratie
SharePoint 2013 integratieKjeld Punt
 
Mall Silks
Mall SilksMall Silks
Mall SilksCovey
 
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...Hugo Santos
 
Internet das coisas - ADP TecnoTalks
Internet das coisas - ADP TecnoTalksInternet das coisas - ADP TecnoTalks
Internet das coisas - ADP TecnoTalksDesiree Santos
 

Andere mochten auch (6)

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

Classes de complexidades de problemas
Classes de complexidades de problemasClasses de complexidades de problemas
Classes de complexidades de problemasDavid Achahui Perez
 
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 NPDelacyr Ferreira
 
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-CompletosDelacyr Ferreira
 
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 SubgrafoHugo Santos
 
09 problemas de grafos np-completos
09 problemas de grafos np-completos09 problemas de grafos np-completos
09 problemas de grafos np-completosYuri Passos
 

Ä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
 

Kürzlich hochgeladen

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 

Kürzlich hochgeladen (9)

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

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.