Exemples de jouets pour les solveurs Plotkin-Shmoys-Tardos et Arora-Kale


34

Je voudrais comprendre comment le solveur SDP d’Arora-Kale se rapproche de la relaxation de Goemans-Williamson dans un temps presque linéaire, comment le solveur de Plotkin-Shmoys-Tardos se rapproche de problèmes de "compression" et de "couverture" fractionnels dans un temps presque linéaire, et comment les algorithmes sont des instanciations du cadre abstrait "apprendre des experts".

La thèse de Kale a une excellente présentation, mais je trouve très difficile de passer directement dans le cadre abstrait et je préférerais partir d'un exemple de problème simple pour lequel il est absolument évident de savoir quoi faire, puis passer à des problèmes plus généraux. , en ajoutant progressivement des "caractéristiques" à l’algorithme et à son analyse.

Par exemple:

Comment Plotkin-Shmoys résout-il la relaxation de programmation linéaire de la couverture de vertex non pondérée? Couverture de vertex pondérée? Set de couverture? Correspondance bipartite?

Quel est l'exemple le plus simple dans lequel l'algorithme Arora-Kale fait quelque chose d'intéressant? Comment calcule-t-il la plus grande valeur propre du laplacien d'un graphe?

(Calculer la plus grande valeur propre du laplacien équivaut au problème de la résolution d'une version plus faible de la relaxation Goemans-Williamson SDP de Max Cut, dans laquelle, au lieu d'exiger que chaque vecteur soit de longueur un, vous voulez la somme des carrés. des normes à être | V |.)


2
C'est une bonne question.
Suresh Venkat

4
Pour comprendre les algorithmes de type PST utilisés pour résoudre les problèmes d'emballage, il est conseillé de consulter des algorithmes permettant de résoudre approximativement le problème de flux de produits multiples qui est à l'origine de l'évolution de PST. Le document de Neal Young décrit la couverture du jeu en détail. Http://www.cs.ucr.edu/~neal/non_arxiv/SODA_1995_170.pdf. Je pensais que l’étude d’Arora-Kale-Hazan rendait explicitement explicite le lien entre le cadre d’experts et les solveurs d’emballage / recouvrement.
Chandra Chekuri

1
@ChandraChekuri: C'est plutôt en retard, mais je me demande si vous devriez en faire une réponse?
Suresh Venkat

2
FWIW, pour quelques notes développant le document SODA @ChandraChekuri mentionné, voir greedyalgs.info/blog/about .
Neal Young

Lien mis à jour: algnotes.info/on/obliv
Neal Young

Réponses:


26

Luca, depuis un an, vous avez probablement recherché votre propre réponse. Je réponds à certaines de vos questions ici pour le compte rendu. Je passe en revue quelques algorithmes de relaxation lagrangienne pour les problèmes que vous avez mentionnés et trace le lien avec l’apprentissage (en particulier, à la suite de conseils d’experts). Je ne commente pas ici les algorithmes SDP.

Notez que les algorithmes particuliers que vous avez mentionnés ne fonctionnent pas dans un temps presque linéaire. (Il existe un algorithme de temps quasi linéaire pour les problèmes d'emballage ou de couverture explicitement donnés. Voir Simulation de battements pour les programmes d'emballage linéaire et de couverture fractionnés .) Les algorithmes que vous avez en tête ont en général des variantes qui s'exécutent dans un nombre presque linéaire d' itérations , mais l'itération nécessite généralement au moins un temps linéaire. Je discute de certains de ces algorithmes ci-dessous.

Quelques fonctions utiles

yLmax(y)lniexp(yi)maxiyi

maxiyi  Lmax(y)  maxiyi+lnm.
Lmin(y)Lmax(y)miniyi

Par souci de commodité, nous utilisons le gradient de Lmin. Nous utilisons pour désigner le gradient de Lmax.g(y)Lmin(y)G(y)Lmax(y)

De manière explicite, est alors que est .gi(y)exp(yi)/iexp(yi)Gi(y)exp(yi)/iexp(yi)

Lmin et Lmax sont lisses dans le sens suivant: pour tout vecteur et , et d[0,ε]nyRn

