Was ist ein natürliches Problem in der Berechnungstheorie?


11

In Stephen Cooks Artikel über das P vs NP-Problem [1] stellt er Folgendes fest [2]:

Machbarkeitsthese: Ein natürliches Problem hat einen realisierbaren Algorithmus, wenn es einen Polynom-Zeit-Algorithmus hat.

Meine Frage ist, was genau meint er (oder im Allgemeinen wirklich, was bedeutet einer) mit "einem natürlichen Problem"? Über Probleme zu sprechen, die natürlich sind, scheint häufig genug zu sein, aber ich habe noch keine Definition gefunden. Mir scheint etwas zu fehlen. Hier sind einige mögliche Antworten, über die ich nachdenke:

Erste mögliche Antwort

Cook sagt in seiner Arbeit, dass "natürlich" erklärt werden muss. Er sagt: "Im Allgemeinen betrachten wir eine Klasse mit einem Parameter nicht als natürlich, wie die Menge von Graphen, die auf einer Oberfläche der Gattung k , k > 1 eingebettet werden können ." [3] Zunächst scheint dies zu sagen, was " natürlich "ist nicht eher als was es ist; Wenn jedoch jedes Problem entweder natürlich ist oder nicht und dies alle Probleme, die nicht natürlich sind, vollständig beschreibt, würde dies ausreichen, um natürlich zu definieren. (Das Qualifikationsmerkmal "im Allgemeinen" legt jedoch nahe, dass dies keine ausreichende und notwendige Beschreibung von Problemen ist, die nicht natürlich sind.)

Ich denke, "Klassen mit Parametern" bezieht sich auf die Traktierbarkeit fester Parameter, womit wir Probleme meinen, bei denen mögliche Eingaben so eingeschränkt sind, dass die Machbarkeit erzwungen wird. Wir können also das Rucksackproblem [4] mit einem Polynomzeitalgorithmus lösen, wenn wir das Gewicht festlegen, das der Rucksack tragen kann (aber im Allgemeinen gibt es keine Lösung für die Polynomzeit). In diesem Sinne gehe ich davon aus, dass "natürlich" bedeutet, dass das Problem nicht so eingeschränkt ("künstlich" eingeschränkt?) Ist, dass ein Polynom-Zeit-Algorithmus aus einem Problem herausgedrückt wird, das in der Polynom-Zeit nicht lösbar ist.

Der Grund, warum ich nicht sicher bin, ob dies der richtige Weg ist, um Cooks Begriff "natürlich" zu verstehen, ist, dass ich nicht absolut sicher bin, was die Qualifikation "natürlich" hier tut. Wenn Sie "natürlich" fallen lassen, erhalten Sie "ein Problem hat einen realisierbaren Algorithmus, wenn es einen Polynom-Zeit-Algorithmus hat". Dies scheint jedoch durchaus vernünftig zu sein: Das Rucksackproblem verfügt nicht über einen realisierbaren Algorithmus, da es keinen Polynom-Zeit-Algorithmus gibt. Der Rucksack mit fester Parameter-Traktierbarkeit hat einen realisierbaren Algorithmus, da er einen Polynom-Zeit-Algorithmus hat. Beide Berichte scheinen mit der Vorstellung übereinzustimmen, was ein Problem mit einem realisierbaren Algorithmus ist.

Ich gehe davon aus, dass dies der beste Leitfaden ist, um zu verstehen, was Cook bedeutet, da Cook sich tatsächlich umdreht und es definiert. Ich gehe auch davon aus, dass dieser Begriff von natürlich durch diese StackExchange-Frage erfasst wird. [5}

Aber es gibt noch einen anderen.

Zweite mögliche Antwort

William Gasarch sagt in seiner Arbeit "Klassifizierung von Problemen in Komplexitätsklassen" [6], er werde "eine wörtliche Diskussion darüber führen, was ein natürliches Problem ist" [7]. Am Ende des Papiers [8] findet ein Dialogaustausch statt, bei dem ein Redner sagt:

"Was macht ein Problem natürlich? Einerseits habe ich das Problem nicht nur für den Zweck konstruiert, nicht in P zu sein. Es ist also kein dummes Arschproblem. Erhöht es sich dann auf das Niveau, natürlich zu sein?"

Es scheint mir also, dass Gasarch sagt, wenn wir ein Problem haben, das nicht absichtlich so konstruiert ist, dass wir sagen können, dass es nicht in P ist, dann ist es natürlich. Mit ein wenig kreativer Interpretation scheint Gasarch etwas zu sagen, das zumindest mit Cook übereinstimmt: Einerseits sagt Gasarch, dass es ein Problem ist, nicht mit dem einzigen Ziel konstruiert zu sein, nicht in P zu sein. und andererseits sagt Cook, dass ein Problem natürlich ist, wenn es keine Parameter hat. Die bloße Konsistenz ergibt jedoch keine Definition.

Dritte mögliche Antwort

Im Wikipedia-Eintrag für ein "gut gestelltes Problem" [9] wird eine Definition von Jacques Hadamards Vorstellung von einem gut gestellten Problem vorgestellt, und es wird angegeben, dass ein gut gestelltes Problem "als" natürliche "Probleme angesehen werden könnte , dass es physikalische Prozesse gibt, die durch diese Probleme modelliert werden. " Ein Problem ist also nur dann natürlich, wenn es einen physikalischen Prozess modelliert?

Hadamards Qualifikationen laut Wikipedia sind (i) eine Lösung vorhanden, (ii) die Lösung ist einzigartig und (iii) das Verhalten der Lösung ändert sich kontinuierlich mit den Anfangsbedingungen. Dies scheint sich von den beiden anderen Definitionen zu unterscheiden. Mein Gefühl ist, dass "natürlich" nicht genau auf die gleiche Weise verwendet wird (insbesondere wenn wir der Interpretation zustimmen, dass ein Problem genau dann natürlich ist, wenn es einen physischen Prozess modelliert), aber ich wollte es einbeziehen, weil ich darauf gestoßen bin es in meiner Forschung zu dieser Frage, und es gibt Berührungspunkte.

