Примеры игрушек для решателей Plotkin-Shmoys-Tardos и Arora-Kale


34

Я хотел бы понять, как решатель SDP Arora-Kale приближает релаксацию Геманса-Уильямсона за почти линейное время, как решатель Плоткина-Шмойса-Тардоса приближает дробные задачи "упаковки" и "покрытия" за почти линейное время, и как алгоритмы являются примерами абстрактной структуры «обучение у экспертов».

Тезис Кейла имеет отличную презентацию, но мне очень трудно сразу перейти к абстрактной структуре, и я бы предпочел начать с примера простой задачи, для которой совершенно очевидно, что делать, а затем перейти к более общим задачам. , постепенно добавляя «особенности» к алгоритму и его анализу.

Например:

Как Плоткин-Шмойс решает линейную программную релаксацию невзвешенного покрытия вершин? Взвешенное покрытие вершин? Установить обложку? Двухстороннее соответствие?

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

(Вычисление наибольшего собственного значения лапласиана эквивалентно задаче решения более слабой версии релаксации SDP Геманса-Уильямсона для Max Cut, в которой вместо того, чтобы требовать, чтобы каждый вектор имел длину один, вы хотите получить сумму квадратов норм быть | V |.)


2
Это хороший вопрос.
Суреш Венкат

4
Чтобы понять алгоритмы в стиле PST для задач упаковки, хорошо бы взглянуть на алгоритмы для приближенного решения проблемы многокомпонентных потоков, из которой возникла PST. В статье Нила Янга подробно описан набор обложек. Ihttp: //www.cs.ucr.edu/~neal/non_arxiv/SODA_1995_170.pdf. Я думал, что опрос Arora-Kale-Hazan также делает очевидной связь между рамками экспертов и специалистами по упаковке / покрытию.
Чандра Чекури

1
@ChandraChekuri: Это довольно задержано, но мне интересно, если вы должны сделать это ответом?
Суреш Венкат

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

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

Ответы:


26

Лука, с тех пор, как прошел год, ты, наверное, нашел свой ответ. Я отвечаю на некоторые ваши вопросы здесь только для записи. Я рассматриваю некоторые алгоритмы лагранжевой релаксации для упомянутых вами проблем и очерчиваю связь с обучением (в частности, следуя советам экспертов). Я не комментирую здесь алгоритмы SDP.

Обратите внимание, что конкретные алгоритмы, которые вы упоминаете, не работают почти линейно. (Существует алгоритм с почти линейным временем для явно заданных задач упаковки или покрытия. См. Beating Simplex для дробной упаковки и покрытия линейных программ .) Алгоритмы, которые вы имеете в виду, обычно имеют варианты, которые выполняются с почти линейным числом итераций , но каждый итерация обычно требует как минимум линейного времени. Я обсуждаю некоторые из этих алгоритмов ниже.

Некоторые полезные функции

Прежде чем мы начнем, приведем некоторые функции, которые мы будем использовать в контрольных набросках. (Если вас интересуют алгоритмы, но не детали доказательства, вы можете пропустить их.) Для любого вектора определите как . Эта функция является верхней границей : Аналогично, определите как , нижнюю границу .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 . (Явным образом выберите maximizing .) 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

( Примечание: обратите внимание, что граница итерации не зависит от количества наборов, а только от числа элементов. Таким образом, алгоритм может использоваться с неявно определенной системой множеств, при условии, что с учетом весов элементов можно эффективно найти набор максимального (или почти максимального) общего веса. Этот вид оракула аналогичен оракулу разделения, необходимому для применения алгоритма эллипсоида к двойной задаче. Для задач упаковки, таких как набор упаковки, требуется оракул, который заданные веса элементов возвращают набор, минимизирующий общий вес. Для таких задач, как поток нескольких товаров, вам, например, может понадобиться найти путь, минимизирующий сумму некоторых заданных весов ребер.)

Вот набросок доказательства гарантии исполнения. В каждой итерации частная производная по выбранным не меньшегде - оптимальное покрытие дробного множества.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 / | х |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|

В то же время, неравенства, связанные с доказательством инварианта, по существу такие же, как и при доказательстве границы Чернова. (Фактически, этот алгоритм может быть получен путем применения метода условных вероятностей к схеме рандомизированного округления, которая многократно выбирает множества из распределения (с заменой), увеличивая для каждого выбранного множества Эта дерандомизация дает алгоритм: основной инвариант - это просто то, что пессимистическая оценка остается ниже 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 . (Явным образом выберите maximizing .)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/ε

Weighted Vertex Cover - особый случай.

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

Для данного графа естественным 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)

Просто для удовольствия, вот любопытный альтернативный алгоритм для Perfect Bipartite Matching. Напомним, что . Пусть,G=(U,W,E)n=|U|=|W|


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

    2.1. Выберите равномерно в случайном порядке из . 2.2. Выберите , чтобы минимизировало . 2,3. Увеличьте на . uUw ( u , w ) E e w x e x u w ε
    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 / | Икс xxjx/|x|(Px)xj1/|x|(Cx)xj1/|x|jтакой, что частная производная Lmax по является не более частной производной Lmin .)(Px)xj(Cx)

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

Обучение (после экспертов / повышения)

Одним из примеров понимания этой связи является адаптивная игра с использованием мультипликативных весов Фрейнда и Шапира. Вот краткое резюме, чтобы дать техническую идею.

Рассмотрим следующую повторную игру. В каждом раунде : 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 ( у т ) ε ( 1 + O ( ε ) ) Lmax ( ¯ 0 ) = LN п Lmax ( уt )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(ε)

Связь с алгоритмами лагранжиана-релаксации

Чтобы увидеть связь с алгоритмами лагранжевой релаксации, исправьте экземпляр Set-Cover. Рассмотрим последний тип игры (с целью минимизации выигрыша), когда эксперты соответствуют элементам вашей системы множеств. В каждом раунде выберите распределение вероятности в качестве градиента Lmin как указано выше, и пусть противник выберет вектор выигрыша как функцию следующим образом: выберите набор максимизируя , тогда пусть если , и противном случае.ept(yt)atptы т Σ е s р т е т е = 1 е с т т е = 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(ε))

Примечание: В некотором смысле, эта интерпретация теории обучения обобщает алгоритмическую интерпретацию. Тем не менее, некоторые алгоритмические методы, необходимые для эффективности (такие как неравномерное приращение и отбрасывание удовлетворенных ограничений покрытия), похоже, не переносятся в настройку теории обучения естественным образом. Аналогично, алгоритмы для смешанной упаковки и покрытия LP (например, этих ), похоже, не имеют естественных аналогов в условиях теории обучения.


8
Это вполне ответ !!
Суреш Венкат

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