il faut prouver qu'il est complet dans la classe NP, c'est à dire qu'il permet (si on sait le résoudre) de résoudre tous les autres problèmes avec au plus un surcoût polynomial.
La classe NP est constituée de tous les problèmes résolubles avec un algorithme polynomial non-déterministe. Elle veut dire
Non-deterministic Polynomial Time et pas, comme on le croit trop souvent,
Non Polynomial Time. On ne sait pas si les problèmes de NP sont résolubles en temps polynomial (c'est la fameuse question "P = NP").
La méthode la plus simple pour prouver qu'un problème donné est NP-complet est souvent de montrer qu'on peut en déduire (polynomialement) la solution d'un autre problème NP-complet (on "réduit" le problème NP-complet connu vers notre problème). On utilise en général SAT ou 3-SAT qui sont des problèmes NP-complets "typiques" et souvent adaptés au problème donné. Il faut aussi montrer que le problème est dans NP, c'est-à-dire exhiber un algorithme non-déterministe polynomial (c'est là que les connaissances positives, comme les algorithmes que le PO cite, sont utiles).
Partager