Lemme. Le problème est NP-difficile.
Croquis de preuve. Nous ignorons les contraintes | F i | ≪ n = | U | dans le problème affiché, car, pour toute instance ( F , U , k ) du problème, l'instance ( F ′ = F n , U ′ = U n , k ) obtenue en prenant l'union de n copies indépendantes de ( F , U , k ) (où le i|Fi|≪n=|U|(F,U,k)(F′=Fn,U′=Un,k)n( F, U, k )jee copie de F utilise la i ème copie de U comme ensemble de base) est équivalente et satisfait la contrainte (elle a | F ′ i | ≤ n ≪ n 2 = | U ′ | ).FjeU| F′je| ≤n≪ n2=|U′|
Nous offrons une réduction de 3-SAT. Pour la présentation, dans la première étape de la réduction, nous ignorons les contraintes e i ∈ F i dans le problème affiché. Dans la deuxième étape, nous décrivons comment répondre à ces contraintes tout en conservant l'exactitude de la réduction.ei∈Fi
Première étape. Fixez toute formule 3-SAT ϕ . Supposons WLOG que chaque clause a exactement trois littéraux (chacun utilisant une variable différente). Produisez l'instance suivante ( F , U , k ) du problème publié, avec k = 3 .ϕ(F,U,k)k=3
Soit n le nombre de variables dans ϕ . Il y a 3 n + 1 éléments dans U : un élément t (pour "vrai"), et, pour chaque variable x i dans ϕ , trois éléments x i , ¯ x i et f i (pour "faux").nϕ3n+1Utxiϕxix¯¯¯ifi
Pour chaque élément en U il existe un ensemble de singleton contenant seulement cet élément dans F . Toute solution C comprend donc chacun de ces ensembles, qui contribuent leur taille totale 3 n + 1 au coût de C .UFC3n+1C
En outre, pour chaque variable x i dans φ il existe un ensemble de "variable" { x i , ¯ x i , f i , t } dans F . Pour chaque clause de ϕ, il existe une "clause" définie dans F constituée des littéraux de la clause, et t . Par exemple, la clause x 1 ∧ ¯ x 2 ∧ x 3 donne l'ensemble { x 1 , ¯ x 2 , xxiϕ{xi,x¯¯¯i,fi,t}FϕFtx1∧x¯¯¯2∧x33 , t } dans F .{x1,x¯¯¯2,x3,t}F
Allégation 1. La réduction est correcte: ϕ est satisfaisable si une solution C a coûté ∑ j | C j | = 5 n + 1 .ϕC∑j|Cj|=5n+1
(seulement si) Supposons que ϕ soit satisfaisable. Construire une solution C constituée des 3 n + 1 ensembles singleton, plus, pour chaque variable x i , la paire constituée du vrai littéral et de t . (Par exemple, { ¯ x i , t } si x i est faux.) Le coût de C est alors 5 n + 1 . ϕC3n+1xit{x¯¯¯i,t}xiC5n+1
Chaque ensemble de variables { x i , ¯ x i , f i , t } est l'union de trois ensembles: la paire constituée du vrai littéral et de t , plus deux ensembles singleton, un pour chacun des deux autres éléments. (Par exemple, { ¯ x i , t } , { x i } , { f i } .){xi,x¯¯¯i,fi,t}t{x¯¯¯i,t},{xi},{fi}
Chaque ensemble de clauses (par exemple { x 1 , ¯ x 2 , x 3 , t } ) est l'union de trois ensembles: une paire composée de t et d'un vrai littéral, plus deux ensembles singleton, un pour chacun des deux autres littéraux. (Par exemple, { x 1 , t } , { ¯ x 2 } , { x 3 } .){x1,x¯¯¯2,x3,t}t{x1,t},{x¯¯¯2},{x3}
(si) Supposons qu'il existe une solution C de taille 5 n + 1 . La solution doit contenir les 3 n + 1 ensembles singleton, plus d'autres ensembles de taille totale 2 n .C5n+13n+12n
Considérons d'abord les n ensembles de "variables", chacun de la forme { x i , ¯ x i , f i , t } . L'ensemble est l'union disjointe d'au plus trois ensembles en C . Sans perte de généralité, c'est l'union disjointe de deux singletons et d'une paire (sinon, le fractionnement des ensembles en C permet d'atteindre cet objectif sans augmenter le coût). Notons la paire P i . Les paires P i et P j pour différentes variables x i et x j sont distinctes, carn{xi,x¯¯¯i,fi,t}CCPiPiPjxixjP i contient x i , ¯ x i ou f i mais P j n'en contient pas. Par conséquent, la somme des tailles de ces paires est de 2 n . Ces paires sont donc les seuls ensembles non singleton de la solution. Pixix¯¯¯ifiPj2n
Considérons ensuite les ensembles de «clauses», par exemple, { x i , ¯ x j , x k , t } . Chacun de ces ensembles doit être l'union d'au plus trois ensembles en C , c'est-à-dire jusqu'à deux ensembles singleton et au moins une paire P i , P j ou P k . En examinant les paires et l'ensemble de clauses, il doit s'agir de l'union de deux singletons et d'une paire, et cette paire doit être de la forme { x i , t } ou { ¯ x j , t }{xi,x¯¯¯j,xk,t}CPiPjPk{xi,t}{x¯¯¯j,t}(un littéral et un t ).t
Par conséquent, l'affectation suivante satisfait ϕ : affectez true à chaque variable x i telle que P i = { x i , t } , affectez false à chaque variable x i telle que P i = { ¯ x i , t } , et affectez la variables restantes arbitrairement.ϕxiPi={xi,t}xiPi={x¯¯¯i,t}
Étape 2. L'instance ( F , U , k = 3 ) produite ci-dessus ne satisfait pas la contrainte e i ∈ F i énoncée dans la description du problème. Corrigez cette lacune comme suit. Ordonnez les ensembles F i et les éléments e i dans U de sorte que chaque ensemble singleton corresponde à son élément e i . Soit m le nombre de clauses dans ϕ , donc | F | = 1 + 4 n +(F,U,k=3)ei∈FiFieiUeimϕm et | U | = 1 + 3 n .|F|=1+4n+m|U|=1+3n
Soit ( F ' , U ' , k ' = 4 ) l'instance obtenue comme suit. Soit A un ensemble de 2 n + 2 m nouveaux éléments artificiels, deux pour chaque ensemble non-singleton dans F . Laissez U ' = U ∪ A . Soit F ′ les ensembles singleton de F , plus, pour chaque ensemble non singleton F i dans F , deux ensembles F i ∪ { a(F′,U′,k′=4)A2n+2mFU′=U∪AF′FFiFi , a ′ i } et { a i , a ′ i } , où a i et a ′ i sont deux éléments de A choisis uniquement pour F i . Maintenant | F ′ | = | U ′ | = 1 + 5 n + 2 m et (avec le bon ordre de F ′ et U ′ ) la contrainte eFi∪{ai,a′i}{ai,a′i}aia′iAFi|F′|=|U′|=1+5n+2mF′U′′ I ∈F ′ i est respecté pour chaque ensembleF ′ i .e′i∈F′iF′i
Pour finir, notons que ( F ′ , U ′ , k ′ = 4 ) a une solution de coût | A | + 5 n + 1 si l'instance d'origine ( F , U , k = 3 ) a une solution de coût 5 n + 1 .(F′,U′,k′=4)|A|+5n+1(F,U,k=3)5n+1
(si) Compte tenu de toute solution C de coût 5 n + 1 pour ( F , U , k = 3 ) , en ajoutant les n + m ensembles { a i , a " i } (une pour chaque non-singleton F i , de sorte que ceux - ci la partition A ) à C donne une solution à ( F ′ , U ′ , k ′ = 4 ) de coûtC| A | + c o s t ( C ) = | A | + 5 n + 1 .
(seulement si) Considérons une solution C ′ pour ( F ′ , U ′ , k = 4 ) de coût | A | + 5 n + 1 . Considérons toute paire d'ensembles non singleton F i ∪ { a i , a ′ i } et { a i , a ′ i } dans F ′ . Chacun est l'union disjointe d'au plus 4 ensembles en C′ . Par un argument d'échange local,un de ces ensembles est { un i , un ' i } et le reste ne contient pas un i ou un ' i --- sinon cette propriété peut être réalisé par une modification locale des ensembles, sans augmenter le coût ... (le manque de détails est la raison pour laquelle j'appelle cela uneesquisse depreuve). Donc la suppression des ensembles { a i , a ′ i } de C ′ donne une solution C pour ( F , U ,k = 3 ) de coût 5 n + 1 . ⋄