Приклади іграшок для розв'язувачів Плоткін-Шмойс-Тардос та Арора-Кале


34

Мені хотілося б зрозуміти, як вирішувач SDP Arora-Kale наближає релаксацію Гомена-Вільямсона майже в лінійний час, як розв'язувач Плоткін-Шмойс-Тардос наближає дробові проблеми "упаковки" та "покриття" за майже лінійний час та як алгоритми є мотивами абстрактної рамки "навчання у експертів".

Дисертація Кейла має чудову презентацію, але мені дуже важко безпосередньо перейти до абстрактних рамок, і я вважаю за краще почати з прикладу простої проблеми, для якої абсолютно очевидно, що робити, а потім перейти до більш загальних проблем , поступово додаючи "функції" до алгоритму та його аналізу.

Наприклад:

Як Плоткін-Шмойс вирішує лінійне розслаблення програмованого невагомого вершинного покриву? Обважена вершинна кришка? Встановити кришку? Біпартітове узгодження?

Який найпростіший приклад, коли алгоритм Арора-Кале робить щось цікаве? Як обчислюється найбільше власне значення лаплаціанського графіка?

(Обчислення найбільшого власного значення лаплаціанського еквівалента проблемі розв'язання слабшої версії релаксації Гемана-Вільямсона SDP Макса Різа, в якій замість того, щоб вимагати, щоб кожен вектор був довжиною один, потрібно суму квадратів норм бути | V |.)


2
Це приємне запитання.
Суреш Венкат

4
Для розуміння алгоритмів стилю PST для проблем упаковки добре переглянути алгоритми для приблизно вирішення задачі потоку багатокомпонентності, звідки PST розвинувся. У роботі Ніла Янга детально описана обкладинка. Ihttp: //www.cs.ucr.edu/~neal/non_arxiv/SODA_1995_170.pdf. Я вважав, що опитування Арори-Кале-Хазан також робить чіткий зв'язок між експертними рамками та вирішенням упаковки / покриття.
Чандра Чекурі

1
@ChandraChekuri: Це доволі затягнуто, але мені цікаво, чи варто на це відповісти?
Суреш Венкат

2
FWIW, про деякі замітки, що розширюються на згаданому документі SODA @ChandraChekuri, див. Greedyalgs.info/blog/about .
Ніл Янг

Оновлено посилання: algnotes.info/on/obliv
Ніл Янг

Відповіді:


26

Лука, оскільки минув рік, ти, мабуть, вивчив власну відповідь. Я відповідаю на деякі ваші запитання тут лише для запису. Я переглядаю деякі алгоритми релаксації Лагрангія для проблем, про які ви згадуєте, і нарисую зв’язок із навчанням (зокрема, дотримуючись поради експертів). Я не коментую тут алгоритми SDP.

Зауважте, що конкретні алгоритми, які ви згадуєте, не працюють майже в лінійний час. (Існує майже лінійний часовий алгоритм для явно заданих проблем з упаковкою або покриттям. Див. « Побиття симплекса» для дробової упаковки та покриття лінійних програм .) У алгоритмів, які ви маєте на увазі, зазвичай є варіанти, які виконуються з майже лінійною кількістю ітерацій , але кожен ітерація, як правило, вимагає принаймні лінійного часу. Деякі з цих алгоритмів я обговорюю нижче.

Деякі корисні функції

yLmax(y)lniexp(yi)maxiyi

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

Для зручності у подальшому ми використовуємо для позначення градієнта Lmin. Ми використовуємо для позначення градієнта Lmax.g(y)Lmin(y)G(y)Lmax(y)

Явно є тоді як - .gi(y)exp(yi)/iexp(yi)Gi(y)exp(yi)/iexp(yi)

Lmin і Lmax є гладкими в наступному значенні: для будь-яких векторів і , і d[0,ε]nyRn

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

Зауважимо, що обидва градієнта мають 1-норму, рівну 1: . (Протягом усього часу ми використовуємо для позначення 1-норми.)|G(y)|=|g(y)|=1|z|

Зауважимо також, що для матриці градієнт функції щодо дорівнює (за ланцюговим правилом) . Більш чітко, часткова похідна функції відносно є . Так само часткова похідна Lmax відносно є .AxLmin(Ax)x(g(Ax))TAxjiAijexp(Aix)/iexp(Aix)(Ax)xjiAijexp(Aix)/iexp(Aix)

Обкладинка дробового набору

Виправити екземпляр Set-Cover. Нехай позначає матрицю падіння елемента / множини. Таким чином, якщо , інакше 0, а - те, наскільки дробова кришка охоплює елемент .AAes=1esAexxe

LP - . Дано , алгоритм єmin{|x|:Ax1;x0}ε(0,1)


  1. Ініціалізуйте всі . Нехай . xs=0N=log(n)/ε
  2. Повторюйте, поки : mineAexN

    2.1. Виберіть максимізацію часткової похідної Lmin wrt . (Явно виберіть максимізацію .) s(Ax)xs s e s exp ( - s e x s )
    sesexp(sexs)

    2.2. Збільшити на . xsε

  3. Повернення .x/mineAex


Алгоритм повертає приблизне рішення в ітераціях , де - кількість елементів, а - оптимальне дробова кришка набору (тривіально ). (Аналогічний алгоритм з'являється у згаданому документі Чандра . Вершина Обкладинка, звичайно, є окремим випадком.)(1+O(ε))O(|x|log(n)/ε2)nx|x|n

( Зауваження: Зауважте, що обмежена ітерація не залежить від кількості наборів, а лише від кількості елементів. Таким чином, алгоритм може використовуватися з неявно визначеною системою множин, якщо, зважаючи на ваги на елементи, можна ефективно знайдіть набір максимальної (або майже максимальної) загальної ваги. Цей вид оракула такий же, як оракул розділення, необхідний для застосування алгоритму еліпсоїдів до подвійної проблеми. Для проблем з упаковкою, таких як встановлення упаковки, вам потрібен оракул, який, якщо задано вагу на елементи, повертає набір, мінімізуючи загальну вагу. Для таких проблем, як багатотоварний потік, можливо, вам, наприклад, знадобиться знайти шлях, що мінімізує суму деяких заданих вагових ваг.)

Ось ескіз доказу гарантії виконання. У кожній ітерації часткова похідна wrt вибраного становить щонайменше, де - оптимальна дробова кришка множин.s1/|x|x

(Щоб зрозуміти, чому, нагадаємо, що градієнт Lmin по відношенню до дорівнює . Якби ми вибрали безліч випадків з розподілу , очікуване значення часткової похідної відносно таким чином буде . Оскільки , це є щонайменше . Оскільки , це принаймні . Таким чином, повинні існувати деякі дають часткову похідну принаймні . Оскільки алгоритм вибирає(Ax)x(g(Ax))TAsx/|x|xs(g(Ax))TAx/|x|Ax1|g(Ax)|/|x||g(Ax)|=11/|x|s1/|x|xsу кожній ітерації для максимізації часткової похідної вона досягає часткової похідної принаймні.) 1 / | x |1/|x|

Тоді розмір кроку вибирається досить малим, щоб жодна координата збільшувалася більш ніж . Таким чином, через гладкість Lmin збільшення до збільшується принаймні .εAxεxsxs+εLmin(Ax)(1O(ε))ε/|x|

Таким чином алгоритм підтримує інваріант (Зверніть увагу, що Lmin дорівнює .)

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

При закінченні, в інваріанті, термін дорівнює разів ліворуч, тому при обчисленні виходить. Після нормалізації в останньому рядку алгоритму це означає.lnnO(ε)mineAex(1O(ε))|x|/|x||x|(1+O(ε))|x|

FWIW, нерівності, що беруть участь у доведенні інваріанта, по суті такі ж, як і ті, що брали участь у доведенні межі Черноффа. (Насправді цей алгоритм можна отримати, застосовуючи метод умовних ймовірностей до схеми рандомізованого округлення, яка багаторазово вибирає набори з розподілу (із заміною), збільшуючи для кожного вибіркового набору Ця дерандомізація цього дає алгоритм: інваріант, що лежить в основі, полягає лише в тому, що песимістичний оцінювач залишається нижче 1. Експоненціальні покарання в песимістичному оцінці випливають із використання межі Черноффа в аналізі схеми округлення. Ця основна ідея пояснюється далі. у згаданому документі Чандра .)x/|x|xss

Фракційна вагова кришка (і загальне дробове покриття)

Щоб впоратися з такими проблемами, як зважена Set Cover ефективна , ми модифікуємо алгоритм використовувати нерівномірні збільшення (ідею з - за Garg і KÖNEMANN ).

LP - це , де діапазони за елементами, діапазони над множинами, а всі змінні не є -негативні. Щоб представити алгоритм, спочатку перепишіть проблему як загальну проблему, що охоплює. Нехай для а іншому випадку. Тоді (зі зміною змінних, масштабуванням кожного на ), LP є , що ми можемо розглядати як загальне покриття LP. Ось алгоритм:min{cx:(e)sexs1}esAes=1/csesAes=0xscsmin{|x|:Ax1;x0}


  1. Ініціалізуйте всі . Нехай .xs=0N=log(n)/ε

  2. Повторюйте, поки не будуть видалені всі обмеження, що охоплюють:

    2.1. Виберіть максимізацію часткової похідної Lmin wrt . (Явно виберіть максимізацію .)s(Ax)xs s e s exp ( - s e x s ) / c s
    sesexp(sexs)/cs

    2.2. Збільшити на , де вибирається максимально таким чином, що для кожного обмежуючого покриття збільшення становить щонайбільше .xsδδeAexε

    2.3 Видалити всі обмеження , що охоплюють таке , що .eAexN

  3. Повернення .x/mineAex


Алгоритм повертає -приближене рішення в ітераціях , де - кількість охоплюючих обмежень. (Кожна ітерація збільшує деякий на ; це може статися лише разів до обмеження, перш ніж воно буде видалено.) Доказ коректності по суті є тим же інваріантом, що і для Set Cover.(1+O(ε))O(nlog(n)/ε2)nAexεN/ε

Обважена вершинна кришка - це особливий випадок.

Максимальне часткове співпадіння біпаритів

Враховуючи графік , природним LP для задачі є .G=(U,W,E)max{|x|:v.evxe1}

У матричному поданні це упаковка LP з коефіцієнтами 0-1 ( якщо ). Такі проблеми не потребують нерівномірних приростів, тому простий алгоритм, аналогічний незваженому алгоритму Set Cover (але для упаковки), виконає:max{|x|:Ax1;x0}Ave=1ve


  1. Ініціалізуйте всі . Нехай .xe=0N=log(n)/ε
  2. Тоді як :Ax<N

    2.1. Виберіть мінімізацію часткової похідної Lmax wrt . (Явно виберіть щоб мінімізувати .)e(Ax)xe e v e exp ( e v x e )
    eveexp(evxe)

    2.2. Збільшити на . xeε

  3. Повернення .x/maxvAvx


Алгоритм повертає -приближене рішення в ітераціях . (Це тому, що кожна ітерація збільшується на , і, нарешті, перед нормалізацією, .)(1O(ε))O(nlog(n)/ε2)|x|ε|x|=O(Nn)

Просто для розваги, ось цікавий альтернативний алгоритм для ідеального співпадіння біпаритів. Нагадаємо, що . Нехай.G=(U,W,E)n=|U|=|W|


  1. Ініціалізуйте всі . Нехай . xe=0N=4ln(n)/ε
  2. Повторіть разів:nN

    2.1. Виберіть рівномірно у випадковому порядку з . 2.2. Виберіть таке, що мінімізація . 2.3. Збільшити на . uU
    w(u,w)Eewxe
    xuwε

  3. Повернення .x/N


Якщо має ідеальну відповідність, алгоритм повертає такий, що , і з великою ймовірністю для всіх вершин , , а для всіх вершин , . Якщо вас цікавлять деталі доказу, будь ласка, запитайте ...Gx|x|=nuU1O(ε)euxe1+O(ε)wWewxe1+O(ε)

Змішана упаковка та покриття

Можливо, ви запитали про двостороннє узгодження, сподіваючись на приклад змішаної проблеми з упаковкою та покриттям, тобто одна з форм Ось один алгоритм таких проблем. Спочатку нормалізуйте так, щоб і .

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

Нехай - кількість обмежень (рядки в плюс рядки в ).mPC


  1. Ініціалізуйте всі . Нехай .xj=0N=2ln(m)/ε
  2. У той час як :Px<N

    2.1. Виберіть так, щоб часткова похідна Lmax відносно була щонайбільше частковою похідною Lmin стосовно . (Явно виберіть такий, щоj(Px)xj(Cx)xjj

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

    2.2. Збільшити на , де вибрано максимально таким чином, що жодне обмеження або залишкове обмеження збільшується більш ніж на .xjδδPixCixε

    2.3. Видалити всі обмеження , що охоплюють , такі , що .iCixN

  3. Повернення .x/maxiPix


Якщо припустити, що дана проблема є здійсненною, алгоритм повертає такий, що і . Кількість ітерацій - , оскільки кожна ітерація збільшує деяке обмеження на , і це може статися для кожного обмеження не більше разів.xPx1Cx1O(ε)O(mln(m)/ε2)εN

Доказ коректності - через інваріант З інваріанта випливає Після закінчення лівий бік - , що підтверджує гарантію виконання.

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

На кроці 2.1 бажане повинно існувати до тих пір, поки початкова проблема є можливою. (Це тому, що для будь-якого можливого та будь-якого , якби ми вибрали випадковий з розподілу , очікуване значення часткової похідної Lmax по відношенню до буде не більше (див. попередній ескіз доведення для Set Cover). Аналогічно, очікуване значення часткової похідної Lmin щодо було б принаймні . Таким чином, існуєjx 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|jтаким чином, що часткова похідна Lmax щодо є щонайбільше частковою похідною Lmin .)(Px)xj(Cx)

Тоді інваріант підтримується в кожній ітерації, оскільки, вибираючи і , і гладкість Lmin і Lmax, збільшення до збільшує Lmax максимум на рази більше ніж збільшення Lmin .xjδxjxj+δ(Px)1+O(ε)(Cx)

Навчання (наступні експерти / прискорення)

Одним із посилань для розуміння цього зв'язку є Адаптивна гра в ігри з використанням мультиплікативних ваг , від Freund та Schapire. Ось короткий підсумок, щоб дати технічну ідею.

Розглянемо наступну повторну гру. У кожному раунді : t

  1. Ви вибираєте розподіл ймовірностей на ( так званих експертів ). pt[n]n
  2. Знаючи , противник вибирає вектор виплат . ptat[0,1]n
  3. Ви отримуєте виграш за раунд. ptat

Гра припиняється після деякої кількості раундів. Ваша мета - звести до мінімуму своє жалю порівняно з будь-яким експертом (тобто чистою стратегією) . Тобто ваша мета - мінімізувати .i(maxitait)tptat

Виправте будь-який . Нехай вектор позначає , тобто перевищує векторну суму векторів виплат до часу . Нагадаємо, що - градієнт Lmax .ε>0ytεstasεtG(y)(y)

Ось основна стратегія, яку ми проаналізуємо: На круглому виберіть щоб бути .tptG(yt1)

Перевіряючи, це дає виграш у круговому .atG(yt1)t

Через гладкості властивістю , Тобто, в кожному раунді не може збільшитися більше ніж на рази більше, ніж ваш окуп. Оскільки , це підтримує інваріант, що становить щонайбільше ваш загальний час окупності , плюс з іншого боку, ваше співчуття у порівнянні з кращим фахівцем. це , тF

Lmax(yt)Lmax(yt1)+(1+O(ε))εatG(yt1).
Lmax(yt)ε(1+O(ε))Lmax(0¯)=lnnLmax(yt)ε(1+O(ε)ln(n)imaxitaitε1maxiyit ε - 1 Lmax ( y t ), що в свою чергу, щонайбільше .ε1Lmax(yt)

Таким чином, ваш жаль, , плюс кращий від вашої загальної виплати.ε1ln(n)O(ε)

Зауваження: Я думаю, як зазначають Фроунд і Шапір, алгоритм "прискорення" (в теорії навчання) також мається на увазі в цьому аналізі. Детальнішу інформацію див. У їхньому документі.

Мінімізація загальної окупності

Ви можете отримати аналогічну стратегію для налаштування, де мета - мінімізувати , а не максимізувати, загальний окуп. Ваше жаль, яке ви все ще хочете звести до мінімуму, це . У цьому випадку відповідною стратегією є вибір для градієнта . З цією стратегією ваше жаління знову не більше плюс ніж ваша загальна виплата.tptatminiaitptLmin(yt)ε1lnnO(ε)

Підключення до алгоритмів релаксації Лагрангія

Щоб побачити з'єднання з алгоритмами релаксації Lagrangian, виправте екземпляр Set-Cover. Розглянемо останній тип гри (з метою мінімізації окупності), де експерти відповідають елементам вашої набірної системи. У кожному раунді вибрати розподіл ймовірностей бути градієнтом Lmin , як описано вище, і має противник вибирати виграш вектора як функція наступним чином : вибирають набір максимізація , то нехай якщо , а іншому випадку.ept(yt)atpts t e s p t e a t e = 1 e s t a t e = 0stespetaet=1estaet=0

Враховуючи правильну умову зупинки (обговорюється нижче), цей процес дає вам саме алгоритм Set-Cover, який обговорювався на початку.

Гарантія працездатності алгоритму випливає із пов'язаного з жалю наступним чином. Нехай бути скільки разів противник вибрав набір під час гри. Нехай - оптимальна дробова кришка множин. Нехайбути кількістю зіграних раундів. Зв'язане з жалем означає XssxT=|Xs|

tatptε1ln(m)+minetaet.

Використовуючи означення , й виграш ( й член у сумі зліва) дорівнює . Противник вибрав щоб мінімізувати цю виплату. Якщо противник замість цього вибрав випадковим чином з розподілу, очікування було б (Вище ми використовуємо, що для всіх , і ) Оскільки кожна виплата становить щонайменшеatttestpetststx/|x|

sxs|x|espet = 1|x|epetsexs  1|x|epet = 1|x|.
sexs1e|pt|=11/|x|, пов'язане з жалем означає За визначенням маємо (кожен раунд вибирає один набір), і , даючи Ми зупиняємо процес, коли , тож тоді (умови перестановки) Тобто нормалізація дає дробову кришку розміру не більше разів оптимальні.
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(ε))

Зауваження: У певному сенсі ця інтерпретація теорії навчання узагальнює алгоритмічну інтерпретацію. Однак деякі алгоритмічні прийоми, необхідні для ефективності (наприклад, нерівномірні прирости та випадання задоволених обмежень, що охоплюють), схоже, природним чином не переносяться в положення теорії навчання. Аналогічно, алгоритми змішаної упаковки та покриття ЛП (наприклад, такі ), схоже, не мають природних аналогів у навчальній теорії.


8
Це цілком відповідь !!
Суреш Венкат

1
Спасибі. Напевно, це переоцінило. Мене цікавлять відгуки: як доступно представити ці ідеї, що ще включити ...
Ніл Янг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.