Jest to kontynuacja ostatniego pytania zadanego przez A. Pala: Rozwiązywanie programów półfinałowych w czasie wielomianowym .
Nadal zastanawiam się nad faktycznym czasem działania algorytmów obliczających rozwiązanie programu półfinałowego (SDP). Jak zauważył Robin w swoim komentarzu do powyższego pytania, SDP-ów nie można ogólnie rozwiązać w czasie wielomianowym.
Okazuje się, że jeśli dokładnie zdefiniujemy nasz SDP i nałożymy warunek na to, jak dobrze ograniczony jest pierwotny możliwy do wykonania region, możemy zastosować metodę elipsoidy, aby wyznaczyć wielomian związany z czasem potrzebnym do rozwiązania SDP (patrz sekcja 3.2 w L. Lovász, Programy półfinałowe i optymalizacja kombinatoryczna ). Podana tam granica to ogólny „ czas wielomianowy ”, a tutaj interesuje mnie granica mniej zgrubna.
Motywacja pochodzi z porównania dwóch algorytmów zastosowanych do problemu separacji kwantowej (rzeczywisty problem nie ma tutaj znaczenia, więc nie przestawaj czytać klasycznych czytników!). Algorytmy są oparte na hierarchii testów, które można rzutować na SDP, a każdy test w hierarchii jest na większej przestrzeni, to znaczy rozmiar odpowiedniego SDP jest większy. Dwa algorytmy, które chcę porównać, różnią się następującymi kompromisami: w pierwszym, aby znaleźć rozwiązanie, musisz wspiąć się na większą liczbę etapów hierarchii, aw drugim kroki w hierarchii są wyższe, ale musisz wspiąć się mniej z nich. Oczywiste jest, że w analizie tego kompromisu ważny jest dokładny czas działania algorytmu zastosowanego do rozwiązania SDP. Analiza tych algorytmów została przeprowadzona przez Navascués i in. w arxiv: 0906.2731, gdzie piszą:
... złożoność czasowa SDP z zmiennymi i rozmiarem macierzy wynosi (przy niewielkim dodatkowym koszcie pochodzącym z iteracji algorytmów).n O ( m 2 n 2 )
W innym artykule , w którym po raz pierwszy zaproponowano takie podejście do problemu, autorzy dają to samo ograniczenie, ale używają bardziej ostrożnego terminu „ liczba operacji arytmetycznych ” zamiast „ złożoności czasowej ”.
Moje pytanie jest dwojakie:
- Który algorytm / granica to Navascués i in. odwołujący się do?
- Czy mogę zastąpić wyrażenie „czas wielomianowy” w Lovászu czymś mniej szorstkim (zachowując te same założenia)?
źródło
Odpowiedzi:
Nie znam szczegółów metody elipsoidalnej specjalnie dla programów półokreślonych, ale nawet dla programów liniowych analiza metody elipsoidalnej jest dość subtelna.
Po pierwsze, należy ograniczyć liczbę iteracji idealnego algorytmu elipsoidy. Niech być ellispoid stosowany w í th iteracji algorytmu elipsoidy, i niech C i być jej ciężkości. W algorytmie ideał, oracle separacji / członkostwo daje półprzestrzeni h í który zawiera punkt optymalny x * , ale nie ciężkości c ja . Następna elipsoida E i + 1 jest najmniejszą elipsoidą zawierającą E i ∩ h i . Dla każdego I mamyEi i ci hi x∗ ci Ei+1 Ei∩hi i , gdzienjest wymiarem. Tak więc, biorąc pod uwagę rozsądne wyjścia elipsoidalne, liczba iteracji jest wielomiannilog(1/ε). ObliczanieeI+1zEiihiwymaga (grubsza)O(n2)operacje arytmetyczne. Zatem liczba operacji arytmetycznych jest również wielomianowa wnilog1vol(Ei+1)<(1−1n)⋅vol(Ei) n n log(1/ε) Ei+1 Ei hi O(n2) n log(1/ε) .
Jednak niektóre z tych operacji arytmetycznych są pierwiastkami kwadratowymi! Wynika z tego, że współczynniki idealnej elipsoidy są nieracjonalnymi liczbami stopnia 2 i , więc nie ma nadziei na faktyczne obliczenie E i + 1 dokładnie w rozsądnym czasie. Zamiast tego oblicza się ścisłe przybliżenie zewnętrzne ˜ E i ⊃ E i przy każdej iteracji przy użyciu arytmetyki skończonej precyzji. Grötschel, Lovász i Schrijver okazać się, że przy użyciu (powiedzmy) 10 i bity precyzji w ı XX iteracji jeszcze v o, l (Ei 2i Ei+1 E~i⊃Ei 10i i , więc liczba iteracji wzrasta co najwyżej o stały współczynnik. Teraz jednak każda operacja arytmetyczna wıtą iterację (w tym operacje przeprowadzane przez wyroczni rozdzielania) wymagaO(Ipolylogı)razem.vol(E~i+1)<O(1−1n)⋅vol(E~i) i O(i polylog i)
źródło