Migliorare la riduzione generica di Cook per Clique a SAT?


10

Sono interessato a ridurre -Clique in SAT senza rendere l'istanza molto più grande.k

Clique è in NP quindi può essere ridotto a SAT usando lo spazio logaritmico. La semplice riduzione del manuale di Garey / Johnson fa esplodere l'istanza a dimensioni cubiche . Tuttavia, -Clique è in P per ogni k fisso, quindi "dovrebbe" esserci una riduzione efficiente almeno per k fisso .kkk

Un modo per costruire la riduzione consiste nell'utilizzare le variabili SAT come vettore caratteristico , con una variabile impostata su true che indica che il vertice associato si trova nella cricca. Questa riduzione è naturale ma crea un'istanza SAT di dimensioni quadratiche se il grafico è scarso. Per un grafico sparso, sono necessarie quadraticamente molte clausole per imporre che in ogni coppia di vertici non adiacenti al massimo un vertice possa trovarsi nella cricca.

Proviamo a fare meglio di .O(n2)

La riduzione generica di Cook / Schnorr / Pippenger / Fischer funziona prendendo prima un NDTM polinomialmente limitato nel tempo che decide la lingua, simulando l'NDTM da un DTM ignaro, simulando l'oblio DTM da un circuito, e quindi simulando il circuito da un 3 -Istanza SAT. Ciò crea un'istanza 3-SAT di dimensione se il limite di tempo NDTM è t ( n ) . Il fattore log sembra inevitabile a causa delle spese generali durante la simulazione da parte di una macchina ignara. Per k -Clique uno sembra avere t (O(t(n)logt(n))t(n)k , che produce un'istanza 3-SAT della dimensione O ( n k ( log n + log k ) ) , che èquasilineareper k fisso. Nel suo articolo del 1988, Cook ha chiesto se esiste una riduzione generica migliore per le lingue in NP e, per quanto ne so, è ancora aperta. Tuttavia, Clique ha molta struttura, quindi forse si può fare di meglio in questo caso.t(n)=O(nk)O(nk(logn+logk))k

Esiste una riduzione migliore nota da Clique a SAT?

kk

(Ho lavorato con una riduzione che sembra evitare il fattore log, ma prima di sprecare più tempo sui dettagli gory per verificarne la correttezza, vorrei sapere se tale riduzione è già nota o se è improbabile che esistere.)


kk

kkk

klognklognkk

Risposte:


8

kO(nk)O(nk2)kn

xiv=1vixiink

(i,j)n(¬xiuxjv1xjvm)v1,,vmuuO(nk2)

ixixi<xi+1O(n)O(nk)


klgnlgnikk(k1)/2O((n+m+k2)poly(lgn))m=

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.