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.
- «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
- p. 3
- p. 4
- https://en.wikipedia.org/wiki/Knapsack_problem#0.2F1_Knapsack_Problem
- 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.
- https://www.cs.umd.edu/~gasarch/papers/classcomp.pdf
- p. 2.
- p. 47-8, article 25
- https://en.wikipedia.org/wiki/Well-posed_problem