web-dev-qa-db-fra.com

Expliquez la preuve de Vinay Deolalikar que P! = NP

Récemment, il y a eu papier flottant autour de Vinay Deolalikar chez HP Labs qui prétend avoir prouvé que P! = NP .

Quelqu'un pourrait-il expliquer comment cette preuve fonctionne pour nous, les gens moins enclins aux mathématiques?

67
Nixuz

Je n'ai parcouru que le papier, mais voici un résumé approximatif de la façon dont tout se tient.

À partir de la page 86 du document.

... les algorithmes polynomiaux temporels réussissent en "décomposant" successivement le problème en sous-problèmes plus petits qui sont liés les uns aux autres par l'indépendance conditionnelle. Par conséquent, les algorithmes polynomiaux temporels ne peuvent pas résoudre les problèmes dans les régimes où les blocs dont l'ordre est le même que l'instance de problème sous-jacente nécessitent une résolution simultanée.

D'autres parties de l'article montrent que certains problèmes NP ne peuvent pas être décomposés de cette manière. Ainsi NP/= P

Une grande partie du document est consacrée à définir l'indépendance conditionnelle et à prouver ces deux points.

57
Michael Anderson

Dick Lipton a une belle entrée de blog sur le papier et ses premières impressions. Malheureusement, c'est aussi technique. D'après ce que je peux comprendre, la principale innovation de Deolalikar semble être d'utiliser certains concepts de la physique statistique et de la théorie des modèles finis et de les lier au problème.

Je suis avec Rex M avec celui-ci, certains résultats, principalement mathématiques ne peuvent pas être exprimés à des personnes qui n'ont pas la maîtrise technique.

16

J'ai aimé cela ( http://www.newscientist.com/article/dn19287-p--np-its-bad-news-for-the-power-of-computing.html ):

Son argument s'articule autour d'une tâche particulière, le problème de satisfiabilité booléenne, qui demande si une collection d'énoncés logiques peut tous être simultanément vrais ou s'ils se contredisent. Ceci est connu pour être un problème NP.

Deolalikar prétend avoir montré qu'aucun programme ne peut le terminer rapidement à partir de zéro, et qu'il ne s'agit donc pas d'un problème P. Son argument implique l'utilisation ingénieuse de la physique statistique, car il utilise une structure mathématique qui suit bon nombre des mêmes règles qu'un système physique aléatoire.

Les effets de ce qui précède peuvent être assez importants:

Si le résultat est maintenu, cela prouverait que les deux classes P et NP ne sont pas identiques et imposent des limites sévères à ce que les ordinateurs peuvent accomplir - impliquant que de nombreuses tâches peuvent être fondamentalement, irréductiblement complexes.

Pour certains problèmes - y compris la factorisation - le résultat ne dit pas clairement s'ils peuvent être résolus rapidement. Mais une énorme sous-classe de problèmes appelée "NP-complete" serait vouée à l'échec. Un exemple célèbre est le problème des vendeurs ambulants - trouver l'itinéraire le plus court entre un ensemble de villes. De tels problèmes peuvent être vérifiés rapidement, mais si P ≠ NP alors il n'y a pas de programme informatique qui puisse les résoudre rapidement à partir de zéro.

9
Tony Breyal

C'est ma compréhension de la technique de preuve: il utilise une logique de premier ordre pour caractériser tous les algorithmes de temps polynomiaux, puis montre que pour les gros problèmes SAT avec certaines propriétés qu'aucun algorithme de temps polynomial ne peut déterminer leur satisfiabilité.

5
smith

Une autre façon de penser à ce sujet, qui peut être tout à fait erronée, mais c'est ma première impression en la lisant lors de la première passe, est que nous pensons attribuer/effacer des termes dans la satisfaction des circuits comme formant et cassant des grappes de structure ', et qu'il utilise ensuite la physique statistique pour montrer qu'il n'y a pas assez de vitesse dans les opérations polynomiales pour effectuer ces opérations dans un "espace de phase" particulier des opérations, parce que ces "grappes" finissent par être trop éloignées.

3
John with waffle

Une telle preuve devrait couvrir toutes les classes d'algorithmes, comme l'optimisation globale continue .

Par exemple, dans le problème 3-SAT nous devons évaluer les variables pour remplir toutes les alternatives de triplets de ces variables ou leurs négations. Regarde ça x OR y peut être transformé en optimisation

((x-1)^2+y^2)((x-1)^2+(y-1)^2)(x^2+(y-1)^2)

et analogiquement sept termes pour une alternative de trois variables.

Trouver le minimum global d'une somme de ces polynômes pour tous les termes résoudrait notre problème. ( source )

Il passe des techniques combinatoires standard au monde continu en utilisant des méthodes dégradées, des méthodes de suppression des minims locaux, des algorithmes évolutionnaires. C'est un royaume complètement différent - analyse numérique - je ne crois pas qu'une telle preuve puisse vraiment couvrir (?)

1
skeptic