Betrachten wir eine Sammlung von Sätzen F = { F 1 , F 2 , ... , F n }F={F1,F2,…,Fn} über einen Basissatz wo und , und sei eine positive ganze Zahl.U = { e 1 , e 2 , … , e n } U={e1,e2,…,en}| F i | |Fi| ≪ ≪ n ne i ∈ F iei∈Fi kk
Das Ziel ist ein weitere Sammlung von Sätzen zu finden C = { C 1 , C 2 , ... , C m }C={C1,C2,…,Cm} über UU , so dass jedes F iFi kann höchstens als eine Vereinigung von geschrieben werden k k ( k < < | C | )(k<<|C|) disjunktem setzt in CC und wir wollen auch ∑ m 1 | C j | ∑m1|Cj|minimal sein (dh die Gesamtzahl der Elemente in allen Sätzen von CC sollte so klein wie möglich sein).
Beachten Sie, dass FF dieselbe Größe wie UU hat, die Größe von CC jedoch ungewiss ist.
Kann jemand sagen, ob das oben genannte Problem NP-schwer ist? (set abdeckung, verpackung, perfekte abdeckung,
Vielen Dank für Ihre Zeit.
Antworten:
Lemma. Das Problem ist NP-schwer.
Proof-Skizze. Wir ignorieren die Einschränkungen | F i | ≪ n = | U | in dem gesendeten Problem, weil für jede Instanz ( F , U , k ) des Problems die Instanz ( F ' = F n , U ' = U n , k ) erhalten wird, indem die Vereinigung von n unabhängigen Kopien von ( F , U , k ) (wo das i|Fi|≪n=|U| (F,U,k) (F′=Fn,U′=Un,k) n (F,U,k) i Die i - te Kopie von F, die die i- te Kopie von U als Basismenge verwendet, ist äquivalent und erfüllt die Bedingung (sie hat | F ' i | ≤ n ≪ n 2 = | U ' | ).F i U |F′i|≤n≪n2=|U′|
Wir geben eine Ermäßigung von 3-SAT. Für die Darstellung werden in der ersten Stufe der Reduktion die Einschränkungen e i ∈ F i in dem gestellten Problem ignoriert . In der zweiten Stufe beschreiben wir, wie diese Einschränkungen erfüllt werden können, während die Korrektheit der Reduktion erhalten bleibt.ei∈Fi
Erste Stufe. Fixiere eine beliebige 3-SAT-Formel ϕ . Angenommen, WLOG hat für jede Klausel genau drei Literale (wobei jeder eine andere Variable verwendet). Erstellen Sie die folgende Instanz ( F , U , k ) des angegebenen Problems mit k = 3 .ϕ (F,U,k) k=3
Sei n die Anzahl der Variablen in ϕ . Es gibt 3 n + 1 Elemente in U : ein Element t (für "true"), und für jede Variable x i in φ , drei Elemente x i , ¯ x i und f i (für "false").n ϕ 3n+1 U t xi ϕ xi x¯¯¯i fi
Für jedes Element in U gibt es eine Singleton-Menge, die nur dieses Element in F enthält . Jede Lösung C enthält daher jede dieser Mengen, die ihre Gesamtgröße 3 n + 1 zu den Kosten von C beitragen .U F C 3n+1 C
Zusätzlich gibt es für jede Variable x i in ϕ eine "Variable", die in F { x i , ¯ x i , f i , t } gesetzt ist . Für jede Klausel in ϕ gibt es eine "Klausel" in F, die aus den Literalen in der Klausel besteht, und t . Zum Beispiel kann die Klausel x 1 ∧ ¯ x 2 ∧ x 3 liefert die eingestellte { x 1 , ¯ x 2 , xxi ϕ {xi,x¯¯¯i,fi,t} F ϕ F t x1∧x¯¯¯2∧x3 3 , t } in F .{x1,x¯¯¯2,x3,t} F
Behauptung 1. Die Reduktion ist richtig: ϕ ist erfüllbar, wenn eine Lösung C ∑ j | kostet C j | = 5 n + 1 .ϕ C ∑j|Cj|=5n+1
(nur wenn) Angenommen, ϕ ist erfüllbar. Konstruieren Sie eine Lösung C, die aus den 3 n + 1 Singleton-Mengen und für jede Variable x i aus dem wahren Literal und t besteht . (ZB { ¯ x i , t }, wenn x i falsch ist.) Die Kosten für C betragen dann 5 n + 1 .ϕ C 3n+1 xi t {x¯¯¯i,t} xi C 5n+1
Jede Variablenmenge { x i , ¯ x i , f i , t } ist die Vereinigung von drei Mengen: das Paar, bestehend aus dem wahren Literal und t , plus zwei Singleton-Mengen, eine für jedes der beiden anderen Elemente. (ZB { ¯ x i , t } , { x i } , { f i } .){xi,x¯¯¯i,fi,t} t {x¯¯¯i,t},{xi},{fi}
Jede Klauselmenge (zB { x 1 , ¯ x 2 , x 3 , t } ) ist die Vereinigung von drei Mengen: Ein Paar bestehend aus t und einem wahren Literal plus zwei Singleton-Mengen, eine für jede der beiden anderen Literale. (ZB { x 1 , t } , { ¯ x 2 } , { x 3 } .){x1,x¯¯¯2,x3,t} t {x1,t},{x¯¯¯2},{x3}
(if) Angenommen, es gibt eine Lösung C der Größe 5 n + 1 . Die Lösung muss die Singleton-Mengen 3 n + 1 sowie weitere Mengen mit einer Gesamtgröße von 2 n enthalten .C 5n+1 3n+1 2n
Betrachten wir zunächst die n "variable" Sätze, die jeweils der Form { x i , ¯ x i , f i , t } . Das Set ist die disjunkte Vereinigung von höchstens drei Sätzen in C . Ohne Verlust der Allgemeinheit handelt es sich um die disjunkte Vereinigung von zwei Singuletten und einem Paar (andernfalls wird dies durch Aufteilen von Mengen in C erreicht, ohne die Kosten zu erhöhen). Bezeichne das Paar P i . Die Paare P i und P j für verschiedene Variablen x i und x j sind unterschiedlich, weiln {xi,x¯¯¯i,fi,t} C C Pi Pi Pj xi xj PiPi contains xixi , ¯xix¯¯¯i , or fifi but PjPj does not. Hence, the sum of the sizes of these pairs is 2n2n . So these pairs are the only non-singleton sets in the solution.
Next consider the "clause" sets, e.g, {xi,¯xj,xk,t}{xi,x¯¯¯j,xk,t} . Each such set must be the union of at most three sets in CC , that is, up to two singleton sets and at least one pair Pi, Pj, or Pk. By inspection of the pairs and the clause set, it must be the union of two singletons and one pair, and that pair must be of the form {xi,t} or {¯xj,t} (a literal and t).
Hence, the following assignment satisfies ϕ: assign true to each variable xi such that Pi={xi,t}, assign false to each variable xi such that Pi={¯xi,t}, and assign the remaining variables arbitrarily.
Stage 2. The instance (F,U,k=3) produced above does not satisfy the constraint ei∈Fi stated in the problem description. Fix that shortcoming as follows. Order the sets Fi and elements ei in U so that each singleton set corresponds to its element ei. Let m be the number of clauses in ϕ, so |F|=1+4n+m and |U|=1+3n.
Let (F′,U′,k′=4) denote the instance obtained as follows. Let A be a set of 2n+2m new artificial elements, two for each non-singleton set in F. Let U′=U∪A. Let F′ contain the singleton sets from F, plus, for each non-singleton set Fi in F, two sets Fi∪{ai,a′i} and {ai,a′i}, where ai and a′i are two elements in A chosen uniquely for Fi. Now |F′|=|U′|=1+5n+2m and (with the proper ordering of F′ and U′) the constraint e′i∈F′i is met for each set F′i.
To finish, note that (F′,U′,k′=4) has a solution of cost |A|+5n+1 iff the original instance (F,U,k=3) has a solution of cost 5n+1.
(if) Given any solution C of cost 5n+1 for (F,U,k=3), adding the n+m sets {ai,a′i} (one for each non-singleton Fi, so these partition A) to C gives a solution to (F′,U′,k′=4) of cost |A|+cost(C)=|A|+5n+1.
(only if) Consider any solution C′ for (F′,U′,k=4) of cost |A|+5n+1. Consider any pair of non-singleton sets Fi∪{ai,a′i} and {ai,a′i} in F′. Each is the disjoint union of at most 4 sets in C′. By a local-exchange argument, one of these sets is {ai,a′i} and the rest don't contain ai or a′i --- otherwise this property can be achieved by a local modification to the sets, without increasing the cost... (lack of detail here is why I'm calling this a proof sketch). So removing the {ai,a′i} sets from C′ gives a solution C for (F,U,k=3) of cost 5n+1. ⋄
quelle