La durezza salta nella complessità computazionale?


34

Il problema minimo della larghezza di banda è trovare un ordinamento di nodi del grafico su una linea intera che minimizzi la distanza maggiore tra due nodi adiacenti. Un bruco k è un albero formato dal percorso principale crescendo al limite di percorsi disgiunti di lunghezza al massimo k dai suoi nodi ( k è chiamato la lunghezza dei capelli). Il problema di larghezza di banda minima è in P per i 2 trattori a cingoli ma è NP completo per i 3 trattori a cingoli.

Ecco un fatto molto interessante, il problema della larghezza di banda minima è risolvibile in tempo polinomiale per bruchi a 1 (lunghezza dei capelli al massimo uno) ma è NP completo per bruchi a 1 ciclico (nel bruco ciclico, viene aggiunto un bordo per collegare il punti finali del percorso principale). Quindi, l'aggiunta di esattamente un bordo rende il problema NP completo.

Qual è l'esempio più eclatante di salto di durezza del problema in cui una piccola variazione dell'istanza di input provoca un salto di complessità dalla solvibilità del tempo polinomiale alla completezza di NP ?


6
Permanente vs determinante. Questi sono due problemi diversi (quindi immagino che non si qualifichi come una risposta) ma il salto di durezza è abbastanza sorprendente.
Jagadish,

@Jagadish, sono d'accordo. Tuttavia, penso che tu possa pubblicarlo come risposta.
Mohammad Al-Turkistany,

8
Il permanente di una matrice 0-1 può essere visto come il valore atteso del determinante della matrice quando le 1 voci sono sostituite da +1 o -1 a caso.
Dana Moshkovitz,

@Dana, potresti per favore rendere il tuo commento una risposta separata? (preferibilmente con un riferimento)
Mohammad Al-Turkistany il

Wiki della community?
Niel de Beaudrap,

Risposte:


46

Uno dei più interessanti esempi applicati di salti di durezza può essere osservato nel seguente problema:

Considera un campionato di calcio con n squadre: il problema di decidere se una determinata squadra può (ancora) vincere la lega è in P se in una partita, alla squadra vincente vengono assegnati 2 punti, la perdita di uno 0 e ogni squadra viene premiata 1 punto in una partita di pareggio. Ma se cambiamo le regole in modo che la squadra vincente ottenga 3 punti, lo stesso problema diventa NP .

Il risultato può essere generalizzato per qualsiasi regola del punto (0,1,k) per ogni k>2 e anche per solo tre round rimanenti.

