Il caso speciale
Supponiamo che vogliamo mostrare rispetto a qualche nozione di riduzione . Se è un caso speciale di , è piuttosto banale: possiamo essenzialmente usare la funzione identità. L'intuizione alla base di ciò è chiara: il caso generale è difficile almeno quanto il caso speciale. R L 1L1≤RL2RL1L2
In "pratica", ci viene dato e siamo bloccati dal problema di scegliere un buon partner di riduzione , ovvero trovare un caso speciale di che si è rivelato essere -hard.L 1 L 2 RL2L1L2R
Esempio semplice
Supponiamo di voler dimostrare che KNAPSACK è NP-difficile. Fortunatamente, sappiamo che SUBSET-SUM è NP-completo, ed è davvero un caso speciale di KNAPSACK. La riduzione
f( A , k ) = ( A , ( 1 , … , 1 ) , k , | A | )
suffissi; è l'istanza di KNAPSACK che ci chiede se possiamo ottenere almeno il valore con i valori dell'oggetto in modo che i pesi corrispondenti da rimangano sotto in totale. Non abbiamo bisogno delle restrizioni di peso per simulare SUBSET-SUM, quindi le impostiamo solo su valori tautologici.v V W w( V, W, v , w )vVWw
Problema di esercizio semplice
Considera il problema MAX-3SAT: data una formula proposizionale e intero , decidi se esiste un'interpretazione di che soddisfa almeno clausole. Mostra che è NP-difficile.k φ kφKφK
3SAT è un caso speciale; con sufficiente il numero di clausole in .m φf( φ ) = ( φ , m )mφ
Esempio
Supponiamo che stiamo studiando il problema SUBSET-SUM e vogliamo dimostrare che è NP-difficile.
Siamo fortunati e sappiamo che il problema di PARTITION è NP-completo. Confermiamo che si tratta davvero di un caso speciale di SUBSET-SUM e formulato
f( A ) = { ( A , 12Σa ∈ Aa )( A , 1 + ∑a ∈ A| a | ), ∑a ∈ Aun'mod2 = 0, altro
dove è l'insieme di input di PARTITION e è un'istanza per SUBSET-SUM che chiede dopo un sottoinsieme di somma a . Qui, dobbiamo occuparci del caso che non ci sia adatto ; in tal caso, forniamo un'istanza arbitraria non fattibile.UNA k k( A , k )UNKK
Problema di esercizio
Considera il problema LONGEST-PATH: dato un grafico diretto , nodi di e numero intero , decidi se esiste un percorso semplice da a in di lunghezza almeno .s , t G ksols , tsolKt G kStsolK
Mostra che LONGEST-PATH è NP-difficile.
HAMILTON-CYCLE è un noto problema NP-completo e un caso speciale di LONGEST-PATH; per nodo arbitrario in sufficiente.
Nota in particolare come ridurre da HAMILTON-PATH richiede più lavoro.v Gf( G ) = ( G , v , v , n )vsol