Preuve naturelle
En théorie de la complexité, une preuve naturelle est une démonstration de borne inférieure sur des circuits booléens qui satisfait certaines propriétés. Ces preuves sont dites naturelles, car elles utilisent une technique classique dans la littérature du domaine. Elles ont été mises en lumière par un résultat d'Alexander Razborov et Steven Rudich qui prouvent que (sous une hypothèse classique) ce genre de preuve ne peut pas permettre de prouver que P est différent de NP.
Contexte
La théorie de la complexité consiste notamment à classer les problèmes algorithmiques selon leurs difficultés. Les définitions classiques des classes de complexité, par exemple celles des classes P et NP, considèrent les ressources nécessaires pour résoudre le problème sur une machine de Turing. Cependant pour montrer des bornes inférieures, il est souvent plus aisé de considérer un autre modèle de calcul (en), les circuits booléens. Par exemple, pour prouver que P est différent de NP, une stratégie classique est de montrer que P/poly, un analogue en circuit de P, ne contient pas tous les problèmes de NP[1].
Les preuves naturelles sont un type de preuve de borne inférieures pour les circuits booléens. Ces preuves suivent la stratégie suivante : exhiber une propriété d'un certain problème tel qu'aucun circuit de la classe considérée ne la satisfait.
Définitions
Étant donnée une classe de circuit U, une propriété qui n'est pas satisfaite par U est une suite de fonctions booléennes, telle que si une suite appartient à pour une infinité de n, alors n'appartient pas à U.
On peut considérer les elles-mêmes comme un langage, en les décrivant par leurs tables de vérité[1]. On dit que est -calculable, si le problème de reconnaître ces tables de vérité est dans une classe de complexité .
D'autre part, on dit que beaucoup de fonctions satisfont une propriété si une proportion supérieure à d'entre elles l'ont.
Enfin une propriété est dite -naturelle si elle est -calculable et si beaucoup de fonctions la satisfont[2]. Dans le contexte de P et NP, on dit que est calculable efficacement si le langage est dans P/poly, et on parle simplement de propriété naturelle pour les propriétés P/poly-naturelles.
Les preuves naturelles sont celles qui exhibent des propriétés naturelles.
Exemples
Les preuves qui démontrent que la fonction parité n'est pas dans la classe AC0 sont des preuves AC0-naturelles[2].
Résultat de Razborov et Rudich sur P et NP
Le théorème principal de Razborov et Rudich est le suivant :
S'il existe une propriété naturelle qui n'est satisfaite pour aucune fonction de P/poly, alors il n'existe pas de famille de générateurs pseudo-aléatoires -difficiles.
On peut aussi exprimer l'hypothèse par des fonctions à sens unique : si des fonctions de difficulté sous-exponentielle existent, alors il n'existe pas de preuves naturelles[3].
De façon générale, le théorème dit que l'on est dans l'une des situations suivantes :
- ou bien il n'y a pas de générateurs pseudo-aléatoire -difficiles, ce qui est considéré comme improbable,
- ou bien P=NP, ce qui n'est pas l'avis majoritaire non plus,
- ou bien P est différent de NP, mais les techniques de preuve classiques ne fonctionnent pas[4].
Histoire
Alexander Razborov et Steven Rudich ont obtenu le prix Gödel pour leur article[2] sur les preuves naturelles[5].
Notes et références
- Timothy Y. Chow, « WHAT IS... a Natural Proof? », Notices of the American Mathematical Society, AMS, vol. 58, no 11, (lire en ligne).
- Alexander A. Razborov et Steven Rudich, « Natural proofs », Journal of Computer and System Sciences, vol. 55, no 1, , p. 24–35 (DOI 10.1006/jcss.1997.1494)
- (en) Sanjeev Arora et Boaz Barak, Computational Complexity : A Modern Approach, Cambridge University Press, (ISBN 0-521-42426-7), chap. 23 (« Why are circuit lower bounds so difficult? »), p. 430.
- Jean-Paul Delahaye, « P = NP, un problème à un million de dollars ? », .
- « Gödel Prize - 2007 », sur EATCS.
- Portail de l'informatique théorique