Alternativer Komplexitätsbegriff basierend auf der Lücke zwischen Brute-Force und dem besten Algorithmus?

17

Typischerweise haben effiziente Algorithmen eine polynomielle Laufzeit und einen exponentiell großen Lösungsraum. Dies bedeutet, dass das Problem in zweierlei Hinsicht einfach sein muss: Erstens kann das Problem in einer polynomiellen Anzahl von Schritten gelöst werden, und zweitens muss der Lösungsraum sehr strukturiert sein, da die Laufzeit nur in der Anzahl der möglichen Lösungen polylogarithmisch ist.

Manchmal gehen diese beiden Begriffe jedoch auseinander, und ein Problem ist nur im ersten Sinne einfach. Eine gängige Technik für Approximationsalgorithmen und parametrisierte Komplexität besteht beispielsweise darin, (grob) zu beweisen, dass der Lösungsraum tatsächlich auf eine viel kleinere Größe als die naive Definition beschränkt werden kann, und dann mithilfe von Brute-Force die beste Antwort in diesem begrenzten Raum zu finden . Wenn wir von vornherein beschränken uns auf, sagen wir, n ^ 3 mögliche Antworten, aber wir müssen noch jeden überprüfen, dann in einem gewissen Sinn , solche Probleme noch „hart“ sind, dass es keinen besseren Algorithmus als Brute-Force.

Umgekehrt, wenn wir ein Problem mit einer doppelt exponentiellen Anzahl möglicher Antworten haben, es aber nur in exponentieller Zeit lösen können, dann möchte ich sagen, dass ein solches Problem "einfach" ist ("strukturiert" ist möglicherweise besser Wort), da die Laufzeit nur die Größe des Lösungsraums protokolliert.

Kennt jemand einen Artikel, der sich mit Härte befasst, die auf der Lücke zwischen einem effizienten Algorithmus und Brute-Force oder Härte im Verhältnis zur Größe des Lösungsraums basiert?

Ian
quelle

Antworten:

12

Ein Problem bei der Formalisierung der Frage ist, dass der Ausdruck "Lösungsraum für Problem A" nicht genau definiert ist. Die Definition eines Lösungsraums erfordert einen Überprüfungsalgorithmus , der bei einer gegebenen Instanz und einer Kandidatenlösung überprüft, ob die Lösung korrekt ist oder nicht. Dann ist der Lösungsraum einer Instanz, die an einen Prüfer gesendet wird, der Satz von Kandidatenlösungen, die die Prüferausgabe "korrekt" machen.

Nehmen wir zum Beispiel das Problem SAT0: Wird es bei einer Booleschen Formel durch die Zuweisung aller Nullen erfüllt? Dieses Problem tritt trivialerweise in polynomialer Zeit auf, aber der Lösungsraum kann je nach verwendetem Verifizierer sehr unterschiedlich sein. Wenn Ihr Prüfer die in Frage kommende Lösung ignoriert und nur prüft, ob für die Instanz nur Nullen zulässig sind, ist der "Lösungsbereich" für jede SAT0-Instanz auf diesem Prüfer trivial: Es sind alle möglichen Lösungen. Wenn Ihr Prüfer prüft, ob die in Frage kommende Lösung eine zufriedenstellende Aufgabe ist, kann der Lösungsraum einer SAT0-Instanz tatsächlich recht komplex sein, wohl so komplex wie der Lösungsraum einer SAT-Instanz.

t(n,k)nknkO(2kt(n,k))

O(2kt(n,k))2n

Das Papier zeigt einige interessante Konsequenzen der Verbesserung der Brute-Force-Suche nach einigen Problemen. Selbst eine Verbesserung der Brute-Force-Suche nach "Lösungsräumen in Polynomgröße" hätte interessante Konsequenzen.

