Problema semelhante ao conjunto de embalagem

7

Chame uma família de conjuntos "diversos" se cada conjunto tiver pelo menos um elemento exclusivo. Quais são as abordagens possíveis para encontrar o maior conjunto diversificado em uma família de conjuntos ?F={S1,,Sk}SiFSF

Uma abordagem é resolver um problema de empacotamento de conjunto modificado. Suponha . Seja um subconjunto de elementos, , e . Então, o conjunto máximo diversificado corresponde ao maior pacote máximo obtido em que é o conjunto de todos os elementos não exclusivos em .F={S1,,Sk}KKSiFK={S1K,,SkK}SFLLF

Mas, qual é uma boa heurística para escolher ? Ou existem abordagens melhores por completo?K

charles.y.zheng
fonte
Bem-vinda! A base está definida como finita?
Raphael
11
Observe que você está solicitando um conjunto mínimo de modo que o resultante seja uma anti-cadeia na relação de subconjunto. SFS
Nicholas Mancuso

Respostas:

2

O problema está NP-completo. Isso exclui um algoritmo exato que funciona em todas as circunstâncias, mas não exclui algoritmos heurísticos que funcionam bem na prática ou algoritmo de aproximações com garantias de aproximação prováveis.

A redução é da 3SAT. Dada uma instância 3SAT com as variáveis e cláusulas , construa o sistema de conjunto a seguir. Para cada variável existem dois conjuntos e e define e para cada cláusula existe um conjunto . O conjunto consiste nos seguintes elementos:ϕx1,,xnϕ1,,ϕmxiAi,0Ai,1N=n+1Bi,t={βi,t,0,βi,t,1}ϕjCj={γj,1,γj,2,γj,3}Ai,b

  • Os elementos .N+1αi,βi,1,b,,βi,N,b
  • Para cada cláusula que contém como o ésimo literal e não é satisfeita por , o elemento .ϕjxikxi=bγj,k

Pode-se encontrar conjuntos diversos se e somente se for satisfatório. De fato, dada uma tarefa satisfatória , a família é diverso: pertence apenas a , pertence apenas a e se o ésimo literal de for satisfeito, então pertence apenas a .n(N+1)+mϕx{Aixi:i[n]}{Bi,t:i[n],t[N]}{Cj:j[m]}αiAixiβi,t,1xiBi,tkϕjγj,kCj

Para o inverso, suponha que seja uma família diversificada de tamanho pelo menos , particionado de acordo com o tipo do conjunto. Se contiver e para alguns , então . Portanto, , o que é impossível. Portanto, e devem conter todos os conjuntos do tipo correspondente e deve conter conjuntos, que juntos codificam uma atribuiçãoS=ABCn(N+1)+mAAi,0Ai,1iBi,1,,Bi,NB|S|2n+(n1)N+m<n(N+1)+mBCAnx . Como é diverso, por construção a atribuição atende à cláusula , portanto, é satisfatório.CjSxϕjϕ

Yuval Filmus
fonte