Spielzeugbeispiele für Plotkin-Shmoys-Tardos- und Arora-Kale-Löser


34

Ich möchte verstehen, wie der Arora-Kale-SDP-Löser die Goemans-Williamson-Relaxation in nahezu linearer Zeit approximiert, wie der Plotkin-Shmoys-Tardos-Löser gebrochene "Packungs-" und "Deckungsprobleme" in nahezu linearer Zeit approximiert und wie die Algorithmen sind Instanzen des abstrakten Frameworks "Lernen von Experten".

Die Arbeit von Kale hat eine ausgezeichnete Präsentation, aber ich finde es sehr schwierig, direkt in den abstrakten Rahmen zu springen, und ich würde es vorziehen, von einem Beispiel eines einfachen Problems auszugehen, für das es absolut offensichtlich ist, was zu tun ist, und mich dann allgemeineren Problemen zuzuwenden und fügt dem Algorithmus und seiner Analyse schrittweise "Merkmale" hinzu.

Beispielsweise:

Wie lösen Plotkin-Shmoys die lineare Programmierrelaxation einer ungewichteten Vertex-Abdeckung? Gewichtete Scheitelpunktabdeckung? Deckung setzen? Bipartite Matching?

Was ist das einfachste Beispiel, in dem der Arora-Kale-Algorithmus etwas Interessantes bewirkt? Wie berechnet es den größten Eigenwert des Laplace-Werts eines Graphen?

(Die Berechnung des größten Eigenwerts des Laplace-Werts entspricht dem Problem, eine schwächere Version der Goemans-Williamson-SDP-Relaxation von Max Cut zu lösen, bei der nicht jeder Vektor die Länge eins haben muss, sondern die Summe der Quadrate der Normen zu sein | V |.)


2
Das ist eine schöne Frage.
Suresh Venkat

4
Um Algorithmen im PST-Stil für Packungsprobleme zu verstehen, sollten Sie sich Algorithmen ansehen, mit denen das Problem des Multicommodity-Flusses, aus dem sich PST entwickelt hat, näherungsweise gelöst werden kann. Neal Youngs Artikel beschreibt das Set-Cover im Detail. Ihttp: //www.cs.ucr.edu/~neal/non_arxiv/SODA_1995_170.pdf. Ich dachte, dass die Umfrage von Arora-Kale-Hazan auch den Zusammenhang zwischen dem Experten-Framework und Packing / Covering-Lösern verdeutlicht.
Chandra Chekuri

1
@ChandraChekuri: Es ist ziemlich verspätet, aber ich frage mich, ob Sie dies eine Antwort machen sollten?
Suresh Venkat

2
FWIW, für einige Anmerkungen, die sich auf das erwähnte SODA-Papier @ChandraChekuri beziehen, siehe greedyalgs.info/blog/about .
Neal Young

Aktualisierter Link: algnotes.info/on/obliv
Neal Young

Antworten:


26

Luca, seit ein Jahr vergangen ist, hast du wahrscheinlich deine eigene Antwort recherchiert. Ich beantworte einige Ihrer Fragen hier nur zur Veranschaulichung. Ich überprüfe einige Lagrange-Relaxationsalgorithmen auf die von Ihnen genannten Probleme und skizziere den Zusammenhang mit dem Lernen (insbesondere unter Befolgung fachmännischer Empfehlungen). Ich kommentiere hier keine SDP-Algorithmen.

Beachten Sie, dass die von Ihnen erwähnten Algorithmen nicht in nahezu linearer Zeit ausgeführt werden. (Es gibt einen nahezu linearen Zeitalgorithmus für explizit gegebene Packungs- oder Abdeckungsprobleme. Siehe Beating Simplex für gebrochenes Packen und Abdecken linearer Programme .) Die Algorithmen, an die Sie denken, haben normalerweise Varianten, die in einer nahezu linearen Anzahl von Iterationen ausgeführt werden Die Iteration erfordert typischerweise auch mindestens eine lineare Zeit. Ich diskutiere einige dieser Algorithmen unten.

Einige nützliche Funktionen

Bevor wir beginnen, sind hier einige Funktionen, die wir in den Proofskizzen verwenden werden. (Wenn Sie an den Algorithmen interessiert sind, aber nicht an den , können Sie .) Definieren Sie für jeden Vektor als . Diese Funktion ist eine Obergrenze für : Analog definieren Sie als , eine Untergrenze für .yLmax(y)lniexp(yi)maxiyi

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

Der bezeichnen wir mit den Gradienten von Lmin. Wir verwenden , um den Gradienten von Lmax zu bezeichnen.g(y)Lmin(y)G(y)Lmax(y)

