Kernel polinomiale per


10

Il problema con k-FLIP SAT parametrizzato è definito come:

Input: una formula 3-CNF con n variabili e un'assegnazione di verità σ : [ n ] { 0 , 1 } Parametro: k Domanda: possiamo trasformare l'assegnazione σ in un'assegnazione satura σ per φ lanciando il valore di verità di al massimo k variabili?φnσ:[n]{0,1}
k
σσφ k

Il problema è chiaramente in FPT ( Stefan Szeider: la complessità parametrizzata della ricerca locale k-Flip per SAT e MAX SAT. Ottimizzazione discreta 8 (1): 139-145 (2011) )

Ammette un kernel polinomiale? (sotto ipotesi di complessità ragionevole)

Le recenti tecniche di composizione incrociata (vedi Hans L. Bodlaender, Bart MP Jansen, Stefan Kratsch, "Kernelization Lower Bounds By Cross-Composition" ) sembrano inutili per questo problema. E sembrano anche inutili per problemi simili che chiedono se una determinata soluzione a un problema NP-difficile può essere trovata da una determinata istanza tramite la ricerca locale (limitando la ricerca ai vicini di quella determinata istanza, sotto una misura di distanza naturale).


Fantastico, ma perché questo problema è chiaramente FPT? Se lo fai 2-CNF con esattamente k lanci variabili anziché al massimo, allora credo che il problema sia fpt-equivalente a k-clique. Ho lavorato su un documento che include alcuni risultati su problemi di tipo k-flip.
Michael Wehar,

Penso che dire che è in FPT significa che è risolvibile in volta. f(k)nO(1)
Michael Wehar,

Penso che dire che è in XP significa che è risolvibile in tempo. nf(k)
Michael Wehar,

Non conosco la relazione tra il problema esatta-k-Flip e il problema massimo-k-Flip. Inizialmente pensavo che stavi dicendo che il problema atmost-k-flip è più semplice, nel senso che at-k-flip è FPT. Dico più facilmente perché esatta-k-flip non può essere FPT a meno che ETH sia falso. La ragione di ciò è perché è equivalente a k-clique ed è noto che algoritmi temporali per k-clique implicano che ETH sia falso. f(k)nO(1)
Michael Wehar,

1
@MichaelWehar: ops, hai ragione (elimino il commento stolto sbagliato), la domanda deve essere risolta (ho definito il problema come "al massimo k FLIPS"). Appena possibile darò un'occhiata ai lavori (uno di questi dovrebbe essere Stefan Szeider, "La complessità parametrizzata della ricerca locale di k-Flip per SAT e MAX SAT") in cui si dice che k-FLIP SAT è FPT per clausole con dimensioni limitate.
Marzio De Biasi,

Risposte:


12

Il problema non ha un kernel polinomiale a meno che NP non sia in coNP / poly. La tecnica di composizione incrociata del nostro documento si applica in modo non banale.

Permettetemi di mostrare come il classico problema di Vertex Cover OR-cross-compone nel problema k-FLIP-SAT; dai risultati nel documento citato, questo è sufficiente. Concretamente, costruiamo un algoritmo del tempo polinomiale il cui input è una sequenza di istanze di Vertex Cover che condividono tutti lo stesso valore di k e tutti hanno esattamente n vertici. L'output è un'istanza di k -FLIP SAT con un valore di parametro di O ( k +(G1,k),(G2,k),,(Gt,k)knk , sufficientemente piccolo per una composizione incrociata, in modo tale che l'istanza k -FLIP SAT abbia risposta sì se uno dei grafici di input ha una copertura del vertice di dimensione k . Duplicando un input (che non cambia il valore dell'OR) possiamo garantire che il numero di input t sia una potenza di due.O(k+logt)kkt

