A Polynomial Non Déterministe (NP) problem is a class of problems in théorie de la complexité computationnelle qui se caractérise par deux propriétés clés suivantes :
- Vérification : Given a proposed solution to an NP problem, it can be verified quickly (in polynomial time) si cette solution est correcte.
- Difficulté de recherche : Finding a solution may not be possible in polynomial time; it may require an recherche exhaustive d'un nombre possible de solutions.
In simpler terms, NP problems are those for which we can efficiently check the correctness of a solution, even though we may struggle to find that solution in the first place. A classic example is the Problème du voyageur de commerce, where finding the shortest possible route that visits a set of cities is computationally hard, but verifying a given route’s length is straightforward.
Les problèmes NP sont au cœur du domaine de l'informatique and have significant implications in various domains such as cryptography, optimization, and intelligence artificielle. Understanding whether NP problems can be solved in polynomial time (the famous P contre NP question) is one of the most important open questions in computer science. If it were proven that P = NP, it would mean that all problems whose solutions can be quickly verified could also be quickly solved. Conversely, proving that P ≠ NP would imply that there are inherent limits to what can be efficiently computed.