Meine Frage ist also: Was ist ein natürliches Problem? Ist eine dieser Antworten oder eine Kombination davon richtig? Gibt es eine andere Antwort, die mir fehlt? Vielen Dank.

  1. "The Statement of the Problem", 2006, online veröffentlicht bei Clay Mathematics; Titel: "Das P vs NP-Problem", 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. Schwerstes bekanntes natürliches Problem bei P? Ich gehe davon aus, dass ein natürliches Problem dieser Beschreibung folgt, k jedoch nicht darauf beschränkt , das größte zu sein.
  6. https://www.cs.umd.edu/~gasarch/papers/classcomp.pdf
  7. p. 2.
  8. p. 47-8, Abschnitt 25
  9. https://en.wikipedia.org/wiki/Well-posed_problem

Dies ist eine meiner Lieblingsfragen zu cstheory stackexchange. Ich denke gerne, dass es mehrere vernünftige Antworten gibt. Auf den ersten Blick erscheinen mir Ihre Antworten vernünftig. :)
Michael Wehar

Können wir einige Beispiele für bekannte Probleme nennen, die natürlich sind, und einige Beispiele für bekannte Probleme, die nicht natürlich sind? Haben natürliche Probleme auch Verschlusseigenschaften?
Michael Wehar

Ich denke, Ihre erste mögliche Antwort ist eine vernünftige Erklärung, warum Cook parametrisierte Probleme nicht für natürlich hält. Seine Bemerkung zu parametrisierten Problemen soll jedoch keine Definition sein. Tatsächlich stimme ich Usul zu, dass Cook nicht versucht hat, "natürlich" zu definieren.
Sasho Nikolov

Antworten:


15

Um klar zu sein, soll es nicht formalisierbar sein. Es ist kein Theorem, es ist eine Beobachtung über die Welt - es ist in Ordnung, wenn "natürlich" hier subjektiv ist. Wenn jemand sagt, "Differenzierung ist Mechanik, während Integration Kunst ist", lädt er Sie nicht ein, "Mechanik" und "Kunst" zu formalisieren und die Aussage zu beweisen, sondern versucht, eine allgemeine Perspektive zu vermitteln. Vielleicht fehlt Ihnen hier der Wald für die Bäume etwas. [Fußnote]

Was ist der Punkt des Autors

Folgen wir Ihrem Vorschlag und lassen das Wort "natürlich" fallen:

Machbarkeitsthese (erster Entwurf): Ein Problem hat einen realisierbaren Algorithmus, wenn es einen Polynom-Zeit-Algorithmus hat.

Nun, das ist technisch falsch. Aufgrund des Zeithierarchiesatzes können wir in P beliebig schwierige Probleme konstruieren (z. B. Zeit erforderlich ). Aber diese Gegenbeispielprobleme sind sehr seltsam, selbstreferenziell, z. B. "Hält die gegebene Turing-Maschine bei der gegebenen Eingabe in Schritten an?"n1000n1000

Der Autor ist daher der Ansicht, dass die These in Bezug auf Probleme, die wir tatsächlich in der realen Welt lösen möchten, und andere Probleme, die "natürlich" im Verlauf des Lebens ohne Komplexitätstheorie auftreten, immer noch ziemlich genau ist. Also denkt er, nennen wir diese Probleme "natürlich" und überarbeiten die Machbarkeitsthese.

Was ist und was nicht natürlich ist

Ein Problem, das in der Praxis häufig auftritt, wird mit Sicherheit als natürlich angesehen: kürzeste Wege, Sortieren, Bearbeitungsentfernung, Wurzelfindung, reisender Verkäufer, Rucksack.

Ein Problem, das speziell zum Nachweis eines Komplexitätsergebnisses entwickelt und definiert wird und auf die spezifische Klasse verweist, ist natürlich nicht natürlich. Beispiel: "Kann diese Zeichenfolge von einer Turing-Maschine in k Zuständen in n Zeit generiert werden?"

Einige Dinge sind weniger klar, wie zum Beispiel lineare Programmierung, aber ich würde mir darüber keine Sorgen machen. Studieren Sie viele Algorithmen und Komplexitätsprobleme und prüfen Sie, ob Sie mit der allgemeinen Idee einverstanden sind oder ob Sie Beispiele finden, die Ihrer Meinung nach dem widersprechen.

(Auf jeden Fall denke ich, dass die Route des "gut gestellten Problems" übrigens definitiv falsch ist, wie Sie vermuten.)


[Fußnote] Ich möchte Sie nicht davon abhalten, es zu formalisieren, sondern nur zu denken, dass Sie dazu bestimmt sind.


4

Es läuft ungefähr darauf hinaus, ob die Problemdefinition zirkulär sein könnte:

  • Ein künstliches Problem ist eines, das so konstruiert ist, dass es seine Klassenkriterien erfüllt.

  • Ein natürliches Problem beruht nicht auf seiner Konstruktionsmethode, um die Klassenkriterien zu erfüllen.

Ladners Konstruktion ist als NP-Zwischenstufe bekannt , sofern NPI vorhanden ist.

Der Nachweis eines Kandidaten für natürliche NPI-Probleme würde beweisen .PNP

Achtung: Viel Glück beim Versuch, einen solchen Kandidaten zu beweisen; Dies mag wie ein zugänglicher Ansatz erscheinen, hat aber natürlich einige Beweisbarrieren entwickelt .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.