Qu'est-ce qu'un problème naturel en théorie du calcul?

11

Dans l'article de Stephen Cook sur le problème P vs NP [1], il déclare ce qui suit [2]:

Thèse de faisabilité: Un problème naturel a un algorithme réalisable s'il a un algorithme polynomial.

Ma question est, que veut-il dire exactement (ou en général, qu'est-ce que l'on entend) par "un problème naturel "? Parler de problèmes naturels semble être assez courant, mais je n'ai pas encore trouvé de définition. Il me semble manquer quelque chose. Voici quelques réponses possibles auxquelles je pense:

Première réponse possible

Cook dit dans son article que "naturel" doit être expliqué. Il dit, "en général, nous ne considérons pas une classe avec un paramètre aussi naturel, comme l'ensemble de graphes intégrables sur une surface de genre k , k > 1." [3] Maintenant, tout d'abord, cela semble dire quoi " naturel "n'est pas plutôt que ce qu'il est; mais si chaque problème est naturel ou non et que cela décrit pleinement tous les problèmes qui ne sont pas naturels, alors ce serait suffisant pour définir naturel. (Mais le qualificatif "en général" suggère qu'il ne s'agit pas d'une description suffisante et nécessaire de problèmes qui ne sont pas naturels.)

Je pense que «classes avec paramètres» fait référence à la tractabilité à paramètres fixes, par laquelle nous entendons des problèmes dont les entrées possibles sont restreintes de sorte que la faisabilité est forcée. Nous pouvons donc résoudre le problème du sac à dos [4] avec un algorithme polynomial-time si nous fixons le poids que le sac à dos peut supporter (mais en général il n'y a pas de solution en polynomial-time). Avec ceci en main, je suppose qu'être "naturel" signifie que le problème n'est pas restreint ("artificiellement" restreint?) D'une manière qui force un algorithme à temps polynomial à sortir d'un problème qui n'est pas résoluble en temps polynomial.

La raison pour laquelle je ne suis pas certain que la bonne façon de comprendre la notion de Cook de "naturel" est que je ne suis pas absolument sûr de ce que fait la qualification de "naturel" ici. Si vous abandonnez «naturel», vous obtenez «un problème a un algorithme réalisable si il a un algorithme polynomial». Mais cela semble parfaitement raisonnable: le problème du sac à dos n'a pas d'algorithme faisable car il n'a pas d'algorithme polynomial; la sacrabilité avec la capacité de paramétrage fixe a un algorithme faisable car elle a un algorithme à temps polynomial. Les deux comptes semblent être en accord avec la notion de ce qu'est un problème avec un algorithme réalisable.

Je suppose que cela pourrait être le meilleur guide pour comprendre ce que Cook signifie, car Cook se retourne et le définit. Je suppose aussi que cette notion de naturel est capturée par cette question StackExchange. [5}

Mais il y en a un autre.

Deuxième réponse possible

William Gasarch dans son article "Classifier les problèmes en classes de complexité" [6], dit qu'il mènera "une discussion littérale sur ce qui est un problème naturel" [7]. À la fin de l'article [8], il y a un échange sous forme de dialogue, où un orateur dit:

"Qu'est-ce qui rend un problème naturel? D'une part, je n'ai pas construit le problème dans le seul but de ne pas être en P. Donc ce n'est pas un problème de cul idiot. Est-ce qu'il s'élève alors au niveau d'être naturel?"

Donc, il me semble que Gasarch dit que si nous avons un problème qui n'est pas construit intentionnellement pour que nous puissions dire qu'il n'est pas en P, alors c'est naturel. Donc, avec un peu d'interprétation créative, il semble que Gasarch dit quelque chose au moins cohérent avec Cook: d'une part, Gasarch dit que ne pas être construit avec le seul objectif de ne pas être en P rend un problème non naturel; et d'autre part Cook dit qu'un problème est naturel s'il n'a pas de paramètres. Mais la simple cohérence ne donne pas de définition.

Troisième réponse possible

Sur l'entrée Wikipedia pour un "problème bien posé" [9], une définition de la notion de Jacques Hadamard d'un problème bien posé est présentée, puis il est indiqué qu'un problème bien posé "pourrait être considéré comme un problème" naturel ". en ce qu'il existe des processus physiques modélisés par ces problèmes. " Ainsi, un problème est naturel si et seulement s'il modélise un processus physique?

Les qualifications de Hadamard, selon Wikipedia, sont (i) une solution existe, (ii) la solution est unique, et (iii) le comportement de la solution change continuellement avec les conditions initiales. Cela semble être différent des deux autres définitions. Mon sentiment est que «naturel» n'est pas utilisé exactement de la même manière (surtout si nous sommes d'accord avec l'interprétation qu'un problème est naturel si et seulement s'il modélise un processus physique), mais je voulais l'inclure parce que je suis tombé sur dans mes recherches sur cette question, et il y a des points de contact.

Ma question est donc: qu'est-ce qu'un problème naturel? Certaines de ces réponses, ou une combinaison de celles-ci, sont-elles correctes? Y a-t-il une autre réponse qui me manque? Je vous remercie.

  1. «L'énoncé du problème», 2006, affiché en ligne au Clay Mathematics; title: "Le problème P vs NP", http://www.claymath.org/sites/default/files/pvsnp.pdf
  2. p. 3
  3. p. 4
  4. https://en.wikipedia.org/wiki/Knapsack_problem#0.2F1_Knapsack_Problem
  5. Problème naturel le plus difficile connu en P? Je suppose qu'un problème naturel suit cette description mais ne limite pas k à être le plus grand.
  6. https://www.cs.umd.edu/~gasarch/papers/classcomp.pdf
  7. p. 2.
  8. p. 47-8, article 25
  9. https://en.wikipedia.org/wiki/Well-posed_problem
Yogourt curieux
la source
C'est l'une de mes questions préférées sur cstheory stackexchange. J'aime à penser qu'il y a plusieurs réponses raisonnables. À première vue, vos réponses me paraissent raisonnables. :)
Michael Wehar
Pouvons-nous donner quelques exemples de problèmes bien connus qui sont naturels et quelques exemples de problèmes bien connus qui ne sont pas naturels? De plus, les problèmes naturels ont-ils des propriétés de fermeture?
Michael Wehar
Je pense que votre première réponse possible est une explication raisonnable pour laquelle Cook ne considère pas les problèmes paramétrés comme naturels. Cependant, sa remarque sur les problèmes paramétrés n'est pas censée être une définition. En fait, je suis d'accord avec usul que Cook n'a pas essayé de définir «naturel».
Sasho Nikolov

