Soit une fonction booléenne de n variables booléennes. Soit g ( x ) = T ϵ ( f ) ( x ) la valeur attendue de f ( y ) lorsque y est obtenu à partir de x en inversant chaque coordonnée avec la probabilité ϵ / 2 .
Je m'intéresse aux cas où il est difficile de calculer approximativement . Permettez-moi de fixer une notion "d'approximation" (mais il peut y en avoir d'autres): Une fonction booléenne h se rapproche de g si h ( x ) = 1 lorsque g ( x ) ≥ 0,9 et h ( x ) = 0 lorsque g ( x ) ≤ 0,1Un argument de comptage (basé sur l'existence de codes de correction d'erreur de taux positif) semble indiquer qu'il existe des fonctions booléennes pour lesquelles une telle approximation nécessite un circuit de taille exponentielle. Mais la question est de savoir ce qui se passe lorsque au départ est dans NP ou dans son voisinage.
Q1: Existe-t-il un exemple de décrit par le circuit NP (ou espace P) de sorte que chaque h soit NP dur, ou dur dans un sens plus faible.
Pour voir que peut - être pas toujours facile (je remercie Johan Hastad de discussion utile à ce sujet) , nous pouvons considérer que la propriété des graphiques d'avoir une clique de taille n 1 / 4 , pour l' entrée aléatoire, on peut imaginer qu'il est difficile de détecter s'il y a une grande clique, mais cela se manifeste en ayant plus de cliques que prévu de taille log n dans le graphique bruyant. Dans ce cas, tout h sera probablement dur (mais pas de manière prouvable et pas terriblement dur comme le diront les circuits quasi polynomiaux).
Q2: Quelle est la situation si pour commencer est de faible complexité. ( A C 0 , monotone T C 0 , A C C etc.)
Q3: Quelle est la situation pour certains exemples de base de fonctions booléennes. (La question peut également être étendue à la fonction à valeur réelle.)
Q4: La question ci-dessus peut-elle être formellement posée pour le modèle de calcul uniforme (machine de Turing)?
Mise à jour: Au vu de la réponse d'Andy (Salut, Andy), je pense que la question la plus intéressante est de comprendre la situation pour diverses fonctions spécifiques.
Mettre à jour une autre question Q5 [Q1 pour les fonctions monotones] (également en vue de la réponse d'Andy). Quelle est la situation si est monotone? Pouvons-nous encore encoder de manière robuste un NP questions complètes>
Réponses:
pour la question 1, la réponse est Oui et peut être affichée comme suit. (Je vais également implicitement esquisser une réponse affirmative à Q4, car l'argument est uniforme et traitera toutes les longueurs d'entrée à la fois.)
Fixez n'importe quel langage NP complet et une famille de bons codes binaires de correction d'erreurs (avec un taux de 1/4 et une correction à partir d'une fraction d'erreurs de 0,1, par exemple). Soit E n c n : { 0 , 1 } n → { 0 , 1 } 4 n la fonction de codage pour la longueur n ; nous utilisons un tel code où E n c = { E n c n } est calculable par un algorithme à temps polynomial uniforme.L Encn:{0,1}n→{0,1}4n n Enc={Encn}
Définissez comme l'ensemble des chaînes z qui sont au plus à distance .05 | z | à partir d' un mot de code y ∈ E n c ( L ) codant pour un élément de L . Notez que L ' est dans NP, comme vous pouvez le deviner et vérifier le mot de code à proximité, le mot décodé, et le certificat NP pour la composition de mot décodé en L .L′ z .05|z| y∈Enc(L) L L′ L
Ensuite, l'affirmation est que toute "approximation" de dans votre sens est NP-difficile pour ε = .01 . Car si nous considérons un mot de code valide y = E n c ( x ) d'une certaine longueur 4 n , alors avec une probabilité 1 - o ( 1 ) sur une version aléatoire ε- perturbée y ′ de y , il sera en désaccord avec y dans au plus une fraction de coordonnées de 0,05, et sera donc en désaccord avec tout autre mot de code de E n cL′ ε=.01 y=Enc(x) 4n 1−o(1) ε y′ y y dans unefraction deplus de 0,05 de coordonnées. Pour ce y ' nous y ' ∈ L ' ssi x ∈ L . Doncsi h est une approximation de la ε Version -smoothed de L ' dans votre sens, nous devons avoir h ( y ) = L ( x ) . Comme E n c est calculable efficacement, cela nous permet de réduire efficacement les questions d'appartenance pour L à celles pour h . DoncEncn .05 y′ y′∈L′ x∈L h ε L′ h(y)=L(x) Enc L h est NP-difficile.h
Deux notes:
(1) des codages correcteurs d'erreurs d'instances NP ont déjà été utilisés dans plusieurs articles, notamment
D. Sivakumar: On Membership Comparable Sets. J. Comput. Syst. Sci. 59 (2): 270-280 (1999).
(2) l'argument ci-dessus ne dit bien sûr rien sur la complexité moyenne des cas de tout problème NP, car la correction d'erreur est appliquée au cas par cas.
la source