Lmin(y+d)  Lmin(y) + (1O(ε))dg(y)
Lmax(y+d)  Lmax(y) + (1+O(ε))dG(y).

Notez que les deux gradients ont 1 norme égale à 1: . (Tout au long, nous utilisons pour désigner la norme 1.)|G(y)|=|g(y)|=1|z|

Notez également que, pour une matrice , le gradient de la fonction par rapport à est (selon la règle de la chaîne) . Plus explicitement, la dérivée partielle de la fonction par rapport à est . De même, la dérivée partielle de Lmax par rapport à est .AxLmin(Ax)x(g(Ax))TAxjiAijexp(Aix)/iexp(Aix)(Ax)xjiAijexp(Aix)/iexp(Aix)

Ensemble de fractionnement

Corrige une instance de Set-Cover. Soit la matrice d’incidence élément / ensemble. Ainsi, si , sinon 0 et est la mesure dans laquelle la couverture fractionnaire couvre l'élément .AAes=1esAexxe

Le LP est . Étant donné , l'algorithme estmin{|x|:Ax1;x0}ε(0,1)


  1. Initialise tous les . Soit . xs=0N=log(n)/ε
  2. Répéter jusqu'à ce que : mineAexN

    2.1. Choisir maximiser la dérivée partielle de Lmin wrt . (Explicitement, choisissez maximiser .) s(Ax)xs
    sesexp(sexs)

    2.2. Augmentez de . xsε

  3. Renvoie .x/mineAex


L'algorithme retourne une solution approximative dans , où est le nombre d'éléments et la valeur optimale. couverture de jeu fractionnaire (trivialement ). (Un algorithme similaire apparaît dans l'article mentionné par Chandra . Vertex Cover est bien sûr un cas à part.)(1+O(ε))O(|x|log(n)/ε2)nx|x|n

( Remarque: notez que la limite d'itération ne dépend pas du nombre de jeux, mais seulement du nombre d'éléments. Ainsi, l'algorithme peut être utilisé avec un système de jeu défini implicitement, à condition que, compte tenu du poids des éléments, Trouvez un ensemble de poids total maximal (ou quasi maximal). Ce type d'oracle est identique à l'oracle de séparation requis pour appliquer l'algorithme ellipsoïde au problème double . Pour les problèmes d'emballage tels que l'emballage d'ensemble, vous avez besoin d'un oracle qui, en fonction des poids sur les éléments, retourne un ensemble en minimisant le poids total. Pour des problèmes tels que le flux multi-produits, vous pouvez, par exemple, avoir besoin de trouver un chemin minimisant la somme de certains poids d'arêtes donnés.)

Voici un croquis de la preuve de la garantie de performance. A chaque itération, la dérivée partielle du choisi est au moins égale à, où est la couverture optimale des ensembles fractionnaires.s1/|x|x

(Pour savoir pourquoi, rappelons que le gradient de Lmin par rapport à est . Si nous devions choisir un ensemble au hasard dans la distribution , la valeur attendue de la dérivée partielle par rapport à serait donc . Depuis , cela est au moins . Puisque , il est au moins égal à . Il doit donc exister des donnant au moins une dérivée partielle . Puisque l'algorithme choisit(Ax)x(g(Ax))TAsx/|x|xs(g(Ax))TAx/|x|Ax1|g(Ax)|/|x||g(Ax)|=11/|x|s1/|x|xsà chaque itération pour maximiser la dérivée partielle, on obtient une dérivée partielle d'au moins.)1/|x|

Ensuite, la taille de pas est choisie juste assez petite pour qu'aucune coordonnée de n'augmente de plus que . Ainsi, en raison de la finesse de Lmin, augmenter en augmente d’au moins .εAxεxsxs+εLmin(Ax)(1O(ε))ε/|x|

De cette manière, l'algorithme conserve l'invariant (Notez que Lmin est égal à .)

Lmin(Ax)(1O(ε))|x|/|x|lnn.
(0¯)lnn

A la fin, dans l'invariant, le terme est fois le côté gauche; ainsi, par calcul, on obtient. Après la normalisation dans la dernière ligne de l'algorithme, cela implique.lnnO(ε)mineAex(1O(ε))|x|/|x||x|(1+O(ε))|x|

FWIW, les inégalités impliquées dans la démonstration de l'invariant sont essentiellement les mêmes que celles impliquées dans la démonstration de la liaison de Chernoff. (En fait, cet algorithme peut être dérivé en appliquant la méthode des probabilités conditionnelles à un schéma d'arrondi aléatoire qui échantillonne de manière répétée des ensembles de la distribution (avec remplacement), en augmentant pour chaque ensemble échantillonné Cette dérandomisation donne l'algorithme suivant: l'invariant sous-jacent est simplement que l'estimateur pessimiste reste en dessous de 1. Les pénalités exponentielles de l'estimateur pessimiste proviennent de l'utilisation de la limite de Chernoff dans l'analyse du schéma d'arrondi. dans le document mentionné par Chandra .)x/|x|xss

Couverture pondérée fractionnée (et couverture fractionnaire générale)

Pour traiter efficacement des problèmes tels que Weighted Set Cover , nous modifions l'algorithme pour utiliser des incréments non uniformes (une idée due à Garg et Konemann ).

Le LP est , où s'étend sur les éléments, sur les ensembles et toutes les variables sont non -négatif. Pour présenter l’algorithme, commencez par récrire le problème en tant que problème général. Soit pour et sinon. Ensuite (avec un changement de variables, en chaque l' de ), le LP est , que nous pouvons voir comme un LP couvrant l’ensemble. Voici l'algorithme:min{cx:(e)sexs1}esAes=1/csesAes=0xscsmin{|x|:Ax1;x0}


  1. Initialise tous les . Soit .xs=0N=log(n)/ε

  2. Répétez jusqu'à ce que toutes les contraintes de couverture aient été supprimées:

    2.1. Choisir maximiser la dérivée partielle de Lmin wrt . (Explicitement, choisissez maximisant .)s(Ax)xs
    sesexp(sexs)/cs

    2.2. Augmentez de , où est choisi de manière maximale, de sorte que, pour toute contrainte de couverture restante , l'augmentation de vaut au plus .xsδδeAexε

    2.3 Supprimer toutes les contraintes couvrant telles que .eAexN

  3. Renvoie .x/mineAex


L'algorithme renvoie une solution approchée dans , où est le nombre de contraintes de couverture. (Chaque itération augmente certains restants de ; cela ne peut arriver que fois à une contrainte avant qu'elle ne soit supprimée.) La preuve de l'exactitude est essentiellement par le même invariant que pour Set Cover.(1+O(ε))O(nlog(n)/ε2)nAexεN/ε

