Existe-t-il des classes de complexité établies avec des nombres réels?

14

Un étudiant m'a récemment demandé de vérifier une preuve de dureté NP pour eux. Ils ont effectué une réduction selon:

Je réduit ce problème P qui est connu pour être NP-complet à mon problème P (avec une réduction poly-temps multiple), donc P est NP-dur.

Ma réponse était essentiellement:

Étant donné que P a des instances avec des valeurs de R , il est trivialement pas calculable par Turing, vous pouvez donc ignorer la réduction.

Bien que formellement vraie, je ne pense pas que cette approche soit perspicace: nous aimerions certainement être en mesure de saisir la "complexité inhérente" d'un problème de décision (ou d'optimisation) à valeur réelle, en ignorant les limites auxquelles nous sommes confrontés dans le traitement du réel Nombres; enquêter sur ces questions est pour un autre jour.

Bien sûr, ce n'est pas toujours aussi facile que de dire: "la version discrète de Subset Sum est NP-complète, donc la version continue est" NP-hard "également". Dans ce cas, la réduction est facile, mais il existe des cas célèbres où la version continue est plus facile, par exemple la programmation linéaire par rapport à la programmation entière.

Il m'est venu à l'esprit que le modèle RAM s'étend naturellement aux nombres réels; laissez chaque registre stocker un nombre réel et étendez les opérations de base en conséquence. Le modèle de coût uniforme a toujours du sens - autant que dans le cas discret de toute façon - tandis que le modèle logarithmique ne l'est pas.

Donc, ma question se résume à: existe-t-il des notions établies de complexité des problèmes réels? Comment sont-ils liés aux classes discrètes "standard"?

Les recherches Google donnent des résultats, par exemple ceci , mais je n'ai aucun moyen de dire ce qui est établi et / ou utile et ce qui ne l'est pas.

