Il existe des cas où les symétries d'un problème (semblent) caractériser sa complexité. Un exemple très intéressant est celui des problèmes de satisfaction des contraintes (CSP).
Définition de CSP
UΓkUk{ 0 , 1 }VΓϕ : V→ U
ΓU{ 0 , 1 }ΓkU{ 0 , 1 }
Polymorphismes
ϕ1, … , ΦtF: Ut→ Uϕϕ ( v ) = f( ϕ1( v ) , … , ϕt( v ) )Ft
F( x , y, z) = x + y+ z( mod2 )fF( x , x , y) = f( y, x , x ) = yF
En revanche, les disjonctions de 3 littéraux n'ont que des dictateurs comme polymorphismes, c'est-à-dire des fonctions de type .F( x , y) = x
Polymorphismes et complexité (la conjecture de dichotomie)
Les polymorphismes ont en fait des implications informatiques: si un CSP admet tous les polymorphismes de , alors est polynomial-time réductible à . C'est une façon de dire formellement qu'un CSP qui est "moins symétrique" qu'un autre CSP est en fait plus difficile.Γ 2 Γ 1 Γ 2 Γ 2 Γ 1Γ1Γ2Γ1Γ2Γ2Γ1
Un problème ouvert majeur dans la théorie de la complexité est de caractériser la dureté des CSP. La conjecture de dichotomie de Feder et Vardi indique que tout CSP est soit en P soit en NP-complet. La conjecture peut être réduite à un énoncé sur les polymorphismes: un CSP est NP-dur si et seulement si les seuls polymorphismes qu'il admet sont des "dictateurs" (sinon c'est en P). C'est-à-dire qu'un CSP n'est difficile que s'il n'existe aucun moyen local de former de véritables nouvelles solutions à partir d'anciennes solutions. La partie if (dureté) est connue, mais la seule partie if (conception d'un algorithme de polytime) est ouverte.
Cependant, un cas important où nous avons une dichotomie est celui des CSP booléens (où ). Selon le théorème de Schaefer , un CSP booléen est en P s'il admet l'un des 6 polymorphismes, sinon il est NP-complet. Les six polymorphismes sont fondamentalement ce dont vous avez besoin pour résoudre le problème soit par élimination gaussienne ou par propagation (comme vous le faites avec le horn-sat par exemple), ou pour le résoudre par une affectation triviale.U= { 0 , 1 }
Pour en savoir plus sur les polymorphismes, l'algèbre universelle et la conjecture de dichotomie, vous pouvez consulter l' enquête de Bulatov .
Polymorphismes et approximabilité
Je recommande également une conférence IAS par Prasad Raghavendra où il met son résultatdonnant une approximation optimale de tout CSP en supposant la conjecture de jeux unique dans un cadre similaire. À un niveau élevé, si tous les polymorphismes (cela doit être généralisé pour gérer les problèmes d'approximation) d'un CSP sont proches des dictateurs, on peut utiliser le CSP pour concevoir un moyen de tester si une fonction est un dictateur, et cela se révèle être soyez tout ce dont vous avez besoin afin de réduire la dureté de l'approximation des jeux uniques. Cela donne la direction de dureté de son résultat; la direction algorithmique est que lorsqu'un CSP a un polymorphisme qui est loin d'être un dictateur, on peut utiliser un principe d'invariance (généralisation des théorèmes des limites centrales) pour argumenter qu'un algorithme d'arrondi SDP donne une bonne approximation. Une intuition vraiment sommaire pour la partie algorithmique: un polymorphisme qui est loin d'être un dictateur t se soucier s'il est donné comme arguments (une distribution sur) les affectations de variables ou des variables aléatoires gaussiennes qui approchent localement une distribution sur les affectations de variables. C'est de la même manière qu'une fonction de somme "ne se soucie pas" si on lui donne des variables aléatoires discrètes avec une petite variance ou des valeurs gaussiennes avec la même variance, par le théorème central limite. Les variables aléatoires gaussiennes dont nous avons besoin peuvent être calculées à partir d'une relaxation SDP du problème CSP. On retrouve donc un polymorphisme loin d'un dictateur, on lui donne les échantillons gaussiens, et on récupère une bonne solution. si on lui donne des variables aléatoires discrètes avec une petite variance ou des RV gaussiens avec la même variance, par le théorème de la limite centrale. Les variables aléatoires gaussiennes dont nous avons besoin peuvent être calculées à partir d'une relaxation SDP du problème CSP. On retrouve donc un polymorphisme loin d'un dictateur, on lui donne les échantillons gaussiens, et on récupère une bonne solution. si on lui donne des variables aléatoires discrètes avec une petite variance ou des RV gaussiens avec la même variance, par le théorème de la limite centrale. Les variables aléatoires gaussiennes dont nous avons besoin peuvent être calculées à partir d'une relaxation SDP du problème CSP. On retrouve donc un polymorphisme loin d'un dictateur, on lui donne les échantillons gaussiens, et on récupère une bonne solution.