La couverture pondérée du sommet est un cas particulier.

Correspondance bipartite fractionnaire maximale

Étant donné le graphe , le problème naturel du problème est .G=(U,W,E)max{|x|:v.evxe1}

Dans la représentation matricielle, il s’agit d’un LP d’emballage avec 0-1 coefficients ( si ). De tels problèmes ne nécessitent pas d’incréments non uniformes, aussi un algorithme simple, analogue à l’algorithme non pondéré de couverture (mais pour l’emballage), fera:max{|x|:Ax1;x0}Ave=1ve


  1. Initialise tous les . Soit .xe=0N=log(n)/ε
  2. Tant que :Ax<N

    2.1. Choisir minimisant la dérivée partielle de Lmax wrt . (Explicitement, choisissez pour minimiser .)e(Ax)xe
    eveexp(evxe)

    2.2. Augmentez de . xeε

  3. Renvoie .x/maxvAvx


L'algorithme retourne une solution approchée dans . (Cela est dû au fait que chaque itération augmente de et, enfin, avant la normalisation, .)(1O(ε))O(nlog(n)/ε2)|x|ε|x|=O(Nn)

Juste pour le plaisir, voici un algorithme alternatif curieux pour Perfect Bipartite Matching. Rappelons que . Soit.G=(U,W,E)n=|U|=|W|


  1. Initialise tous les . Soit . xe=0N=4ln(n)/ε
  2. Répétez fois:nN

    2.1. Choisir uniformément au hasard . 2.2. Choisissez tel que minimizing . 2.3. Augmentez de . uU
    w(u,w)Eewxe
    xuwε

  3. Retour .x/N