Fonte: "Complexity Theory" di Ingo Wegener ( http://portal.acm.org/citation.cfm?id=1076319 )


12
questo mi ricorda TSP: puoi ottenere un 1,5 circa con pesi che sono 1 o 2, ma non se i pesi sono 1 o 3
Suresh Venkat,

24

Questo risponde alla domanda posta nel titolo della domanda, ma non a quella posta nella domanda.

Un esempio scioccante di salto nella durezza nasce dalla domanda: "Quanti compiti soddisfacenti ha una formula planare, modulo ?" Questo è stato ampiamente ritenuto essere # P-difficile, ed è per "la maggior parte" dei valori di n , ma se n è un numero intero di Mersenne (ad esempio n = 7 , perché 7 è di forma 2 3 - 1 ), allora la risposta può essere calcolato in tempo polinomiale.nnnn=7231

Questo è stato scoperto per la prima volta da Valiant, nel suo rivoluzionario documento sugli algoritmi olografici.


4
Non è del tutto esatto. La formula non deve solo essere planare. Deve anche essere monotono, letto due volte e avere clausole size , dove n = 2 k - 1 . La presentazione di Valiant in Algoritmi olografici è di fissare la dimensione della clausola a k = 3 e quindi variare il modulo. Durezza caratteristica 0 (ovvero # P-harness) era nota. Valente provata durezza mod 2 e trattabile mod 7. Notare che questa durezza è P = # 2 D durezza, non # P-durezza. Credo che la complessità mod altri valori sia aperta. Più tardi, Jin-Yi Cai e Pinyan Lu hanno dato la tracciabilità per tutti i k .kn=2k1k=3P=#2Pk
Tyson Williams,

2
Per ulteriori informazioni al riguardo, compresi i riferimenti cartacei, vedere la storia di Holographic_algorithm # su Wikipedia.
Tyson Williams,

21

SET INDIPENDENTE è NP-completo per grafici (croce, triangolo) senza grafici , ma può essere risolto in tempo lineare per grafici (sedia, triangolo) . (I grafici senza X sono quelli che non contengono alcun grafico di X come un sottografo indotto.)

sedia: immagine del grafico della sedia da ISGCI triangolo: immagine del grafico a triangolo di ISGCI croce:immagine del grafico a croce di ISGCI

Si noti che la croce è ottenuta dalla sedia aggiungendo un bordo singolo.


12
Che dire di questo esempio più semplice: SET INDIPENDENTE è NP-c per grafici senza , ma può essere risolto in tempo lineare per grafici con K 1 , 3 (cioè senza artigli). K1,4K1,3
vb, il

19

Non sono sicuro che acconsentirei alla tua caratterizzazione secondo cui l'aggiunta di un singolo fronte all'input rende completo il problema NP, dal momento che uno consente effettivamente di aggiungere un bordo a ciascuna delle infinite istanze di input.

Ecco un esempio di un problema che mostra una forte dicotomia lungo le linee che suggerisci.

Il problema di determinare se esiste un omomorfismo grafico dal grafico di input G a un grafico di modello fisso H è in P quando H è un grafico con un self-loop o è un grafico loopless bipartito. Quando H non è bipartito (ciò può essere spesso ottenuto aggiungendo un singolo bordo), il problema diventa NP-completo.

La chiave qui è che la colorazione 2 è in P (questo corrisponde a un omomorfismo a , il percorso su 3 vertici), mentre la 3 colorazione è NP-completa (questo corrisponde a un omomorfismo a K 3 , il triangolo).P3K3


14

Ecco un altro esempio interessante, sollevato nel rilevamento indotto del sottografo:

Un theta è un grafico con vertici non adiacenti x,y , tre percorsi P1,P2,P3 da x a y , dove due percorsi qualsiasi inducono un ciclo con lunghezza maggiore di 3.

Una piramide è un grafico con un vertice x , un triangolo y1,y2,y3 e percorsi Pi da x a yi per ciascuno io=1,2,3 , con al massimo un percorso con lunghezza uno.

Infine, un prisma è un grafico con due triangoli X1,X2,X3 e y1,y2,y3 e percorsi Pio da Xio a yio per ciascuno io=1,2,3 .

È facile da descrivere in cifre:

theta, prisma e piramide

Per rilevare il theta e la piramide indotti, è noto che si trova in tempi polinomiali. (In effetti, l'algoritmo più noto per theta richiede O(n11) tempo e per la piramide prende O(n9) .) Ma per rilevare un prisma indotto, il problema diventa NP-difficile.

Si può vedere " Rilevazione dei sottografi indotti " di Leveque, Lin, Maffray e Trotignon come riferimento. Il motivo per cui theta e piramide sono relativamente facili è legato al problema del "tre in un albero", descritto in " Il problema dei tre in un albero " di Chudnovsky e Seymour.


13

ehm ... sono sicuro che stai cercando esempi meno banali ... ma vorrei sottolineare che c'è qualcosa di speciale nel numero vs 3 . 2 - S A T a 3 - S A T , 2 - C O L vs 3 - C O L , ecc. Intuitivamente, ho sempre pensato che fosse perché un nodo con al massimo 2 bordi può formare al massimo una linea, ma un nodo con 3 spigoli può formare un albero, quando ci muoviamo da 2-3 otteniamo un'esplosione combinatoria.232SAT3SAT2COL3COL


9
d'altra parte, MAX 2SAT è difficile. quindi 2 non è così speciale.
Suresh Venkat,

1
2 E la perfetta completezza sembra comunque speciale. :)
Daniel Apon,

Inoltre, abbinamento perfetto 2D vs abbinamento perfetto 3D.
Mohammad Al-Turkistany,

13

Penso che non abbia molto senso parlare di casi. Possiamo parlare di due distribuzioni di istanze di input con diverse difficoltà, ma sarebbe più interessante se ci fosse una relazione tra la distribuzione o tra istanze nelle distribuzioni.

Possiamo considerare una famiglia di distribuzioni con parametri e quindi parlare di cosa succede quando cambiamo il parametro. Potresti essere interessato a quello che viene chiamato il fenomeno della soglia , "in cui un sistema subisce un rapido cambiamento qualitativo a seguito di una piccola modifica in un parametro ...". Dai un'occhiata a questo sondaggio: Ehud Friedgut , "A caccia di soglie acute ", Random Structures Algorithms 26, 2005.

Penso che uno degli esempi più sorprendenti e belli sia il k-SAT casuale con densità di clausola , la transizione di fase è davvero sorprendente.Δ


11

L'inferenza dei tipi per i termini lambda è DEXPTIME-completo con prenex e sistemi di tipo polimorfici di grado 2 (quando i quantificatori di tipo sono nidificati a una profondità massima di un livello), ma diventa indecidibile per il livello 3 e superiore. È strano che un ulteriore livello di annidamento possa rendere un problema indecidibile.


10

Trovare lo stato fondamentale del modello Ising planare con campo magnetico 0 è in P, con campo magnetico diverso da zero è NP-difficile. La funzione di partizione del modello Ising planare con campo magnetico 0 è in P, con campo magnetico diverso da zero è NP-difficile.


9

Ecco un bel problema con un interessante salto di complessità come la larghezza di banda minima che hai affrontato nella tua domanda.

Lasciate un grafo e T un albero di copertura di G . La deviazione di un bordo u v E ( G ) è l'unico u - v percorso T . La congestione di e E ( T ) , indicata da c n g G , T ( e ) è il numero di deviazioni che contengono e . La congestione di G a T , indicato con c n g GGTGuvE(G)uvTeE(T)cngG,T(e)eGT , è la congestione massima su tutti i bordi a T . La congestione albero di copertura di G , indicato con s t c ( G ) , è la congestione minimo su tutti spanning tree di G . Il problema Congestion Spanning Tree chiede se un dato grafico ha al massimo spaning congestionamento dell'albero al massimo alcuni dati k .cngG(T)TGstc(G)Gk

Il seguente salto di complessità è mostrato in: Bodlaender et al., Complessità parametrizzata del problema di congestione dello Spanning Tree , Algorithmica 64 (2012) 85-111 :

Per ogni e d fisso il problema è risolvibile in tempo lineare per i grafici di grado al massimo d . Al contrario, se ammettiamo solo un vertice di grado illimitata, il problema diventa immediatamente N P -complete per ogni fissato k 8 .kddNPk8


8

Mi chiedo perché nessuno abbia menzionato questo:

Horn-Sat vs K-Sat

Immagino che tutti sappiano cos'è. Altrimenti:

Horn-Sat è per verificare se una serie di clausole di corno è soddisfacente (ogni clausola ha al massimo 1 letterale positivo).

K-Sat è per verificare se un insieme di clausole è soddisfacente (ogni clausola può avere più di 1 letterali positivi).

Pertanto, consentire più di un letterale positivo in ciascuna clausola rende il problema da NPP completo a NP.


7

Colorazione del grafico

Come menzionato in un'altra risposta, 2-COL è risolvibile in tempo polinomiale mentre 3-COL è NP-completo. Ma quando si aumenta il numero di colori, dopo alcuni punti (sconosciuti?) Il problema diventa più semplice!

Ad esempio, se abbiamo N vertici e N colori, il problema può essere risolto assegnando un colore diverso a ciascun vertice.


QUALSIASI grafico planare è a 4 colori. [1]: projecteuclid.org/DPubS/Repository/1.0/…
rphv

6

Allo stesso modo: permanente contro determinante.


3
La differenza tra perm e det è in realtà molto più significativa e di un tipo diverso rispetto agli altri salti di durezza discussi nella domanda e nelle altre risposte. La negazione è molto potente: in un certo senso è ciò che ci consente di calcolare det facilmente ma non perm; Valiant ha un articolo "La negazione può essere esponenzialmente potente" portal.acm.org/citation.cfm?id=804412 ; molti limiti inferiori sono noti per la complessità monotona (anche nel modello algebrico, in cui la monotonicità esclude negazioni e costanti negative), ma pochissimi di questi si traducono in complessità non monotona.
Joshua Grochow,

3
Un altro esempio: la negazione è necessaria anche per l'algoritmo di Strassen per la moltiplicazione delle matrici 2x2. Senza di esso non puoi battere il banale algoritmo per moltiplicare le matrici 2x2.
Joshua Grochow,

6

Ho appena letto un documento che tratta del partizionamento ipergrafico . Il problema è definito come questo, citando:

kl1l<kPklH=(V,E)t1,,tk|V|=n=i=1kti|E|=mVkt1,,tk such that the vertices of each hyperedge in E are coloured with at most l colours?

In general, it is proven that:

  • Pk1 is solvable in polynomial time (in n,m) for fixed k2
  • Pkl is NP-complete for all fixed 2l<k

If this is not "jump" enough, read on. For hypergraphs with disjoint hyperedges, it is shown:

  • Pk1 is NP-complete for all fixed k2
  • Pkl is solvable in linear time (in m) for fixed 2l<k

Laurent Lyaudet. 2010. NP-hard and linear variants of hypergraph partitioning. Theor. Comput. Sci. 411, 1 (January 2010), 10-21. http://dx.doi.org/10.1016/j.tcs.2009.08.035


5

Interesting complexity jumps are known for the job shop scheduling problem.

In the job shop problem we have a set of n jobs that must be processed on a given set M of m machines. Each job j consists of a chain of μj operations O1j,O2j,,Oμjj. Operation Oij must be processed during pij time units without interruption on machine mijM. A feasible schedule is one in which operation is scheduled only after all its preceding operations have been completed, and each machine processes at most one operation at a time. For any given schedule, let Cj be the completioon time of the last operation of job j. Taken here.

There are such objectives as minimizing the makespan Cmax=maxjCj and total completion time Cj. Regular criteria are defined here.

In the notation of Graham et al. this problem is denoted as J||γ, where γ denotes the objective function to be minimized.

J2|n=k|F and J|n=2|F are polynomially solvable. Here J2 (n=k) means that the number of machines (jobs) is fixed and equals 2 (k). F means an arbitrary regular criterion.

J3|n=3|Cmax, J3|n=3|C are weakly NP-hard.

J2||Cmax, J2||C are strongly NP-hard.

Thus, here we can see that there is a jump when we go from two jobs/machines to three.


1
Good, I'm confused with the special terminology. Could you please simplify the terminology (or even better remove it)?
Mohammad Al-Turkistany

1

In many cases, approximating NP-optimization problems give rise to sharp complexity jumps. For example, SET COVER can be approximated within a factor of lnn in polynomial time (by the Greedy Algorithm), but it is NP-hard to approximate within a factor of (1o(1))lnn.


0

I think the pascal triangle would be it. Each row in the pascal triangle sums to 2n. The elements are binomial coefficients. So if you find a problem whose performance can be described using binomial coefficients, then simply solving all such problems associated to the n'th row of the pascal triangle already takes 2n. But note that (a+b)n=i0..n(ni)aibni can be represented as a polynomial (of 'a') that has binomial coefficient times powers of 'b' as factors. If 'b' is constant this is a n'th order polynomial pb(a). Setting a=b=1 you get expansion of 2n=p1(1) as a sum. Now suppose you have a matrix of problems with performance in two variables proportional to binomial coefficients (compared to problem size described by two variables) arranged like a pascal triangle. Then solving all problems in n'th row must take DTIME(2n). I coefficienti binomiali descrivono quanti modi diversi ci sono per scegliere combinazioni k da n elementi. Quindi, se il tuo algoritmo dipende dall'enumerazione delle combinazioni k di n elementi (K<n)l'algoritmo non può essere tempo polinomiale. Perché se questo problema era il tempo polinomiale, allora l'argomento sopra dimostraP=NP=DTioME(2n), poiché la somma di due polinomi è un polinomio. Ma prove corrette diP=NP il problema in entrambi i casi è raro.

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.