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 ) (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)?