P contre NP, techniquement contre moralement
Comme Yuval l'a dit, il est possible que P = NP soit techniquement vrai mais moralement faux. P = NP est moralement vrai (même si pas nécessairement sur le plan technique) s'il y a un rapide algorithme déterministe (disons , ou peut - être même avec de petites constantes, rien comme ) qui résout l'un des fameux problèmes NP-complets comme SAT. IIRC, Russell Impagliazzo a dit qu'il considérerait le problème P vs NP essentiellement comme réglé si quelqu'un montre SAT peut être résolu en temps.O ( n lg * n ) 2 65 536 + 2 1024 n 256 O ( n lg n )O(n2)O(nlg∗n)265536+21024n256O(nlgn)
Alors que se passe-t-il si P = NP est moralement vrai?
Cela nous ramène à la raison pour laquelle NP est une classe de problèmes si intéressante. L'intuition en général est que nous voulons souvent trouver des objets de taille raisonnable (formalisés en tant que taille polynomiale) qui contiennent une propriété et que la propriété est facile à vérifier (formalisée sous la forme calculable en temps polynomial). Cette catégorie de problèmes englobe presque tous les problèmes qui nous intéressent. Pour aller au-delà, vous devez penser aux interactions entre les joueurs, comme les jeux. Le nombre de problèmes naturels intéressants qui ne se trouvent pas dans le NP (ou le PH ) est très petit comparé aux problèmes naturels intéressants du NP . Si P = NP est moralementQQQvrai alors tous ces problèmes peuvent être résolus très rapidement. Juste pour donner un exemple, vous pouvez apprendre les meilleurs poids pour des modèles d’apprentissage automatique très compliqués. Vous pouvez rompre les protocoles de cryptage.
Comparaison avec le cas où P NP est moralement vrai≠
Par P NP est moralement vrai, je veux dire que nous ne pouvons pas résoudre le SAT (ni aucun autre problème connu du NP-complet) beaucoup plus rapidement que la force brute, ces problèmes ne peuvent donc pas être résolus dans la pratique pour des entrées générales, même assez petites. disons 100.≠
P NP est-il moralement vrai que nous ne pouvons pas résoudre les problèmes difficiles à résoudre dans la pratique?≠
Même si P NP est moralement vrai, il est toujours possible que, pour certains de ces problèmes, nous ne nous intéressions pas aux intrants généraux et au pire, mais à une classe / distribution des intrants pouvant être résolus efficacement. Par exemple, il se peut que la résolution de SAT dans le cas digne de ce nom nécessite un temps exponentiel, mais en pratique, nous pouvons déjà résoudre SAT sur de nombreuses classes intéressantes
comme la vérification de logiciel, la vérification de matériel, etc. beaucoup plus rapidement.≠
Cela ressemble un peu à la résolution d'un problème plus simple, par exemple, si P NP est moralement vrai, on ne peut même pas approximer efficacement TSP , mais nous pouvons déjà approcher le cas particulier de TSP sur des graphes euclidiens.≠
Si vous savez que vous voulez résoudre un problème NP-complet, pas sur des entrées générales mais sur des entrées avec des propriétés particulières, vous n'avez pas besoin de vous soucier du problème général. Vous devez seulement résoudre le problème plus simple. Malheureusement, il est souvent difficile de déterminer le type d’intrants qui vous tient à coeur dans la pratique.
Néanmoins, les heuristiques peuvent être incroyablement performantes dans la pratique, comme nous le voyons avec la programmation SAT ou Integer ou l’apprentissage automatique. (L’ apprentissage PAC en utilisant le modèle très simple des 3-DNF est impossible si NP RP , et beaucoup d’experts pensent que RP = P).≠