Explizit ist während ist .gi(y)exp(yi)/iexp(yi)Gi(y)exp(yi)/iexp(yi)

Lmin und Lmax sind in folgendem Sinne glatt : Für alle Vektoren und gilt und d[0,ε]nyRn

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

Man beachte, dass beide Gradienten eine 1-Norm haben, die gleich 1 ist: . (Wir verwenden für die Bezeichnung der 1-Norm.)|G(y)|=|g(y)|=1|z|

Man beachte auch, dass für eine Matrix der Gradient der Funktion in Bezug auf (nach der Kettenregel) . Insbesondere kann die partielle Ableitung der Funktion in Bezug explizit auf IS . Ebenso ist die partielle Ableitung von Lmax mit Bezug auf IS .AxLmin(Ax)x(g(Ax))TAxjiAijexp(Aix)/iexp(Aix)(Ax)xjiAijexp(Aix)/iexp(Aix)

Bruchteile Satzabdeckung

Reparieren Sie eine Set-Cover-Instanz. Let bezeichnen die Element / set Inzidenzmatrix. Somit ist wenn , andernfalls 0, und ist das Ausmaß, in dem die gebrochene Abdeckung das Element bedeckt .AAes=1esAexxe

Die LP ist . Bei ist der Algorithmusmin{|x|:Ax1;x0}ε(0,1)


  1. Initialisiere alle . Sei . xs=0N=log(n)/ε
  2. Wiederholen, bis : mineAexN

    2.1. Wählen Sie die partielle Ableitung von Lmin zu maximieren WRT . (Explizit wählen maximier .) s(Ax)xs s e s exp ( - s e x s )
    sesexp(sexs)

    2.2. Erhöhe um . xsε

  3. Sie .x/mineAex


Der Algorithmus gibt eine ungefähre Lösung in Iterationen von , wobei die Anzahl der Elemente und das Optimum ist gebrochene Deckung setzen (trivial ). (Ein ähnlicher Algorithmus erscheint in der erwähnten Veröffentlichung Chandra . Vertex Cover ist natürlich ein Sonderfall.)(1+O(ε))O(|x|log(n)/ε2)nx|x|n

( Anmerkung: Es ist zu beachten, dass die gebundene Iteration nicht von der Anzahl der Mengen abhängt, sondern nur von der Anzahl der Elemente. Somit kann der Algorithmus mit einem implizit definierten Mengen-System verwendet werden, solange bei gegebener Gewichtung der Elemente effizient gearbeitet werden kann Finden Sie eine Menge von maximalem (oder nahezu maximalem) Gesamtgewicht. Diese Art von Orakel entspricht dem Trennungs-Orakel, das erforderlich ist, um den Ellipsoid-Algorithmus auf das doppelte Problem anzuwenden . Wenn Sie die Elemente gewichten, wird eine Menge zurückgegeben, die das Gesamtgewicht minimiert . Bei Problemen wie dem Multi-Commodity-Flow müssen Sie möglicherweise einen Pfad finden, der die Summe einiger gegebener Kantengewichte minimiert.)

Hier ist eine Skizze des Nachweises der Leistungsgarantie. In jeder Iteration ist die partielle Ableitung bezüglich des gewählten mindestens, wobei die optimale Teilmenge ist.s1/|x|x

(Um zu sehen , warum erinnert, dass der Gradient von Lmin in Bezug auf ist Wenn wir einen Satz wählen waren. aus der Verteilung zufällig , der erwartete Wert der partiellen Ableitung in Bezug auf wäre somit . Da , this ist mindestens . Da , ist dies mindestens . Es müssen also mindestens einige existieren , die eine partielle Ableitung ergeben . Da der Algorithmus wählt(Ax)x(g(Ax))TAsx/|x|xs(g(Ax))TAx/|x|Ax1|g(Ax)|/|x||g(Ax)|=11/|x|s1/|x|xsUm die partielle Ableitung zu maximieren, wird in jeder Iteration eine partielle Ableitung von mindestens.) 1 / | x |1/|x|

Dann wird die Schrittgröße gerade so klein gewählt, dass keine Koordinate von um mehr als zunimmt . Somit ist es aufgrund der Glätte von Lmin, zunehmenden zu erhöht durch mindestens .εAxεxsxs+εLmin(Ax)(1O(ε))ε/|x|

Auf diese Weise der Algorithmus die Invariante aufrecht (Beachten Sie, dass Lmin gleich .)

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

Bei Beendigung ist in der Invariante der Term mal die linke Seite, so dass man rechnerisch erhält. Nach der Normalisierung in der letzten Zeile des Algorithmus impliziert dies.lnnO(ε)mineAex(1O(ε))|x|/|x||x|(1+O(ε))|x|