Raphael
la source
1
Vous pourriez trouver intéressant "Complexité et calcul réel" amazon.com/Complexity-Real-Computation-Lenore-Blum/dp/…
Kurt Mueller
Il me semble que votre réponse à votre élève n'était pas justifiée pour une raison simple: quel que soit le calcul que nous avons l'habitude de considérer comme basé sur les réels, il est également possible d'utiliser des réels calculables . Je ne sais pas si c'est une réponse qui est utilisable pour votre élève, mais cela devrait au moins éliminer le manque d'argument de calculabilité de Turing. Malheureusement, je ne suis pas assez expert sur ces questions pour approfondir cela.
babou
@babou En ce qui concerne la calculabilité, cela peut être une restriction raisonnable (mais il faudrait quand même l'énoncer!). Mais que se passe-t-il avec la complexité?
Raphael
@Raphael Mon point est en fait que ce n'est même pas une restriction, et n'a pas besoin d'être énoncé. C'est tout simplement inévitable. Les seuls réels que vous pouvez considérer dans un calcul sont les réels calculables (Thèse de Church-Turing). La bonne partie est apparemment que cela ne change aucune des mathématiques pertinentes, avec un soin approprié. Aller au-delà des réels calculables, comme utiliser des niveaux supérieurs de la hiérarchie de Turing, fascine la spéculation, avec probablement peu d'impact sur quelque chose de réel (jeu de mots inévitable).
babou

Réponses:

8

Oui. Il y a.

Il y a le modèle réel RAM / BSS mentionné dans l'autre réponse. Le modèle a quelques problèmes et AFAIK il n'y a pas beaucoup d'activités de recherche à ce sujet. On peut dire que ce n'est pas un modèle de calcul réaliste .

La notion la plus active de calculabilité réelle est celle d'un modèle de calcul de type supérieur. L'idée de base est que vous définissez la complexité des fonctions de type supérieur, puis utilisez des fonctions de type supérieur pour représenter les nombres réels.

L'étude de la complexité des fonctions de type supérieur remonte au moins à [1]. Pour les travaux récents, consultez les articles d' Akitoshi Kawamura sur la complexité des opérateurs réels.

La référence classique pour la complexité des fonctions réelles est le livre de Ker-I Ko [2]. Le sixième chapitre, le livre le plus récent de Klause Weihrauch [3], traite également de la complexité de la comptabilité réelle (mais il est plus axé sur la calculabilité que sur la complexité).

  • [1] Stephen Cook et Bruce Kapron, "Caractérisations des fonctions de base réalisables de type fini", 1990.

  • [2] Ker-I Ko, "Complexité computationnelle des fonctions réelles", 1991.

  • [3] "Analyse calculable" de Klaus Weihrauch, 2000.

Kaveh
la source
Qu'est-ce qui rend le modèle de fonction de type supérieur plus réaliste que le modèle réel de RAM?
Raphael
1
@Raphael, je pense que je l'ai expliqué dans la question liée. Si vous voulez un traitement plus approfondi, il y en a plusieurs, l'un est le chapitre 9 de Weirauch. IIRC, un autre bon est un article de Tucker et Stolenberg-Hansen.
Kaveh du
1
À mon avis, le modèle de RAM réelle a deux problèmes principaux: d'une part, il lui manque la notion d'approximation rationnelle de précision arbitraire des nombres réels qui est sans doute leur propriété principale, d'autre part il permet la comparaison de nombres réels que l'AFAIK ne connaît pas comment faire dans la pratique. Par conséquent, certaines fonctions réelles que nous considérons efficacement calculables dans la pratique ne le sont pas dans le modèle, tandis que certaines fonctions réelles efficacement calculables dans le modèle ne le sont pas du tout dans la pratique.
Kaveh
@Kaveh Je suis gêné par l'imprécision de toute la discussion, dans la question et dans les réponses. Parlons-nous de réels indénombrables traditionnels ou de réels calculables. D'après votre dernier commentaire, vous parlez de "fonctions réelles que nous considérons efficacement calculables dans la pratique", j'ai donc tendance à croire qu'il s'agit de réels calculables. Que voulez-vous dire réellement?
babou
8

Le modèle que vous décrivez est connu sous le nom de modèle Blum-Shub-Smale (BSS) (également modèle Real RAM) et est en effet utilisé pour définir les classes de complexité.

Certains problèmes intéressants dans ce domaine sont les classes , N P R , et bien sûr la question de savoir si P R = N P R . Par P R, nous voulons dire que le problème est polynomialement décidable, N P R est que le problème est polynomialement vérifiable. Il y a des questions de dureté / exhaustivité sur la classe N P R . Un exemple d'un problème complet N P R est le problème de Q P S , système polynomial quadratique, où l'entrée est de vrais polynômes dansPRNPRPRNPRPRNPRNPRNPRQPS variables et p 1 , . . . , P nR [ x 1 , . . . , x n ] de degré au plus 2, et chaque polynôme a au plus 3 variables. La questionsavoir s'il existe une véritable solution courante R n ,telle sorte que p 1 ( a ) , p 2 ( a ) , . . . p n ( a ) = 0mp1,...,pn R[x1,...,xn]Rnp1(a),p2(a),...pn(a)=0. Il s'agit d'un problème complet NPR

Mais plus intéressant, il y a eu des travaux sur la relation entre , (Probalistically Checkable Proofs), sur les réels, c'est-à-dire la classe P C P R , et sur la façon dont elle se rapporte aux modèles de calcul algébrique. Le modèle BSS se déplace sur l'ensemble de N P sur des réels. Ceci est standard dans la littérature, et ce que nous savons aujourd'hui, c'est que N P R a des "preuves longues transparentes" et des "preuves courtes transparentes". Par "épreuves longues transparentes", cela implique: N P R est contenu dans P C P R ( p o l yPCPPCPRNPNPRNPR . Il y a aussi une extension qui dit que la "version courte (presque) approximative" est également vraie. Peut-on stabiliser la preuve et détecter les défauts en inspectant considérablement moins de composants (réels) que n ? Cela conduit à des questions sur l'existence de zéros pour les (systèmes de) polynômes univariés donnés par le programme en ligne droite. En outre, par "preuves longues transparentes", nous entendonsPCPR(poly,O(1))n

  1. "transparent" - Seulement, à lire,O(1)

  2. long - nombre superpolynomial de composants réels.

La preuve est liée à , et bien sûr, une façon d'examiner les problèmes à valeur réelle est de savoir comment cela pourrait être lié à la sous-somme - même les algorithmes d'approximation pour les problèmes à valeur réelle seraient intéressants - comme pour l'optimisation - Programmation linéaire que nous connaissons est dans la classe F P , mais oui, il serait intéressant de voir comment l'approximation pourrait influer sur l'exhaustivité / la dureté dans le cas des problèmes N P R. De plus, une autre question serait le N P R = c o - N P R ? 3SATFPNPRNPR = co-NPR

En pensant à la classe , il existe également des classes de comptage définies pour permettre de raisonner sur l'arithmétique polynomiale. Alors que # P est la classe de fonctions f définie sur { 0 , 1 } N pour laquelle il existe une machine de Turing à temps polynomial M et un polynôme p avec la propriété que n N , et x { 0 , 1 } n , f ( x )NPR#Pf{0,1} NMpnNx{0,1}nf(x)compte le nombre de chaînes { 0 , 1 } p ( n ) que la machine de Turing M accepte { x , y } . Pour les réels, nous étendons cette idée, il existe des machines BSS additives - des machines BSS qui ne font que des additions et des multiplications (pas de divisions, pas de soustractions). Avec les machines BSS additives (les nœuds dans le calcul ne permettent que l'addition et la multiplication) le modèle pour # P devient celui dans lequel le comptage est sur les vecteurs que les machines BSS additives acceptent. Donc, la classe de comptage est # P a d dy{0,1}p(n)M{x,y}#P#Padd cette classe est utile dans l'étude des nombres de Betti, ainsi que la caractéristique d'Euler.

user3483902
la source
La machine à RAM réelle (Random Access Machine) ou BSS (Blum-Shub-Smale) est le modèle, mentionné plus haut, est largement accepté comme norme pour raisonner sur ces classes.
user3483902
Non, cette affirmation est absolument fausse. Par exemple, jetez un œil à CCA-Net et voyez combien de chercheurs utilisent ce modèle.
Kaveh
Eh bien, les modèles utilisés pour les classes de complexité dans la publication utilisent le modèle BSS, et au fil du temps, il peut y avoir d'autres modèles, ces autres modèles fonctionnent-ils avec les classes de complexité dans la publication? BTW, le commentaire était une clarification sur les modèles utilisés dans les classes concernées, que le poste abordait, donc il n'y avait aucune clarification quant à savoir s'il y avait d'autres modèles. Encore une fois, la clarification portait sur les modèles utilisés dans les classes, il n'y avait aucune allégation.
user3483902