Digamos que recebemos conjuntos e o tamanho de sua união é . Gostaríamos de construir um pequeno conjunto que contenha pelo menos do determinados conjuntos.
Vamos supor que é menor do que algum polinômio em , ou seja: . Nesse caso, existe um algoritmo eficiente (polinomial) para o problema de otimização:
Encontre o menor conjunto que contenha pelo menos do determinados conjuntos.
Respostas:
O problema é NP-completo. Aqui está uma redução do 3SAT-5, uma versão NP completa do 3SAT, na qual todas as variáveis aparecem exatamente 5 vezes (e, portanto, o número de variáveis e o número de cláusulas são linearmente relacionados).
Começamos construindo dois sistemas de conjuntos. O primeiro sistemaS consiste em 6 conjuntos A0,A1,B0,B1,C0,C1 e 15 elementos D={0,1}4∖(1,1,1,1) e tem a seguinte propriedade:
O segundo sistemaT consiste em 2n conjuntos X1,Y1,…,Xn,Yn e O(n2) elementos e possui a seguinte propriedade Ligue para uma família den sai de T adequado se contiver exatamente um de cadaXi,Yi . Todas as famílias apropriadas den conjuntos cobrem o mesmo número de elementos M e cada família imprópria de n conjuntos abrange pelo menos M+1 elementos.
O conjunto de elementos consiste em todos os pares de conjuntos não ordenados{S,T} diferentes dos da forma {Xi,Yi} . Cada conjuntoS∈T consiste em todos 2n−2 pares que o contêm. DeixeiF ser uma família de n conjuntos, com complemento F¯¯¯¯ . Os únicos elementos não cobertos porF são aqueles da forma {S,T} Onde S,T∈F¯¯¯¯ . E seF é adequado, então é F¯¯¯¯ e, portanto, há elementos não abordados. Se estiver incorreto, também o será e, portanto, haverá menos de elementos não abordados.(n2) F F¯¯¯¯ (n2)
A redução. Seja uma instância do 3SAT-5 com variáveis e cláusulas. Para cada cláusula existe uma cópia do sistema . Há também uma cópia de na qual cada elemento é substituído por elementos. O número total de elementos é polinomial em .ϕ n m=5n/3 ϕj Sj S T~ T N=13m+1 n
Para cada variável existem dois conjuntos e . O conjunto é a união dos seis conjuntos a seguir:xi X0i X1i X0i
O conjunto é definido da mesma forma que a união dos seis conjuntos a seguir:X1i
O problema é decidir se existem conjuntos que juntos cobrem elementos (ou menos).n 13m+NM
Se for satisfatório, digamos com a atribuição da verdade , então cobre exatamente elementos . Por outro lado, suponha que exista uma maneira de cobrir no máximo elementos . Se a solução for inadequada, ela abrange pelo menos elementos (considerando apenas ). Se for apropriado, corresponde a alguma atribuição de verdade , e é fácil verificar se o número de elementos cobertos é , onde é o número de cláusulas falsas. Portanto, e concluímos queϕ xi {Xxii:1≤i≤n} 13m+NM 13m+NM N(M+1)>13m+NM T~ xi 13m+NM+Z Z Z=0 xi é uma tarefa satisfatória.
fonte