Quelles sont les différences entre NP, NP-Complete et NP-Hard?

Quelles sont les différences entre NP , NP-Complete et NP-Hard ? Je connais de nombreuses ressources sur le Web. J'aimerais lire vos explications, et la raison en est qu'elles peuvent être différentes de ce qui existe, ou qu'il y a quelque chose que je ne connais