Ich habe nach einer Referenz für die obige Frage gesucht.
Soweit ich weiß, lautet die Antwort:
Wenn wir einen Solver erstellen können, der für alle zufällig generierten Instanzen effizient ist, sollte er für jede Instanz effizient sein.
Wenn wir also einen Löser erstellen, der sich nicht auf eine inhärente Struktur stützt, ist er immer effizient.
Ist das richtig? Wie auch immer, hat jemand einen Verweis auf ein Papier, das ich als Antwort zitieren kann?
satisfiability
randomness
Zack Newsham
quelle
quelle
Antworten:
Wenn Ihr Solver für zufälliges 3-SAT effizient ist, bedeutet dies keineswegs, dass er für eine beliebige 3-SAT-Instanz effizient ist. Zufällig generierte Instanzen unterscheiden sich stark von Instanzen, die in der Praxis auftreten (dh sie sind unterschiedlich strukturiert). Zum Beispiel können Sie zufällig über den Phasenübergang lesenk -SAT: Abhängig vom Verhältnis von Klausel zu Variable kann eine Instanz einfach (nicht ausreichend oder zu eingeschränkt) oder schwierig (in gewissem Sinne kritisch eingeschränkt) sein. Dieses Phänomen ist an sich schon faszinierend.
Sie können immer argumentieren, dass ein Großteil der Theorie, die wir rund um SAT entwickelt haben, nutzlos ist, wenn Sie einen Löser haben, der keine Struktur der Eingabe ausnutzt und immer ziemlich magisch effizient ist. Leider haben viele Leute viel an dem Problem gearbeitet, und wir können immer noch keinen effizienten Algorithmus für z. B. SAT angeben (ganz zu schweigen von einem Algorithmus, der auch in der Praxis effizient wäre!). Wie gehen wir damit um? Wir betrachten zB strukturelle Aspekte des Inputs: Was können wir nutzen? Wie können wir zumindest manchmal schnell sein? Da wir ein Problem, das uns interessiert, nicht lösen können, suchen wir nach anderen Ansätzen und Angriffswinkeln.
Ich denke, die Hauptgründe, warum wir uns für Zufall interessiert habenk -SAT ist, dass solche Instanzen zum einen einfach zu generieren sind, um unsere Löser zu testen. Wir haben auch gelernt, dass zufällige Instanzen sich sehr von Instanzen unterscheiden, die in der Praxis auftreten (und natürlich sind dies die Instanzen, die uns oft interessieren). Dies hat unser Verständnis der Art der Berechnung, der Heuristik und der Komplexität verbessert und uns letztendlich auch in die Lage versetzt, schnellere Löser zu erstellen.
quelle
Die andere Antwort ist gut, hier ist ein bisschen zusätzlicher Kontext & 2 Papiere wie gewünscht. Die Entdeckung von Phasenübergängen bei vollständigen NP-Problemen im Zusammenhang mit zufälligen Eingaben war zu dieser Zeit (Mitte der neunziger Jahre) eine bemerkenswerte wissenschaftliche Entdeckung, die es wert war, in einer führenden / elitären wissenschaftlichen Zeitschrift, dem Science Magazine, veröffentlicht zu werden, die normalerweise nur sehr bemerkenswerten und übergreifenden Themen vorbehalten ist Entdeckungen von Spitzenwissenschaftlern. Phasenübergänge werden normalerweise hauptsächlich in der Physik gesehen / untersucht. Diese Entdeckung verbindet theoretische Physikbereiche wie die Thermodynamiktheorie mit der Informatik-Theorie und wird noch Jahrzehnte später erforscht. Derzeit gibt es viele Dutzend Artikel zu diesem Thema. von Selmans eigener Website
Ein weiterer Bereich, in dem nun gezeigt wird, dass zufällige Eingaben eine bedeutende Rolle spielen, sind Beweise für untere Grenzen, an denen monotone Schaltkreise beteiligt sind. Razborov gewann einen TCS Nevanlinna-Preis für frühe Arbeiten in diesem Bereich, der jetzt von Rossman erweitert wurde.
Eine andere Möglichkeit, zufällige Eingaben zu betrachten, ist jedoch allgemeiner als eine der grundlegendsten Eingabeverteilungen, die für jeden Algorithmus auf statistische / durchschnittliche Fallkomplexität untersucht werden können. Zum Beispiel mit Sortieralgorithmen und vielen anderen können Sie sie einfach mit zufälligen Eingaben testen.
quelle