FWIW, die Ungleichungen beim Nachweis der Invariante sind im Wesentlichen die gleichen wie beim Nachweis der Chernoff-Bindung. (Tatsächlich kann dieser Algorithmus abgeleitet werden, indem die Methode der bedingten Wahrscheinlichkeiten auf ein randomisiertes Rundungsschema angewendet wird, bei dem Mengen aus der Verteilung (mit Ersetzung) wiederholt abgetastet werden , wobei für jede abgetastete Menge erhöht wird Diese Derandomisierung ergibt den Algorithmus: Die zugrunde liegende Invariante ist nur, dass der pessimistische Schätzer unter 1 bleibt in der Zeitung Chandra erwähnt .)x/|x|xss

Fractional Weighted Set Cover (und allgemeine fraktionierte Deckung)

Um Probleme wie Weighted Set Cover effizient zu behandeln , modifizieren wir den Algorithmus so, dass ungleichmäßige Inkremente verwendet werden (eine Idee von Garg und Konemann ).

Die LP lautet , wobei sich über die Elemente erstreckt, sich über die Mengen erstreckt und alle Variablen nicht sind -Negativ. Um den Algorithmus zu präsentieren, schreiben Sie das Problem zunächst als allgemeines Abdeckungsproblem um. sei für und . Dann (mit einer Änderung der Variablen, wobei jedes durch ) ist die LP , das wir als allgemeine Covering-LP betrachten können. Hier ist der Algorithmus:min{cx:(e)sexs1}esAes=1/csesAes=0xscsmin{|x|:Ax1;x0}


  1. Initialisiere alle . Sei .xs=0N=log(n)/ε

  2. Wiederholen, bis alle Covering-Einschränkungen gelöscht wurden:

    2.1. Wählen Sie Maximieren der partiellen Ableitung von Lmin bezüglich . (Explizit wählen maximier .)s(Ax)xs s e s exp ( - s 'e x s ' ) / c s
    sesexp(sexs)/cs

    2.2. Erhöhe um , wobei maximal so gewählt wird, dass für jede verbleibende Bedeckungsbedingung die Zunahme von höchstens .xsδδeAexε

    2.3 Löschen aller abdeckt Einschränkungen , so dass .eAexN

  3. Return .x/mineAex


Der Algorithmus gibt eine - ungefähre Lösung in Iterationen von , wobei die Anzahl der überdeckenden Bedingungen ist. (Jede Iteration erhöht einige verbleibende um ; dies kann nur mal vorkommen, bevor eine Einschränkung gelöscht wird.) Der Beweis der Richtigkeit erfolgt über im Wesentlichen dieselbe Invariante wie für Set Cover.(1+O(ε))O(nlog(n)/ε2)nAexεN/ε

Weighted Vertex Cover ist ein Sonderfall.

Maximales fraktioniertes zweiteiliges Matching

Bei einem Graphen ist die natürliche LP für das Problem .G=(U,W,E)max{|x|:v.evxe1}

In der Matrixdarstellung ist dies eine Packungs-LP mit 0-1 Koeffizienten ( wenn ). Für solche Probleme sind keine uneinheitlichen Inkremente erforderlich. Ein einfacher Algorithmus, der dem ungewichteten Set-Cover-Algorithmus (aber für das Packen) entspricht, ist also ausreichend:max{|x|:Ax1;x0}Ave=1ve


  1. Initialisiere alle . Sei .xe=0N=log(n)/ε
  2. Während :Ax<N

    2.1. Wählen Sie die partielle Ableitung von Lmax bezüglich . (Wählen Sie explizit um zu minimieren .)e(Ax)xe
    eveexp(evxe)

    2.2. Erhöhen von . xeε

  3. Sie .x/maxvAvx


Der Algorithmus gibt eine - ungefähre Lösung in -Iterationen zurück. (Dies liegt daran, dass jede Iteration um zunimmt und schließlich vor der Normalisierung .)(1O(ε))O(nlog(n)/ε2)|x|ε|x|=O(Nn)

Aus Spaß ist hier ein kurioser alternativer Algorithmus für Perfect Bipartite Matching. Denken Sie daran, dass . Sei.G=(U,W,E)n=|U|=|W|


  1. Initialisiere alle . Es sei . xe=0N=4ln(n)/ε
  2. Wiederhole mal:nN

    2.1. Wähle gleichmäßig zufällig aus . 2.2. Wählen , so dass Minimierungs . 2.3. Erhöhen von . uUw ( u , w ) E e w x e x u w ε
    w(u,w)Eewxe
    xuwε

  3. Zurück .x/N