Si a une correspondance parfaite, l'algorithme renvoie un tel que et, avec une probabilité élevée, pour tous les sommets , , et pour tous les sommets , . Si vous êtes intéressé par les détails de la preuve, veuillez demander ...Gx|x|=nuU1O(ε)euxe1+O(ε)wWewxe1+O(ε)

Emballage et recouvrement mixtes

Vous avez peut-être posé des questions sur l'appariement bipartite en espérant un exemple de problème d'emballage et de recouvrement mixtes , c'est-à-dire que l'une des formes Voici un algorithme pour de tels problèmes. Commencez par normaliser afin que et .

x? Pxp;Cxc;x0.
p=1¯c=1¯

Soit le nombre de contraintes (lignes de plus lignes de ).mPC


  1. Initialise tous les . Soit .xj=0N=2ln(m)/ε
  2. Tant que :Px<N

    2.1. Choisissez pour que la dérivée partielle de Lmax par rapport à soit au plus la dérivée partielle de Lmin par rapport à . (Explicitement, choisissez tel quej(Px)xj(Cx)xjj

    iPijexp(Pix)iexp(Pix)iCijexp(Cix)iexp(Cix).)

    2.2. Augmentez de , où est choisi de manière maximale de sorte qu'aucune contrainte ou la contrainte restante n'augmente de plus de .xjδδPixCixε

    2.3. Supprimer toutes les contraintes couvrant telles que .iCixN

  3. Renvoie .x/maxiPix


En supposant que le problème donné soit réalisable, l'algorithme renvoie un tel que et . Le nombre d'itérations est , car chaque itération augmente une contrainte de , et cela peut se produire pour chaque contrainte au plus fois.xPx1Cx1O(ε)O(mln(m)/ε2)εN

La preuve de correction est via l'invariant L'invariant implique À la fin, le côté gauche est , ce qui prouve la garantie de performance.

Lmax(Px)2ln(m)+(1+O(ε))Lmin(Cx).
maxPx2ln(m)+(1+O(ε))minCx.
Ω(log(m)/ε)

À l'étape 2.1, le souhaité doit exister tant que le problème d'origine est réalisable. (Ceci est dû au fait que, pour tout réalisable , et pour tout , si nous devions choisir un aléatoire dans la distribution , la valeur attendue de la dérivée partielle de Lmax vis-à-vis de serait au plus à (voir l’épreuve précédente pour Set Cover). De même, la valeur attendue de la dérivée partielle de Lmin par rapport à serait au moins . Ainsi, il y a unj xxjx/|x|(Px)xj1/|x|(Cx)xj1/|x|jtelle que la dérivée partielle de Lmax par rapport à soit au plus la dérivée partielle de Lmin .)(Px)xj(Cx)

Ensuite, l'invariant est maintenu dans chaque itération car, en choisissant et , et la régularité de Lmin et Lmax, augmenter en augmente Lmax d'au plus fois augmentation de Lmin .xjδxjxj+δ(Px)1+O(ε)(Cx)

Apprendre (suivre des experts / stimuler)

Une référence pour comprendre cette connexion est le jeu adaptatif utilisant des poids multiplicatifs de Freund et Schapire. Voici un résumé rapide pour donner l’idée technique.

Considérez le jeu répété suivant. A chaque tour : t

  1. Vous choisissez une distribution de probabilité sur (les soi-disant experts ). pt[n]n
  2. Connaissant , l’adversaire choisit ensuite un vecteur de gain . ptat[0,1]n
  3. Vous recevez gain pour le tour. ptat

Le jeu s'arrête après un certain nombre de tours. Votre objectif est de minimiser vos regrets par rapport à un expert unique (stratégie pure) . En d’autres , votre objectif est de minimiser .i(maxitait)tptat

Corrigez tout . Laissez vecteur désignent , qui est, fois la somme vectorielle des vecteurs de payoff jusqu'à temps . Rappelons que est le gradient de Lmax .ε>0ytεstasεtG(y)(y)

Voici la stratégie de base que nous analyserons: Au tour , choisissez pour être .tptG(yt1)

Par inspection, cela vous rapporte gain de au tour .atG(yt1)t

