Sind randomisierte Algorithmen konstruktiv?

8

Von den Beweisen durch die probabilistische Methode wird oft gesagt, dass sie nicht konstruktiv sind.

Ein Beweis durch eine probabilistische Methode entwirft jedoch tatsächlich einen randomisierten Algorithmus und verwendet ihn zum Nachweis der Existenz. Zitiert aus Seite 103 der randomisierten Algorithmen von Rajeev Motwani, Prabhakar Raghavan :

Wir könnten den Beweis durch die probabilistische Methode als einen randomisierten Algorithmus betrachten. Dies würde dann eine weitere Analyse erfordern, die die Wahrscheinlichkeit begrenzt, dass der Algorithmus bei einer bestimmten Ausführung keine gute Partition findet. Der Hauptunterschied zwischen einem Gedankenexperiment in der probabilistischen Methode und einem randomisierten Algorithmus ist das Ende, das jeder ergibt. Wenn wir die probabilistische Methode verwenden, geht es uns nur darum zu zeigen, dass ein kombinatorisches Objekt existiert; Daher geben wir uns damit zufrieden zu zeigen, dass ein günstiges Ereignis mit einer Wahrscheinlichkeit ungleich Null eintritt. Bei einem randomisierten Algorithmus ist andererseits die Effizienz ein wichtiger Gesichtspunkt - wir können eine winzige Erfolgswahrscheinlichkeit nicht tolerieren.

Ich frage mich also, ob randomisierte Algorithmen als nicht konstruktiv angesehen werden, obwohl sie am Ende jedes Laufs eine Lösung ausgeben, die möglicherweise eine ideale Lösung ist oder nicht.

Wie ist ein Algorithmus oder Beweis definiert, der "konstruktiv" ist?

Vielen Dank!

Tim
quelle
2
Da es keine vereinbarte Definition von "konstruktiv" als Fachbegriff gibt und es keine zentrale Autorität gibt, um die Definition von "konstruktiv" zu geben, und da unterschiedliche Personen unterschiedliche Definitionen haben (möglicherweise abhängig von welchem ​​Teilfeld) Ich glaube wirklich nicht, dass es eine endgültige Antwort auf diese Frage geben kann.
Peter Shor
Ich frage nur nach der häufigsten Bedeutung für Beweise und Algorithmen. Ich denke, randomisierte Algorithmen sind konstruktiv, aber der Beweis durch die probabilistische Methode ist nicht, obwohl sie einen randomisierten Algorithmus enthält und daher verwirrt ist.
Tim
Laut Wikipedia , in dem die zeitliche Komplexität nicht erwähnt wird, wären fast alle Beweise, die den probabilistischen Algorithmus verwenden, konstruktiv, da sie (sehr ineffiziente) Algorithmen liefern. Es kommt auf den Kontext an.
Peter Shor
@PeterShor: Ist "konstruktiv" nicht ungefähr so ​​genau definiert wie "Logik" selbst? Ohne Klarstellung hätte ich angenommen, dass ein konstruktives Ergebnis ein Ergebnis war, das die ZF-Mengenlehre beinhaltete und konstruktive Logik verwendete .
Niel de Beaudrap
Ich habe nie gehört, dass "konstruktiv" zur Beschreibung von Algorithmen verwendet wird, nur Beweise.
Raphael

Antworten:

8

Die probabilistischen Verfahren werden normalerweise verwendet , um zu zeigen , dass die Wahrscheinlichkeit eines gewissen Zufall Objekt eine bestimmte Eigenschaft, die nicht Null ist , aber zeigen keine Beispiele. Es garantiert, dass ein "Wiederholungs-bis-Erfolg" -Algorithmus irgendwann beendet wird, gibt jedoch keine Obergrenze für die Laufzeit an. Wenn also die Wahrscheinlichkeit eines Immobilienbesitzes nicht wesentlich ist, ergibt ein Existenznachweis durch die probabilistische Methode einen sehr schlechten Algorithmus.

Tatsächlich sind probabilistische Algorithmen keine konstruktiven Existenzbeweise, sondern Algorithmen zur Erstellung konstruktiver Existenzbeweise. Die Ausgabe ist ein Objekt der Art, von der es die Existenz beweisen sollte; Aber die Tatsache, dass es irgendwann eins ergibt ("es wird eine Iteration geben, in der es ein Beispiel liefert - außer mit der Wahrscheinlichkeit Null ..."), reicht nicht aus, um konstruktiv zu sein. Es wird nur für jemanden zufriedenstellend sein, der bereits akzeptiert, dass eine Nicht-Null-Wahrscheinlichkeit ohne Konstruktion für die Existenz ausreicht. Umgekehrt, wenn Sie eine gute Grenze für die Laufzeit haben, gibt es im Prinzip keine Entschuldigung, sie nicht auszuführen, um tatsächlich ein Beispiel zu erstellen. Ein guter probabilistischer Algorithmus ist immer noch kein konstruktiver Beweis, sondern ein guterplanen , einen konstruktiven Beweis zu erhalten.

nn22n+1(n1)22n1usw.) Induktion ist im Wesentlichen eine algorithmische Beweisstrategie, die wir zu einem Satz erhoben haben, der es uns ermöglicht, das Wissen zu haben, ohne es jedes Mal explizit zu berechnen. Induktion wird jedoch konstruktiv akzeptiert, da sie bereits ein Axiom (-Schema) der Peano-Arithmetik ist und von den anderen Axiomen unabhängig ist. Im Gegensatz dazu gibt es keine Inferenz- oder Axiomregel, die es der probabilistischen Methode ermöglicht, die Existenz konstruktiv zu beweisen oder konstruktiv zu beweisen, dass probabilistische Algorithmen Existenzbeweise oder ähnliches liefern. Sie können einfach nicht beweisen, dass es Beispiele für eine Objektklasse gibt, wenn es einen probabilistischen Algorithmus gibt, um sie zu konstruieren, es sei denn, Sie akzeptieren diesen Satz bereits, entweder als Axiom oder aus anderen Prämissen.

Natürlich könnte man eine philosophische Position einnehmen, die zwischen dem Konstruktivismus und der klassischen Herangehensweise an die Existenz liegt, und sagen, dass man nicht Konstruktionen an sich will, sondern Konstruktionsschemata, die mit einer Wahrscheinlichkeit von weniger als eins scheitern dürfen; das würde jede probabilistische Konstruktion "schematisch" machen, wenn nicht vollständig konstruktiv. Wo man die Grenze ziehen will, um zu sagen, dass man einen Existenzbeweis "befriedigend" findet, hängt letztendlich davon ab, wie viel Intuition (im nicht-philosophischen Sinne) man von Beweisen gewinnen möchte.

Niel de Beaudrap
quelle
5

Die einheitliche Beweiskomplexität ist ein Bereich, der (unter anderem) der Untersuchung konstruktiver Beweisbegriffe und ihrer Beziehung zu Komplexitätsklassen gewidmet ist. Für jede der populären (einheitlichen) Schaltungskomplexitätsklassen kann eine Theorie definiert werden, in der alles, was nachweisbar ist, einen "Hintergrund" in einem Algorithmus in dieser Komplexitätsklasse hat. Randomisierte Algorithmen werden durch Versionen des Pigeonhole-Prinzips berücksichtigt (seltsamerweise).

Leider bin ich kein Experte, daher kann ich nicht viel mehr sagen, als Sie auf das Buch von Cook und Nguyen (derselbe Koch wie in Cooks Theorem) und auf die Arbeit von Emil Jeřábek zu verweisen , insbesondere auf seine These zur randomisierten Berechnung.

Yuval Filmus
quelle