Wenn eine perfekte Abstimmung hat, kehrt der Algorithmus eine , so dass , und mit hohen Wahrscheinlichkeit für alle Scheitelpunkte , und für all Vertices , . Wenn Sie an den Details des Beweises interessiert sind, fragen Sie bitte ...Gx|x|=nuU1O(ε)euxe1+O(ε)wWewxe1+O(ε)

Gemischte verpackung und abdeckung

Möglicherweise haben Sie nach einem zweigliedrigen Abgleich gefragt, in der Hoffnung, ein Beispiel für ein gemischtes Packungs- und Abdeckungsproblem zu finden, d. Eine der Formen Hier ist ein Algorithmus für solche Probleme. Normalisieren Sie zunächst so, dass und .

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

Sei die Anzahl der Nebenbedingungen (Zeilen in plus Zeilen in ).mPC


  1. Initialisiere alle . Es sei .xj=0N=2ln(m)/ε
  2. Während :Px<N

    2.1. Wählen Sie so, dass die partielle Ableitung von Lmax in Bezug auf höchstens die partielle Ableitung von Lmin in Bezug auf . (Wähle explizit so, dassj(Px)xj(Cx)xjj

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

    2.2. Erhöhe um , wobei maximal so gewählt wird, dass keine Einschränkung oder verbleibende Einschränkung um mehr als zunimmt .xjδδPixCixε

    2.3. Löscht alle abdeckt Einschränkungen so dass .iCixN

  3. Rückgabe .x/maxiPix


Unter der Annahme, dass das gegebene Problem realisierbar ist, gibt der Algorithmus ein so dass und . Die Anzahl der Iterationen ist , da jede Iteration eine Einschränkung um erhöht , und dies kann für jede Einschränkung höchstens mal vorkommen.xPx1Cx1O(ε)O(mln(m)/ε2)εN

Der Beweis der Richtigkeit erfolgt über die Invariante Die Invariante impliziert Bei Beendigung ist die linke Seite , was die Leistungsgarantie belegt.

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

In Schritt 2.1 muss das gewünschte existieren, solange das ursprüngliche Problem realisierbar ist. (Dies liegt daran, dass für jedes mögliche und jedes , wenn wir ein zufälliges aus der Verteilung wählen , der erwartete Wert der partiellen Ableitung von Lmax in Bezug auf wäre höchstens (siehe vorherige Beweisskizze für Set Cover) Ebenso der erwartete Wert der partiellen Ableitung von Lmin in Bezug auf wäre mindestens . Es gibt also einjx x j x / | x | ( P x ) x j ' 1 / | x | ( C x ) x j ' 1 / | x | j ( P x ) x j ' ( C x ) xxjx/|x|(Px)xj1/|x|(Cx)xj1/|x|jso dass die partielle Ableitung von Lmax in Bezug auf höchstens die partielle Ableitung von Lmin .)(Px)xj(Cx)

Dann wird die Invariante in jeder Iteration beibehalten, weil durch die Wahl von und und die Glätte von Lmin und Lmax durch Erhöhen von auf Lmax um höchstens das fache erhöht wird Zunahme von Lmin .xjδxjxj+δ(Px)1+O(ε)(Cx)

Lernen (nach Experten / Boosten)

Eine Referenz zum Verständnis dieses Zusammenhangs ist das adaptive Spielen mit multiplikativen Gewichten von Freund und Schapire. Hier ist eine kurze Zusammenfassung, um die technische Idee zu geben.

Betrachten Sie das folgende wiederholte Spiel. In jeder Runde : t

  1. Sie wählen eine Wahrscheinlichkeitsverteilung auf (die sogenannten Experten ). pt[n]n
  2. In Kenntnis von wählt der Gegner dann einen Auszahlungsvektor . ptat[0,1]n
  3. Sie erhalten Auszahlung für die Runde. ptat

Das Spiel stoppt nach einigen Runden. Ihr Ziel ist es, Ihr Bedauern im Vergleich zu einem einzelnen Experten (dh einer reinen Strategie) so gering wie möglich zu halten .Das heißt, Ihr Ziel ist es, zu minimieren .i(maxitait)tptat

Fix jedes . Der Vektor bezeichne , mal die Vektorsumme der Auszahlungsvektoren bis zum Zeitpunkt . Denken Sie daran, dass der Gradient von Lmax .ε>0ytεstasεtG(y)(y)

Hier ist die grundlegende Strategie, die wir analysieren werden: Wählen Sie in Runde als .tptG(yt1)

Nach Prüfung erhalten Sie eine Auszahlung von in Runde .atG(yt1)t

Wegen der von ist Das heißt, in jeder Runde kann nicht mehr als das -fache Ihrer Auszahlung betragen. Da , wird die Invariante beibehalten, dass höchstens Ihre Gesamtauszahlungszeit plus ist auf der anderen Seite, Ihr Bedauern im Vergleich zu den besten Experten. ist , dhF

Lmax(yt)Lmax(yt1)+(1+O(ε))εatG(yt1).
Lmax(yt)ε(1+O(ε))Lmax(0¯)=lnnLmax(yt)ε(1+O(ε)ln(n)imaxitaitε1maxiyit ist wiederum höchstens .ε1Lmax(yt)

Daher ist Ihr Bedauern höchstens plus multipliziert mit Ihrer Gesamtauszahlung.ε1ln(n)O(ε)

Bemerkung: Ich denke, wie Freund und Schapire hervorheben, ist in dieser Analyse auch ein "Boosting" -Algorithmus (in der Lerntheorie) enthalten. Weitere Einzelheiten finden Sie in ihrem Artikel.

Minimierung der Gesamtauszahlung

Sie können eine ähnliche Strategie für die Einstellung ableiten, bei der das Ziel eher die Minimierung als die Maximierung der Gesamtauszahlung ist. Ihr Bedauern, das Sie immer noch minimieren möchten, ist . In diesem Fall besteht die entsprechende Strategie darin, als Gradienten von zu wählen . Mit dieser Strategie ist Ihr Bedauern wieder höchstens plus mal Ihre Gesamtauszahlung.tptatminiaitptLmin(yt)ε1lnnO(ε)

Anbindung an Lagrange-Relaxationsalgorithmen

Korrigieren Sie eine Set-Cover-Instanz, um die Verbindung zu Lagrange-Relaxationsalgorithmen zu sehen. Betrachten Sie die letztere Art von Spiel (mit dem Ziel, die Auszahlung zu minimieren), bei der die Experten den Elementen Ihres festgelegten Systems entsprechen. Wählen Sie in jeder Runde die Wahrscheinlichkeitsverteilung als den Gradienten von Lmin wie oben, und lassen Sie den Gegner den Auszahlungsvektor als eine Funktion von wie folgt wählen : Wählen Sie die Menge maximiere , dann lasse wenn , und ansonsten .ept(yt)atptstespetaet=1estaet=0

Unter der Voraussetzung, dass die Stoppbedingung korrekt ist (siehe unten), erhalten Sie bei diesem Vorgang genau den zu Beginn beschriebenen Set-Cover-Algorithmus.

Die Leistungsgarantie des Algorithmus ergibt sich aus dem Bedauern wie folgt. Lassen die Anzahl der Zeiten der Gegner wählte Satz während des Spiels. Sei die optimale Deckung für gebrochene Mengen. Seisei die Anzahl der gespielten Runden. Das gebundene Bedauern impliziert XssxT=|Xs|

tatptε1ln(m)+minetaet.

Unter Verwendung der Definition von ist der te Gewinn (der te Term in der Summe auf der linken Seite) gleich . Der Gegner wählte diese Auszahlung zu minimieren. Wenn der Gegner stattdessen zufällig aus der Verteilung, die Erwartung der Auszahlung wäre gewesen (Oben verwenden wir für alle und ) Da jede Auszahlung mindestens istatttestpetststx/|x|

sxs|x|espet = 1|x|epetsexs  1|x|epet = 1|x|.
sexs1e|pt|=11/|x|bedeutet das gebundene Bedauern Nach der Definition von haben wir (jede Runde wählt eine Menge) und , was ergibt Wir stoppen den Prozess, wenn , also (Begriffe neu ordnen) Das heißt, die Normalisierung von ergibt eine Teilmenge von höchstens mal optimal.
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(ε))

Bemerkung: Diese lerntheoretische Interpretation verallgemeinert gewissermaßen die algorithmische Interpretation. Einige der für die Effizienz erforderlichen algorithmischen Techniken (wie ungleichmäßige Inkremente und das Fallenlassen erfüllter Bedeckungsbeschränkungen) scheinen sich jedoch nicht auf die Lerntheorie zu übertragen. Ebenso scheinen Algorithmen für gemischte Pack- und Covering-LPs (z. B. diese ) keine natürlichen Analoga in der Lerntheorie zu haben.


8
Das ist schon die Antwort !!
Suresh Venkat

1
Vielen Dank. Wahrscheinlich hat es übertrieben. Ich bin an Feedback interessiert: Wie kann ich diese Ideen zugänglich präsentieren, was kann ich noch
Neal Young,
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.