En raison de la propriété de fluidité de , Autrement dit, à chaque tour, ne peut pas augmenter de plus de fois votre gain. Puisque , cela maintient l'invariant selon lequel est au plus le total de vos délais de paiement , plus d'autre part, votre regret par rapport au meilleur expert. est , par exemple,F

Lmax(yt)Lmax(yt1)+(1+O(ε))εatG(yt1).
Lmax(yt)ε(1+O(ε))Lmax(0¯)=lnnLmax(yt)ε(1+O(ε)ln(n)imaxitaitε1maxiyit, qui est au plus .ε1Lmax(yt)

Ainsi, votre regret est au plus , plus fois votre gain total.ε1ln(n)O(ε)

Remarque: Je pense, comme le soulignent Freund et Schapire, qu'un algorithme de "stimulation" (dans la théorie de l'apprentissage) est également implicite dans cette analyse. Voir leur papier pour plus de détails.

Minimiser le gain total

Vous pouvez obtenir une stratégie similaire pour le paramètre dans lequel l'objectif est de minimiser plutôt que de maximiser le gain total. Votre regret, que vous souhaitez toujours minimiser, est . Dans ce cas, la stratégie correspondante consiste à choisir comme étant le gradient de . Avec cette stratégie, votre regret est encore au maximum plus fois le gain total.tptatminiaitptLmin(yt)ε1lnnO(ε)

Connexion aux algorithmes de relaxation lagrangienne

Pour voir la connexion aux algorithmes de relaxation lagrangienne, corrigez une instance de Set-Cover. Considérez ce dernier type de jeu (dans le but de minimiser les gains), où les experts correspondent aux éléments de votre système. Dans chaque tour, choisissez la distribution de probabilité comme étant le gradient de Lmin comme ci-dessus et demandez à l'adversaire de choisir le vecteur de paiement en fonction de comme suit: choisissez l'ensemble maximisant , alors laissez si , et sinon.ept(yt)atptstespetaet=1estaet=0

Compte tenu de la condition d'arrêt correcte (décrite ci-dessous), ce processus vous donne exactement l'algorithme Set-Cover décrit au début.

La garantie de performance de l'algorithme découle de la limite de regret comme suit. Soit le nombre de fois où l’adversaire a choisi la série cours de la partie. Soit la couverture d’ensemble fractionnaire optimale. Soitsoit le nombre de tours joués. Le regret lié implique XssxT=|Xs|

tatptε1ln(m)+minetaet.

En utilisant la définition de , le ième gain (le ième terme de la somme de gauche) est égal à . L'adversaire a choisi pour minimiser ce gain. Si l'adversaire avait plutôt choisi manière aléatoire dans la distribution, l’attente du gain aurait été de (Nous utilisons ci-dessus le pour tout , et ) Chaque gain étant au moins égal àatttestpetststx/|x|

sxs|x|espet = 1|x|epetsexs  1|x|epet = 1|x|.
sexs1e|pt|=11/|x|, le regret lié implique Par la définition de , nous avons (chaque tour choisit un ensemble), et , donnant Nous arrêtons le processus lorsque , donc alors (réorganisation des termes) C'est-à-dire que la normalisation donne un ensemble de couverture de taille au plus fois optimum.
T|x|ε1ln(m)+minetaet.
X|X|=Ttaet=e[est]=seXs
|X||x|ε1ln(m)+mineseXs.
mineseXs=Ω(ε2lnm)
|X|mineseXs  (1+O(ε)|x|.
X(1+O(ε))

Remarque: En un sens, cette interprétation de la théorie de l'apprentissage généralise l'interprétation algorithmique. Cependant, certaines des techniques algorithmiques nécessaires à l'efficacité (telles que des incréments non uniformes et des contraintes de couverture satisfaisantes) ne semblent pas se répercuter naturellement dans le cadre de la théorie de l'apprentissage. De même, les algorithmes de mélange d' emballage et LPs de couverture (par exemple , ces ) ne semblent pas avoir des analogues naturels dans la mise en théorie de l' apprentissage.


8
C'est tout à fait la réponse !!
Suresh Venkat

1
Merci. Probablement exagéré. Je suis intéressé par les commentaires: comment présenter ces idées de manière accessible, quoi d'autre à inclure ...
Neal Young
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.