Questo è il seguito di una recente domanda posta da A. Pal: Risolvere i programmi semidefiniti in tempo polinomiale .
Sto ancora sconcertando il tempo di esecuzione effettivo degli algoritmi che calcolano la soluzione di un programma semidefinito (SDP). Come ha sottolineato Robin nel suo commento alla domanda di cui sopra, gli SDP non possono essere risolti in tempi polinomiali in generale.
Si scopre che, se definiamo attentamente il nostro SDP e imponiamo una condizione su quanto ben definita sia la regione realizzabile primaria, possiamo usare il metodo ellissoide per dare un limite polinomiale al tempo necessario per risolvere l'SDP (vedi Sezione 3.2 in L. Lovász, programmi semidefiniti e ottimizzazione combinatoria ). Il limite dato lì è un generico " tempo polinomiale " e qui mi interessa un limite meno grossolano.
La motivazione viene dal confronto di due algoritmi usati per il problema della separabilità quantistica (il problema reale non è rilevante qui, quindi non smettere di leggere i lettori classici!). Gli algoritmi si basano su una gerarchia di test che è possibile eseguire il cast in SDP e ciascun test nella gerarchia si trova su uno spazio più ampio, ovvero la dimensione dell'SDP corrispondente è maggiore. I due algoritmi che voglio confrontare differiscono nel seguente compromesso: nel primo, per trovare la soluzione è necessario salire più gradini della gerarchia e nel secondo i gradini della gerarchia sono più alti, ma è necessario scalare meno di loro. È chiaro che nell'analisi di questo compromesso è importante un preciso tempo di esecuzione dell'algoritmo utilizzato per risolvere l'SDP. L'analisi di questi algoritmi è effettuata da Navascués et al. in arxiv: 0906.2731, dove scrivono:
... la complessità temporale di un SDP con variabili e dimensione della matrice n è O ( m 2 n 2 ) (con un piccolo costo aggiuntivo derivante da un'iterazione di algoritmi).
In un altro documento , in cui questo approccio al problema è stato proposto per la prima volta, gli autori danno lo stesso limite, ma usano il termine più cauto " numero di operazioni aritmetiche " anziché " complessità temporale ".
La mia domanda è duplice:
- Quale algoritmo / limite sono Navascués et al. riferito a?
- Posso sostituire l'espressione "tempo polinomiale" in Lovász con qualcosa di meno approssimativo (mantenendo le stesse ipotesi)?