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⃗ {Axii:i∈[n]}∪{Bi,t:i∈[n],t∈[N]}∪{Cj:j∈[m]}αiAxiiβi,t,1−xiBi,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=A∪B∪Cn(N+1)+mAAi,0Ai,1iBi,1,…,Bi,N∉B|S|≤2n+(n−1)N+m<n(N+1)+mBCAnx⃗ . Como é diverso, por construção a atribuição atende à cláusula , portanto, é satisfatório.Cj∈Sx⃗ ϕjϕ