Accélérations polynomiales avec algorithmes basés sur une programmation semi-définie


17

Ceci fait suite à une question récente posée par A. Pal: Résolution de programmes semi-définis en temps polynomial .

Je reste perplexe sur le temps d'exécution réel des algorithmes qui calculent la solution d'un programme semi-défini (SDP). Comme Robin l'a souligné dans son commentaire sur la question ci-dessus, les SDP ne peuvent pas être résolus en temps polynomial en général.

Il s'avère que, si nous définissons soigneusement notre SDP et que nous imposons une condition sur la façon dont la région primale réalisable est bien délimitée, nous pouvons utiliser la méthode ellipsoïde pour donner une limite polynomiale sur le temps nécessaire pour résoudre le SDP (voir la section 3.2 in L. Lovász, Programmes semi - définis et optimisation combinatoire ). La borne donnée il y a un " temps polynomial " générique et ici je m'intéresse à une borne moins grossière.

La motivation vient de la comparaison de deux algorithmes utilisés pour le problème de séparabilité quantique (le problème réel n'est pas pertinent ici, alors n'arrêtez pas de lire les lecteurs classiques!). Les algorithmes sont basés sur une hiérarchie de tests qui peuvent être convertis en SDP, et chaque test de la hiérarchie est sur un espace plus grand, c'est-à-dire que la taille du SDP correspondant est plus grande. Les deux algorithmes que je veux comparer diffèrent dans le compromis suivant: dans le premier, pour trouver la solution dont vous avez besoin pour gravir plus de marches de la hiérarchie et dans le second, les marches de la hiérarchie sont plus hautes, mais vous devez grimper moins d'eux. Il est clair que dans l'analyse de ce compromis, un temps d'exécution précis de l'algorithme utilisé pour résoudre le SDP est important. L'analyse de ces algorithmes est réalisée par Navascués et al. à arxiv: 0906.2731, où ils écrivent:

... la complexité temporelle d'un SDP à variables et de taille de matrice n est O ( m 2 n 2 ) (avec un petit surcoût provenant d'une itération d'algorithmes).mnO(m2n2)

Dans un autre article , où cette approche du problème a été proposée pour la première fois, les auteurs donnent la même limite, mais ils utilisent le terme plus prudent " nombre d'opérations arithmétiques " au lieu de " complexité temporelle ".

Ma question est double:

  • Quels algorithme / limite sont Navascués et al. se référant à?
  • Puis-je remplacer l'expression "temps polynomial" dans Lovász par quelque chose de moins grossier (en gardant les mêmes hypothèses)?

1
Ma compréhension est que la méthode ellipsoïde a donné des réponses qui se trouvaient dans l'erreur additive dans le polynôme temporel en log ( 1 / ϵ ) . Pour la plupart des problèmes, on peut soupçonner que ε = Ω ( 1 / 2 n ) pourrait suffire. ϵJournal(1/ϵ)ϵ=Ω(1/2n)
Suresh Venkat

@SureshVenkat: C'est vrai, la méthode ellipsoïde fonctionne en polynôme temporel dans la taille des matrices d'entrée, la taille des contraintes et le . Le problème est que, pour l'application que j'ai mentionnée dans la question, il ne suffit pas de dire "polynôme", j'ai besoin d'une limite plus précise. Journal(1/ϵ)
Alessandro Cosentino

Réponses:


12

Je ne connais pas les détails de la méthode ellipsoïde spécifiquement pour les programmes semi-définis, mais même pour les programmes linéaires , l'analyse de la méthode ellipsoïde est assez subtile.

  • Tout d'abord, il faut limiter le nombre d'itérations de l' algorithme ellipsoïde idéal . Soit l'ellispoïde utilisé dans le iEjeje ème itération de l'algorithme ellipsoïde, et soit son centroïde. Dans l'algorithme idéal, un oracle de séparation / appartenance vous donne un demi-espace h i qui contient le point optimal x mais pas le centroïde c i . L'ellipsoïde suivant E i + 1 est le plus petit ellipsoïde contenant E ih i . Pour chaque i , nous avonscjehjeXcjeEje+1Ejehjeje, oùnest la dimension. Ainsi, étant donné un ellipsoïde de départ raisonnable, le nombre d'itérations est polynomial ennetlog(1/ε). Le calcul deEi+1 àpartir deEiethinécessite (grossièrement)O(n2) desopérations arithmétiques. Ainsi, le nombre d'opérations arithmétiques est également polynomial dansnetlog(vol(Eje+1)<(1-1n)vol(Eje)nnJournal(1/ε)Eje+1EjehjeO(n2)n .Journal(1/ε)

  • Cependant, certaines de ces opérations arithmétiques sont des racines carrées! Il s'ensuit que les coefficients de l'ellipsoïde idéal sont des nombres irrationnels de degré 2 i , et il n'y a donc aucun espoir de réellement calculer E i + 1 exactement dans un temps raisonnable. Donc, à la place, on calcule une approximation externe proche ˜ E iE i à chaque itération en utilisant l'arithmétique de précision finie. Grötschel, Lovasz et Schrijver prouvent que si l'on utilise (disons) 10 i bits de précision dans la  i ème itération, nous avons encore v o l (Eje2jeEje+1 E~jeEjedixjeje, donc le nombre d'itérations augmente d'au plus un facteur constant. Mais maintenant, chaque opération arithmétique pendant laième itération (y compris les opérations effectuées par l'oracle de séparation) nécessiteO(ipolylogi)temps.vol(E~je+1)<O(1-1n)vol(E~je)jeO(je polylog je)

nJournal(1/ε)


Merci d'avoir répondu. Si je compte correctement, voici ce que j'ai (très grossièrement): je=1n. d'itérationsO(n2)×O(jepolylogje)nJournal(1/ϵ)nn2

Une dernière chose: le nombre de contraintes ne devrait-il pas apparaître également quelque part dans l'analyse? Est-ce également spécifique aux programmes linéaires?
Alessandro Cosentino

1
Vous devez également prendre en compte le temps de fonctionnement de l'oracle de séparation; c'est là que le nombre de contraintes apparaît. Pour les LP explicites, l'oracle de séparation essaie juste les contraintes une à la fois. Pour les LPs implicitement représentés, c'est plus compliqué.
Jeffε
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.