Perché i problemi NP-completi sono così diversi in termini di approssimazione?


22

Vorrei iniziare la domanda dicendo che sono un programmatore e non ho molti retroscena nella teoria della complessità.

Una cosa che ho notato è che mentre molti problemi sono NP-completi, se estesi a problemi di ottimizzazione, alcuni sono molto più difficili da approssimare di altri.

Un buon esempio è TSP. Sebbene tutti i tipi di TSP siano NP-completi, i corrispondenti problemi di ottimizzazione diventano sempre più facili da approssimare con successive semplificazioni. Il caso generale è NPO completo, il caso metrico è APX completo e il caso Euclideo in realtà ha un PTAS.

Questo mi sembra poco intuitivo, e mi chiedo se ci sia una ragione per questo.


2
Se vuoi leggere le basi, consulta la nostra domanda di riferimento . Per quanto riguarda la tua domanda, stai osservando la differenza tra problemi debolmente e fortemente NP-completi.
Raffaello

Risposte:


14

Uno dei motivi per cui vediamo diverse complessità di approssimazione per i problemi NP-completi è che le condizioni necessarie per NP-complete costituiscono una misura molto approssimativa della complessità di un problema. Potresti avere familiarità con la definizione di base di un problema essendo NP-completo:Π

  1. Π è in NP e
  2. Per ogni altro problema in NP, possiamo trasformare un'istanza di in un'istanza di in tempo polinomiale tale che è un'istanza sì di se e solo se è un'istanza sì di .x Ξ y Π y Π x ΞΞxΞyΠyΠxΞ

Considera la condizione 2: tutto ciò che serve è che possiamo prendere e trasformarlo in qualche che preservi la risposta sì / no "single-bit". Non ci sono condizioni, ad esempio, sulla dimensione relativa dei testimoni rispetto al sì o no (ovvero, la dimensione della soluzione nel contesto di ottimizzazione). Quindi l'unica misura utilizzata è la dimensione totale dell'input che dà solo una condizione molto debole sulla dimensione della soluzione. Quindi è abbastanza "facile" trasformare un in un .y Ξ ΠxyΞΠ

Possiamo vedere la differenza in vari problemi NP-completi osservando la complessità di alcuni semplici algoritmi. -Coloring ha una forza bruta (dove è la dimensione di input). Per -Dominating Set, un approccio di forza bruta prende . Questi sono, in sostanza, i migliori algoritmi esatti che abbiamo. -Vertex Cover ha comunque un algoritmo molto semplice (seleziona un bordo, ramo su quale endpoint includere, segna tutto coperto, continua fino a quando non hai bordi non marcati o non colpisci il tuo budget diO ( k n ) n k O ( n k ) k O ( 2 k n c ) kkO(kn)nkO(nk)kO(2knc)ke bactrack). Con riduzioni multiple del tempo polinomiale (riduzioni di Karp, cioè cosa stiamo facendo nella condizione 2 sopra), questi problemi sono equivalenti.

Quando iniziamo ad avvicinarci alla complessità con strumenti anche leggermente più delicati (complessità dell'approssimazione, complessità parametrizzata, qualsiasi altra non riesca a pensare), le riduzioni che usiamo diventano più rigorose, o meglio, più sensibili alla struttura della soluzione, e le differenze iniziano ad apparire; -Vertex Cover (come menzionato Yuval) ha una semplice approssimazione 2 (ma non ha un FPTAS a meno che alcune classi di complessità non collassino), -Dominating Set ha un algoritmo di approssimazione (ma no -approximation per alcuni ) e l'approssimazione non ha davvero senso per la versione diretta di -Coloring.k ( 1 + registro n ) ( c registro n ) c > 0 kkk(1+logn)(clogn)c>0k


13

O(logn)1/2+k/nkO(1) algoritmo di approssimazione.

Questi esempi non sono completamente inventati. I problemi di MAX-INDEPENDENT-SET (equivalente a MAX-CLIQUE) e MIN-VERTEX-COVER sono strettamente correlati: il complemento di un set indipendente è una copertura del vertice. Ma mentre il primo è difficile da approssimare, il secondo ha una semplice 2 approssimazione.

Le riduzioni che mostrano la durezza NP di un dato problema possono talvolta essere usate per mostrare anche la durezza di approssimazione, ma non è sempre così - dipende dalla riduzione. Ad esempio, la riduzione da MAX-INDEPENDENT-SET a MIN-VERTEX-COVER non implica la durezza di approssimazione di quest'ultimo problema, che è molto più facile da approssimare rispetto al primo.

Riassumendo, la durezza NP è solo un aspetto di un problema. La durezza dell'approssimazione è un aspetto diverso e dipende fortemente dalla nozione di approssimazione.


Sei d'accordo con l'affermazione intuitiva di Luke Mathieson secondo cui le riduzioni del karp sono intrinsecamente meno "delicate" delle riduzioni utilizzate per le classi di complessità dell'approssimazione? In caso contrario, hai buoni esempi (forse in altre classi di complessità come EXP) contro questa idea?
GregRos

PNPP=NP

5

Come approccio intuitivo, considera che le istanze di problemi NP completi non sono sempre difficili come il caso generale. La soddisfazione binaria (SAT) è NP-completa, ma è banale trovare la soluzione per A v B v C v D ... Gli algoritmi di complessità limitano il caso peggiore, non il caso medio, o addirittura il 90% .

Il modo più semplice per ridurre un problema NP completo a qualcosa di più semplice è semplicemente escludere le parti dure. È un imbroglio, sì. Ma spesso le parti rimanenti sono ancora utili per risolvere i problemi del mondo reale. In alcuni casi, la linea tra "facile" e "difficile è facile da tracciare. Come hai sottolineato per TSP, c'è una forte riduzione della difficoltà mentre si vincola il problema attorno a direzioni" normali "che si potrebbero pensare. Per altri problemi , è più difficile trovare modi utili nella vita reale per separare le parti facili e dure.

Per abbandonare totalmente il regno del CS e della matematica, considera una vecchia macchina. Il tuo amico vuole guidarlo. Se devi dirgli "Ehi, l'auto funziona perfettamente. Basta non prenderla oltre i 95 chilometri all'ora. C'è un brutto traballare che ti farà cadere dalla strada", probabilmente non è un grosso problema. Probabilmente il tuo amico voleva solo portarlo in giro per la città. Tuttavia, se devi dirgli "devi far passare la frizione proprio per andare dal 1 ° al 2 °, o il motore si spegne", potrebbe essere più difficile per il tuo amico usare l'auto in città senza un po 'di allenamento.

Allo stesso modo, se un problema NP completo diventa difficile solo in casi esotici, riduce la complessità piuttosto rapidamente quando si osservano i sottodomini. Tuttavia, se diventa difficile nei casi comuni, non ci sono così tanti sottodomini utili che evitano la parte difficile.


P=NP
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.