Et problem er kategorisert som NP-komplett dersom det har følgende to egenskaper: Enhver gitt løsning av problemet kan kontrolleres raskt (i polynomisk tid), det vil si at problemet ligger i kompleksitetsklassen NP. ethvert annet NP-problem kan konverteres til problemet ved en modifisering av inputdataene. Dette betyr at dersom ett av de NP-komplette problemene kan løses raskt, så kan alle NP-komplette problemer løses raskt.