Ryan Williams
quelle
1
..
Ich bin mehr als ein bisschen zurückhaltend meine eigenen Papiere in einer Antwort zu verweisen. Aber wenn es genau auf die Frage passt, ist es schwer zu widerstehen ...
Ryan Williams
5

Wie würden Sie mit typischen Problemen der dynamischen Programmierung umgehen? Hier passiert häufig, dass der Raum optimaler Lösungen polynomial begrenzt ist, der Raum der Lösungen jedoch nicht. Es scheint also in Ihrem Sinne "einfach" zu sein, weil die Laufzeit im Lösungsraum logarithmisch ist, aber es ist in Ihrem Sinne "schwer", weil alle potenziell optimalen Lösungen mit "Brute Force" durchlaufen werden.

Suresh Venkat
quelle
Es gibt eine Reihe von Feinheiten in Definitionen, die herausgearbeitet werden müssten, wie genau die Algorithmen, die als Brute Force bezeichnet werden. Ich würde wahrscheinlich versuchen, den Lösungsraum wie folgt einzuschränken: Wenn Sie für eine bestimmte Problemgröße eine Antwort aus der Überlegung entfernen können, ohne die Daten zu betrachten, befindet sie sich nicht im Lösungsraum (dies ermöglicht zugegebenermaßen mehrere unterschiedliche Lösungsräume). Trotzdem würde ich mich über eine Antwort freuen, die meiner Frage im Geiste ähnlich ist, auch wenn sie sich in vielen Details unterscheidet.
Ian
3

Die Perspektive scheint einige Dinge anzunehmen, wie die Endlichkeit von Lösungsräumen.

Denken Sie beispielsweise an das Problem, eine Voronoi-Tesselation aus einer Reihe von Eingabepunkten zu generieren. Hier gibt es einen unendlich großen Lösungsraum, da jeder Punkt in den Kanten des Diagramms ein Tupel reeller Zahlen ist. Eine Lösung kann jedoch in O (n log (n)) in der Anzahl der Eingabepunkte (für die Ebene) erreicht werden.

Ross Snider
quelle
Es ist richtig, dass einige Probleme möglicherweise nicht in dieses Framework passen. Bei einigen Problemen mit reellen Zahlenausgaben kann man den Raum möglicherweise endlich machen, indem man die Ausgabe algebraisch in Bezug auf die Eingaben beschreibt (z. B. als lineare Kombinationen von Eingabepunkten). Ich weiß nicht viel über geometrische Algorithmen, bei denen in der Regel reelle Zahlen auftreten. Daher bin ich mir nicht sicher, wie oft oder ob dies möglich wäre.
Ian
1
Reelle Zahlen sind nicht der einzige Weg, um unendliche Lösungsräume zu erhalten. Betrachten Sie ein Spiel zwischen Alice und Bob. Alice wählt eine ganze Zahl n aus. Bob macht Vermutungen und Alice sagt ihm, ob er höher, niedriger oder gleich ihrem Geheimnis ist. Bob hat eine endliche Zeitstrategie, um n zu finden, weil es immer endlich ist. Er beginnt eine 0 und wählt dann eine große Konstante c. Alice sagt ihm, in welche Richtung ihr n ist und Bob wird raten, ob er sich drehen soll, bis er eine Unter- und Obergrenze findet, wo er eine binäre Suche nach n durchführt. Andererseits, nehme ich an, könnten Sie argumentieren, dass es einen endlichen Lösungsraum in der Anzahl der Bits von n gibt ...
Ross Snider
3

Verwandte sind Probleme, die Algorithmen mit Polynomverzögerung zulassen . Die erste Lösung und jede nachfolgende Lösung kann in Polynomzeit erzeugt werden. Johnson, Yannakakis und Papdimitriou diskutieren diesen Rahmen im Zusammenhang mit anderen möglichen Lücken (wie der polynomialen Gesamtzeit): Bei der Generierung aller maximalen unabhängigen Mengen , Information Processing Letters 27 , 119–123, 1988.

András Salamon
quelle