Lemma. Il problema è NP-difficile.
Schizzo di prova. Ignoriamo i vincoli | F i | ≪ n = | U | nel problema pubblicato, perché, per qualsiasi istanza ( F , U , k ) del problema, l'istanza ( F ′ = F n , U ′ = U n , k ) ottenuta ottenendo l'unione di n copie indipendenti di ( F , U , k ) (dove l' i|Fi|≪n=|U|(F,U,k)(F′=Fn,U′=Un,k)n(F,U,k)ith copia F utilizza i esima copia di U come insieme di base) è equivalente, e soddisfa il vincolo (ha | F ' i | ≤ n « n 2 = | U ' | ).FiU|F′i|≤n≪n2=|U′|
Diamo una riduzione da 3-SAT. Per la presentazione, nella prima fase della riduzione, ignoriamo i vincoli e i ∈ F i nel problema pubblicato. Nella seconda fase descriviamo come soddisfare tali vincoli mantenendo la correttezza della riduzione.ei∈Fi
Primo stadio. Correggi qualsiasi formula 3-SAT ϕ . Supponiamo che in WLOG ogni clausola abbia esattamente tre letterali (ognuno con una variabile diversa). Produrre la seguente istanza ( F , U , k ) del problema pubblicato, con k = 3 .ϕ(F,U,k)k=3
Sia n il numero di variabili in ϕ . Ci sono 3 n + 1 elementi in U : un elemento t (per "vero") e, per ogni variabile x i in ϕ , tre elementi x i , ¯ x i ed f i (per "falso").nϕ3n+1Utxiϕxix¯¯¯ifi
Per ogni elemento in U è un insieme singoletto contenente solo tale elemento F . Qualsiasi soluzione C include pertanto ciascuna di tali insiemi, che contribuiscono loro dimensione totale 3 n + 1 al costo di C .UFC3n+1C
Inoltre, per ogni variabile x i in φ c'è un set "variabile" { x i , ¯ x i , f i , t } in F . Per ciascuna clausola φ c'è un set "clausola" in F composto dai letterali nella clausola, e t . Ad esempio, la clausola x 1 ∧ ¯ x 2 ∧ x 3 restituisce il set { x 1 , ¯ x 2 , xxiϕ{xi,x¯¯¯i,fi,t}FϕFtx1∧x¯¯¯2∧x33 , t } in F .{x1,x¯¯¯2,x3,t}F
Rivendicazione 1. La riduzione è corretta: ϕ è soddisfacente se una soluzione C ha un costo ∑ j | C j | = 5 n + 1 .ϕC∑j|Cj|=5n+1
(solo se) Supponiamo che ϕ sia soddisfacente. Costruire una soluzione C costituito dalle 3 n + 1 insiemi singoletto, inclusa, per ogni variabile x i , la coppia costituita dal vero letterale e t . (Ad esempio, { ¯ x i , t } se x i è falso.) Il costo di C è quindi 5 n + 1 . ϕC3n+1xit{x¯¯¯i,t}xiC5n+1
Ogni set di variabili { x i , ¯ x i , f i , t } è l'unione di tre insiemi: la coppia costituita dal vero valore letterale t , più due insiemi singleton, uno per ciascuno degli altri due elementi. (Ad esempio, { ¯ x i , t } , { x i } , { f i } .){xi,x¯¯¯i,fi,t}t{x¯¯¯i,t},{xi},{fi}
Ciascun set clausola (ad esempio { x 1 , ¯ x 2 , x 3 , t } ) è l'unione di tre serie: una coppia costituita da t e un vero letterale, più due insiemi singoletto, uno per ciascuno degli altri due letterali. (Ad esempio, { x 1 , t } , { ¯ x 2 } , { x 3 } .){x1,x¯¯¯2,x3,t}t{x1,t},{x¯¯¯2},{x3}
(se) Supponiamo che esista una soluzione C di dimensioni 5 n + 1 . La soluzione deve contenere i set singleton 3 n + 1 , oltre ad altri set di dimensioni totali 2 n .C5n+13n+12n
Considera innanzitutto i n set di "variabili", ciascuno dei moduli { x i , ¯ x i , f i , t } . Il set è l'unione disgiunta di al massimo tre set in C . Senza perdita di generalità, è l'unione disgiunta di due singoli e una coppia (altrimenti, dividere i set in C raggiunge questo obiettivo senza aumentare il costo). Indica la coppia P i . Le coppie P i e P j per diverse variabili x i e x j sono distinte, perchén{xi,x¯¯¯i,fi,t}CCPiPiPjxixjP i contiene x i , ¯ x i o f i ma P j no. Quindi, la somma delle dimensioni di queste coppie è di 2 n . Quindi queste coppie sono gli unici insiemi non singleton nella soluzione. Pixix¯¯¯ifiPj2n
Quindi prendere in considerazione le serie di "clausole", ad esempio { x i , ¯ x j , x k , t } . Ciascuno di questi insiemi deve essere l'unione di al massimo tre insiemi in C , ovvero fino a due insiemi singleton e almeno una coppia P i , P j o P k . Ispezionando le coppie e il set di clausole, deve essere l'unione di due singleton e una coppia e quella coppia deve essere nella forma { x i , t } o { ¯ x j , t }{xi,x¯¯¯j,xk,t}CPiPjPk{xi,t}{x¯¯¯j,t}(letterale e t ).t
Quindi, la seguente assegnazione soddisfa ϕ : assegnare true a ciascuna variabile x i tale che P i = { x i , t } , assegnare false a ciascuna variabile x i tale che P i = { ¯ x i , t } e assegnare il variabili rimanenti arbitrariamente.ϕxiPi={xi,t}xiPi={x¯¯¯i,t}
Fase 2. L'istanza ( F , U , k = 3 ) prodotta in precedenza non soddisfa il vincolo e i ∈ F i indicato nella descrizione del problema. Correggere tale difetto come segue. Ordinare gli insiemi F i e gli elementi e i in U in modo che ciascun insieme singleton corrisponda al suo elemento e i . Sia m il numero di clausole in ϕ , quindi | F | = 1 + 4 n +(F,U,k=3)ei∈FiFieiUeimϕm e | U | = 1 + 3 n .|F|=1+4n+m|U|=1+3n
Let ( F ′ , U ′ , k ′ = 4 ) indica l'istanza ottenuta come segue. Lasciate Un un insieme di 2 n + 2 m nuovi elementi artificiali, due per ogni insieme non singoletto in F . Let U ' = U ∪ A . Lascia che F ′ contenga i set singleton di F , più, per ogni set non singleton F i in F , due set F i ∪ { a(F′,U′,k′=4)A2n+2mi , un ' i } e { un io , un ' i } , dove un io e un ' io sono due elementi A scelti unicamente per F i . Adesso | F ′ | = | U ′ | = 1 + 5 n + 2 m e (con il corretto ordinamento di F ′ e U ′ ) il vincolo e′ I ∈F ′ i è soddisfatto per ogni setF ′ i .
Per finire, nota che ( F ′ , U ′ , k ′ = 4 ) ha una soluzione di costo | A | + 5 n + 1 iff l'istanza originale ( F , U , k = 3 ) ha una soluzione del costo 5 n + 1 .
(if) Data una soluzione C di costo 5 n + 1 per ( F , U , k = 3 ) , aggiungendo gli insiemi n + m { a i , a ′ i } (uno per ogni F i non singleton , quindi questi la partizione da A ) a C fornisce una soluzione a ( F ′ , U ′ , k ′ = 4 ) del costo| A | + c o s t ( C ) = | A | + 5 n + 1 .
(solo se) Considera qualsiasi soluzione C ′ per ( F ′ , U ′ , k = 4 ) del costo | A | + 5 n + 1 . Considera qualsiasi coppia di insiemi non singleton F i ∪ { a i , a ′ i } e { a i , a ′ i } in F ′ . Ognuno è l'unione disgiunta di al massimo 4 set in C′ . Da un argomento locale di scambio, uno di tali gruppi è { un i , un ' i } e il resto non contengono un io o un ' i --- altrimenti questa struttura può essere ottenuto mediante una modifica locale agli insiemi, senza aumentare il costo ... (la mancanza di dettagli qui è il motivo per cui lo chiamo unoschizzo diprova). Quindi la rimozione deiset { a i , a ′ i } da C ′ fornisce una soluzione C per ( F , U ,k = 3 ) del costo 5 n + 1 . ⋄