La composizione procede come segue. Numerare i vertici nel grafico di ciascun grafico di input come v i , 1 , v i , 2 , , v i , n . Creare una variabile corrispondente nell'istanza FLIP-SAT per ciascun vertice di ciascun grafico di input. Inoltre, creare una variabile di selezione u i per ciascun numero di istanza di input i [ t ] . Per ogni grafico di input G i , aggiungiamo alcune clausole alla formula. Per ogni bordo { v i , xGivi,1,vi,2,,vi,nuii[t]Gi del grafico G i , aggiungi la clausola ( v i , xv i , y¬ u i ) alla formula, che codificherà "uno dei punti finali di questo bordo è impostato su vero, o l'istanza i non è attiva ". Nell'assegnazione iniziale, tutte le variabili del vertice sono impostate su false e tutte le variabili del selettore u i{vi,x,vi,y}Gi(vi,xvi,y¬ui)iuisono impostati su false, in modo che tutte queste clausole siano soddisfatte. Per incorporare il comportamento OR nella composizione, aumenteremo la formula per garantire che un'assegnazione soddisfacente imposti almeno un selettore su true e debba quindi formare anche una copertura del vertice del grafico selezionato.

Per essere sicuri di poter fare questa selezione mantenendo piccola la distanza di vibrazione rispetto al numero di input , usiamo la struttura di un albero binario completo con foglie a t , che ha il registro dell'altezza t . Numero le foglie da 1 a t e associare l' ho foglia -esimo alla variabile u i che controlla se l'ingresso i è attivo o meno. Creare una nuova variabile per ciascun nodo interno dell'albero binario. Per ciascun nodo interno, lascia che la sua variabile corrispondente sia xe che le variabili dei suoi due figli siano y e z . Aggiungi la clausola (ttlogt1tiuioioXyz alla formula che cattura l'implicazione ( x ( y z ) ) , applicando che x può essere vero solo se uno dei suoi figli è vero. Per completare la formula, aggiungi una clausola singleton che dice che la variabile del nodo radice dell'albero binario deve essere vera. Nell'assegnazione di verità iniziale, i valori di tutte le variabili per i nodi interni sono impostati su false, il che soddisfa tutte le clausole della formula ad eccezione della clausola singleton che richiede che il nodo radice dell'albero abbia la sua variabile true.(¬Xyz)(X(yz))X

Questo completa la descrizione della formula e l'assegnazione della verità. Impostare il parametro del problema FLIP DISTANCE su uguale ( k + log t + 1 ) , che è opportunamente delimitato per una composizione incrociata. Resta da dimostrare che possiamo capovolgere k ' variabili per rendere vera la formula se un grafico di input G i ha una copertura del vertice di dimensione k .K'(K+logt+1)K'solioK

Nella direzione inversa, supponiamo che ha un dimensione- k copertura dei vertici. Impostare le variabili k corrispondenti ai k vertici nella copertina su true capovolgendole. Impostare la variabile selettore u i true per codificare tale ingresso i è attivata e capovolgere le variabili dei log t nodi dell'albero binario interne sul percorso di foglia i alla radice true. È facile verificare che si tratti di un compito soddisfacente: le implicazioni nell'albero binario sono tutte soddisfatte, il valore del nodo radice è impostato su vero, le clausole che controllano i bordi di G i per isolioKKKuioiologtiosolio' resta soddisfatta perché u i ' rimane falso, mentre le clausole di grafo G i sono soddisfatti perché per ogni bordo abbiamo impostato almeno un endpoint vero.io'iouio'solio

Per la direzione in avanti, supponiamo che la formula possa essere soddisfatta lanciando al massimo variabili. Quindi dobbiamo capovolgere la variabile del nodo radice su true. Le implicazioni nell'albero binario impongono che almeno una variabile selettore di un foglio è impostata su true, dico u i . Per soddisfare le implicazioni codificati nel albero binario, tutti i nodi interni sul percorso da u i alla radice sono stati impostata su true, la contabilità per 1 + log t lanci. Poiché u i è impostato su true, le clausole create per il grafico G i non sono soddisfatte sul valore letteraleK+logt+1uiouio1+logtuiosolio , quindi sono soddisfatti perché uno dei punti finali di ogni bordo del G i è impostato su vero. Poiché almeno 1 + log t variabili dell'albero binario sono state capovolte, al massimo k le variabili di vertice sono capovolte su true in questa soluzione. Questo codifica una copertura del vertice di dimensione k in G i e dimostra che uno degli input è un'istanza YES. Questo completa la prova.¬uiosolio1+logtKKsolio


1
Questo documento fornisce maggiori conseguenze da tale compressione.

Grazie!!! (Ho rimosso immediatamente "et al." Dal riferimento ;-). Bella prova (IMO dovresti pubblicarla in un documento).
Marzio De Biasi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.