Polynom-Beschleunigung mit Algorithmen, die auf semidefiniter Programmierung basieren

17

Dies ist eine Antwort auf eine kürzlich von A. Pal gestellte Frage: Lösen von semidefiniten Programmen in Polynomialzeit .

Ich bin immer noch verwirrt über die tatsächliche Laufzeit von Algorithmen, die die Lösung eines semidefiniten Programms (SDP) berechnen. Wie Robin in seinem Kommentar zu der obigen Frage ausführte, können SDPs im Allgemeinen nicht in polynomieller Zeit gelöst werden.

Es stellt sich heraus, dass wir, wenn wir unser SDP sorgfältig definieren und eine Bedingung dafür auferlegen, wie gut die realisierbare Region begrenzt ist, die Ellipsoidmethode verwenden können, um ein Polynom zu erhalten, das an die zur Lösung des SDP benötigte Zeit gebunden ist (siehe Abschnitt 3.2.) in L. Lovász, Semidefinite Programme und kombinatorische Optimierung ). Die dort angegebene Schranke ist eine generische " Polynomzeit " und hier interessiert mich eine weniger grobe Schranke.

Die Motivation stammt aus dem Vergleich zweier Algorithmen, die für das Quantentrennbarkeitsproblem verwendet wurden (das eigentliche Problem ist hier nicht relevant, hören Sie also nicht auf, klassische Leser zu lesen!). Die Algorithmen basieren auf einer Hierarchie von Tests, die in SDPs umgewandelt werden können, und jeder Test in der Hierarchie befindet sich auf einem größeren Raum, dh die Größe des entsprechenden SDP ist größer. Die beiden Algorithmen, die ich vergleichen möchte, unterscheiden sich in folgendem Kompromiss: Um die Lösung zu finden, müssen Sie mehr Stufen der Hierarchie erklimmen, und im zweiten Fall sind die Stufen der Hierarchie höher, aber Sie müssen weniger Stufen erklimmen von ihnen. Es ist klar, dass bei der Analyse dieses Kompromisses eine genaue Laufzeit des zur Lösung des SDP verwendeten Algorithmus wichtig ist. Die Analyse dieser Algorithmen wird von Navascués et al. in arxiv: 0906,2731, wo sie schreiben:

... die zeitliche Komplexität eines SDP mit Variablen und der Matrixgröße n ist O ( m 2 n 2 )mnO(m2n2) (mit einem geringen Mehraufwand durch eine Iteration von Algorithmen).

In einem anderen Artikel , in dem diese Herangehensweise zum ersten Mal vorgeschlagen wurde, geben die Autoren die gleiche Grenze an, verwenden jedoch den vorsichtigeren Begriff " Anzahl der arithmetischen Operationen " anstelle von " Zeitkomplexität ".

Meine Frage ist zweifach:

  • Welcher Algorithmus / welche Grenze sind Navascués et al. in Bezug auf?
  • Kann ich den Ausdruck "Polynomialzeit" in Lovász durch etwas weniger Grobes ersetzen (unter Beibehaltung der gleichen Annahmen)?
Alessandro Cosentino
quelle
1
Mein Verständnis ist, dass die Ellipsoidmethode Antworten lieferte, die innerhalb des additiven Fehlers im Zeitpolynom in log ( 1 / ϵ ) lagen . Für die meisten Probleme, könnte man vermuten , dass ε = Ω ( 1 / 2 n ) könnte ausreichen. ϵlog(1/ϵ)ϵ=Ω(1/2n)
Suresh Venkat
@SureshVenkat: Das ist richtig, die Ellipsoidmethode arbeitet im Zeitpolynom in der Größe der Eingabematrizen, der Größe der Nebenbedingungen und . Das Problem ist, dass ich für die Anwendung, die ich in der Frage erwähnt habe, eine genauere Grenze brauche, wenn ich nur "Polynom" sage. log(1/ϵ)
Alessandro Cosentino

Antworten:

12

Ich kenne die Details der Ellipsoidmethode nicht speziell für semidefinite Programme, aber selbst für lineare Programme ist die Analyse der Ellipsoidmethode ziemlich subtil.

  • Zunächst muss die Anzahl der Iterationen des idealen Ellipsoidalgorithmus begrenzt werden. Sei das in der i- ten Iteration des Ellipsoidalgorithmus verwendete Ellipsoid und sei c i sein Schwerpunkt. Im idealen Algorithmus ergibt ein Trennungs- / Zugehörigkeits-Orakel einen Halbraum h i , der den optimalen Punkt x ∗ enthält, jedoch nicht den Schwerpunkt c i . Das nächste Ellipsoid E i + 1 ist das kleinste Ellipsoid, das E ih i enthält . Für jedes i haben wirEiicihixciEi+1Eihii, wobeindie Dimension ist. Somit gegeben, ein vernünftiger Ausgangs Ellipsoid, die Anzahl von Iterationen ist Polynoms innundlog(1/ε). Das Berechnen vonEi+1ausEiundhierfordert (grob)O(n2)arithmetische Operationen. Die Anzahl der arithmetischen Operationen ist also auch innundlogpolynomisch(vol(Ei+1)<(11n)vol(Ei)nnlog(1/ε)Ei+1EihiO(n2)n .log(1/ε)

  • Einige dieser Rechenoperationen sind jedoch Quadratwurzeln! Daraus folgt, dass die Koeffizienten des idealen Ellipsoids irrationale Zahlen vom Grad 2 i sind und es daher keine Hoffnung gibt, E i + 1 in einer angemessenen Zeit exakt zu berechnen . Stattdessen berechnet man bei jeder Iteration eine enge äußere Näherung imation E iE i unter Verwendung von Arithmetik mit endlicher Genauigkeit. Grötschel, Loväsz und Schrijver beweisen , dass , wenn man Anwendungen (sagen wir) 10 i Bit Genauigkeit in der  i - ten Iteration, haben wir noch v o l (Ei2iEi+1 E~iEi10ii, so dass die Anzahl der Iterationen um höchstens einen konstanten Faktor zunimmt. Jetzt benötigt jede arithmetische Operation während deri-ten Iteration (einschließlich der Operationen, die vom Trennungsorakel ausgeführt werden)O(ipolylogi)-Zeit.vol(E~i+1)<O(11n)vol(E~i)iO(i polylog i)

nlog(1/ε)

Jeffε
quelle
i=1n. of iterationsO(n2)×O(ipolylogi)nlog(1/ϵ)nn2, ...).
Alessandro Cosentino
Eine weitere Sache: Sollte die Anzahl der Einschränkungen nicht auch irgendwo in der Analyse erscheinen? Ist dies auch spezifisch für lineare Programme?
Alessandro Cosentino
1
Sie müssen auch die Laufzeit des Trennungsorakels berücksichtigen; Hier zeigt sich die Anzahl der Einschränkungen. Bei expliziten LPs versucht das Trennungsorakel nur, die Bedingungen nacheinander zu erfüllen. Bei implizit dargestellten LPs ist es komplizierter.
Jeffs