Sto studiando la complessità computazionale e mi chiedevo perché i problemi NP-Complete (NPC) siano una classe importante. Trovo ovvio perché siamo interessati a mostrare che un dato problema NP è NP-difficile.
Comprendo anche la definizione di NPC e che mostrare un determinato problema decisionale è NP-difficile, sapendo che è in NP, è esattamente ciò che significa NPC.
Tuttavia, ciò che non capisco è: perché questo concetto è così importante? Sicuramente, se troviamo qualsiasi algoritmo NP-hard che viene eseguito in tempo P (o meno che è in NP), abbiamo dimostrato che .
Perché questo concetto è così importante?