C'est mon approche personnelle pour déterminer si un problème (c'est-à-dire une langue ) est NP-complet ou non. Si ces deux conditions sont vérifiées:L
- Je pense que tester si une instance est dans L implique que je dois vérifier toutes les combinaisonsIL
- et qu'il n'y a aucun moyen de diviser une telle combinaison en deux plus petites
alors peut très bien être NP-dur.L
Par exemple pour le problème de la somme des sous - ensembles , je dois lister tous les sous-ensembles de et vérifier s'il y en a un dont la somme est nulle. Puis-je diviser S en deux sous-ensembles plus petits S 1 et S 2 sur lesquels je vérifierai une propriété similaire? Humm ... pas vraiment. Peut-être que si je vérifiais toutes les combinaisons de S 1 et S 2 mais ce serait vraiment long ...SSS1S2S1S2
Habituellement, la capacité de se diviser en petits morceaux est un bon indicateur d'un problème en P. C'est l' approche diviser pour mieux régner . Par exemple, pour trouver le chemin le plus court entre deux points, vous pouvez utiliser la propriété que si le chemin le plus court de à C passe par B, il n'est pas plus long que le chemin le plus court de A à B plus le plus court de BACBABB à .C
Franchement, cette approche est très basique: j'essaie de trouver un algorithme (polynomial) pour le problème donné. Si je n'en trouve pas, le problème devient "difficile" à mon avis. Vient ensuite tout le raisonnement NP-complétude: vais-je pouvoir encoder un problème NP-complete existant dans celui-ci? (Et comme c'est généralement beaucoup plus difficile, j'essaie encore une fois de trouver un algorithme polynomial ..)
Je soupçonne que c'est la façon de penser habituelle. Il reste cependant assez difficile à appliquer sur des problèmes inconnus. Je me souviens personnellement d'avoir été surpris par l'un des premiers exemples de complétude de NP qui m'a été dit: le problème de la clique . Cela semblait si simple à vérifier! Je suppose donc que cette expérience y est pour beaucoup. L'intuition peut aussi parfois être inutile. Je me souviens avoir entendu plusieurs fois deux problèmes presque identiques, mais l'un était en P et l'autre avec une petite variation était NP-complet.
Je n'ai pas encore trouvé de bon exemple (j'ai besoin d'aide ici), mais c'est comme le problème de la correspondance par correspondance : c'est un problème indécidable mais certaines variantes sont décidables.