Je to trochu jinak :
NP znamená, že je dokáže řešit nedeterministický Turingův stroj v polynomiálním čase. Já si to představuju pomocí křišťálové koule, která u každého ifu řekne, kudy se vydat. Bez koule je třeba vyzkoušet všechny možnosti a to je exponenciální počet možných kombinací. Obchodní cestující, barvení grafu a podobně jsou NP.
P znamená polynomiální čas u detetministického stroje. Složitost kvadratická, kubická a i vyšší mocniny patří do P. Nedeterministický TS zvládne i tohle, takže P je podmnožina NP.
Těžký/úplný není o jednom problému, ale o převádění problémů mezi sebou.
NP-těžký - jakýkoliv NP problém jde převést na tenhle. NP-těžký problém může být NP nebo i náročnější.
NP-úplný - NP-těžký problém, který je sám NP. Všechny NP-úplné jsou i NP-těžké. Obchodní cestující, barvení grafu, atd. jsou všechny NP-úplné, protože jsou samy NP.
U isomorfismu grafů se momentálně neví, jak to přesně je. Nedeteministický TS to řešit umí, takže je určitě NP nebo lepší. Ještě nikdo nedokázal, jestli to náhodou nejde i deterministickým TS. Možná je to jen P, akorát se to ještě neví. Čeká se buď na to, že někdo najde algoritmus v P, nebo na to že někdo zvládne převést nějaký NP-úplný problém na hledání izomorfismu a pak bude jasné, že je to NP-úplné.