Réponses:

15

Pour être clair, ce n'est pas censé être formalisable. Ce n'est pas un théorème, c'est une observation sur le monde - ce n'est pas grave si le «naturel» est subjectif ici. Par analogie, si quelqu'un dit que "la différenciation est mécanique alors que l'intégration est art", ils ne vous invitent pas à formaliser "mécanique" et "art" et à prouver la déclaration, ils essaient de transmettre une perspective générale. Il se peut donc que vous manquiez un peu la forêt pour les arbres ici. [Note]

Quel est le point de l'auteur

Suivons votre suggestion et déposons le mot "naturel":

Thèse de faisabilité (première ébauche): Un problème a un algorithme faisable s'il a un algorithme à temps polynomial.

n1000n1000

L'auteur estime donc que la thèse est encore assez précise concernant les problèmes que nous voulons réellement résoudre dans le monde réel et d'autres problèmes rencontrés "naturellement" au cours de la vie sans théorie de la complexité. Alors il pense, appelons ces problèmes «naturels» et révisons la thèse de faisabilité.

Ce qui est et n'est pas naturel

À coup sûr, un problème qui se pose souvent dans la pratique serait considéré comme naturel: les chemins les plus courts, le tri, la distance d'édition, la recherche de racines, le vendeur ambulant, le sac à dos.

Pour sûr, un problème qui est pensé et défini spécifiquement pour prouver un résultat de complexité, et fait référence à la classe spécifique, n'est pas naturel. Par exemple, "cette chaîne peut-elle être générée par une machine de Turing sur k états en n temps".

Certaines choses sont moins claires, comme peut-être la programmation linéaire, mais je ne m'en inquiéterais pas trop. Étudiez de nombreux algorithmes et problèmes de complexité et voyez si vous êtes d'accord avec l'idée générale, ou si vous trouvez des exemples que vous pensez contredire.

(En tout cas, je pense que l'itinéraire du "problème bien posé" est définitivement faux, comme vous le pensez.)


[note] Je ne veux pas vous décourager d'essayer de le formaliser, juste de penser que vous êtes censé le faire.

usul
la source
4

Cela revient à savoir si la définition du problème pourrait être circulaire:

  • Un problème artificiel est un problème construit pour remplir ses critères de classe.

  • Un problème naturel ne repose pas sur sa méthode de construction pour remplir les critères de classe.

La construction de Ladner est connue pour être NP-intermédiaire , à condition que le NPI existe.

PNP

Attention: bonne chance pour essayer de prouver un tel candidat; Cela peut sembler une approche accessible, mais a naturellement développé des obstacles à la preuve .

Lem n
la source