Лука, с тех пор, как прошел год, ты, наверное, нашел свой ответ. Я отвечаю на некоторые ваши вопросы здесь только для записи. Я рассматриваю некоторые алгоритмы лагранжевой релаксации для упомянутых вами проблем и очерчиваю связь с обучением (в частности, следуя советам экспертов). Я не комментирую здесь алгоритмы SDP.
Обратите внимание, что конкретные алгоритмы, которые вы упоминаете, не работают почти линейно. (Существует алгоритм с почти линейным временем для
явно заданных задач упаковки или покрытия. См.
Beating Simplex для дробной упаковки и покрытия линейных программ .) Алгоритмы, которые вы имеете в виду, обычно имеют варианты, которые выполняются с почти линейным числом итераций , но каждый итерация обычно требует как минимум линейного времени. Я обсуждаю некоторые из этих алгоритмов ниже.
Некоторые полезные функции
Прежде чем мы начнем, приведем некоторые функции, которые мы будем использовать в контрольных набросках. (Если вас интересуют алгоритмы, но не детали доказательства, вы можете пропустить их.) Для любого вектора определите как . Эта функция является верхней границей :
Аналогично, определите как , нижнюю границу .yLmax(y)ln∑iexp(yi)maxiyimaxiyi ≤ Lmax(y) ≤ maxiyi+lnm.
Lmin(y)−Lmax(−y)miniyi
Для удобства в дальнейшем мы будем использовать для обозначения градиента в Lmin. Мы используем для обозначения градиента Lmax.g(y)∇Lmin(y)G(y)∇Lmax(y)
Явно, равно
то время как равно .gi(y)exp(−yi)/∑i′exp(−yi′)Gi(y)exp(yi)/∑i′exp(yi′)
Lmin и Lmax являются гладкими в следующем смысле: для любых векторов и ,
и
d∈[0,ε]ny∈RnLmin(y+d) ≥ Lmin(y) + (1−O(ε))d⋅g(y)
Lmax(y+d) ≤ Lmax(y) + (1+O(ε))d⋅G(y).
Обратите внимание, что оба градиента имеют 1-норму, равную 1:
. (Везде мы используем для обозначения 1-нормы.)|G(y)|=|g(y)|=1|z|
Отметим также, что для матрицы градиент функции относительно
равен (по правилу цепочки) . Более конкретно, частная производная функции по
имеет вид . Аналогично, частная производная от Lmax
по равна .Ax↦Lmin(Ax)x(g(Ax))TAxj∑iAijexp(−Aix)/∑iexp(−Aix)(Ax)xj∑iAijexp(Aix)/∑iexp(Aix)
Фракционный набор Обложка
Исправить экземпляр Set-Cover. Пусть обозначает матрицу инцидентности элемента / множества. Таким образом, если , иначе 0, и - это степень, в которой дробное покрытие покрывает элемент .AAes=1e∈sAexxe
LP является . Учитывая , алгоритмmin{|x|:Ax≥1;x≥0}ε∈(0,1)
- Инициализируйте все . Пусть . xs=0N=log(n)/ε
Повторяйте до : mineAex≥N
2.1. Выбрать максимизацию частную производную Lmin WRT .
(Явным образом выберите maximizing .) s(Ax)xs s ∑ e ∈ s exp ( - ∑ s ′ ∋ e x s ′ )
s∑e∈sexp(−∑s′∋exs′)
2.2. Увеличьте на . xsε
Вернуть .x/mineAex
Алгоритм возвращает приближенное решение за итераций, где - количество элементов, а - оптимальное покрытие дробного множества (тривиально ). (Подобный алгоритм появляется в упомянутой статье Чандра . Покрытие вершины, конечно, особый случай.)(1+O(ε))O(|x∗|log(n)/ε2)nx∗|x∗|≤n
( Примечание: обратите внимание, что граница итерации не зависит от количества наборов, а только от числа элементов. Таким образом, алгоритм может использоваться с неявно определенной системой множеств, при условии, что с учетом весов элементов можно эффективно найти набор максимального (или почти максимального) общего веса. Этот вид оракула аналогичен оракулу разделения, необходимому для применения алгоритма эллипсоида к двойной задаче. Для задач упаковки, таких как набор упаковки, требуется оракул, который заданные веса элементов возвращают набор, минимизирующий общий вес. Для таких задач, как поток нескольких товаров, вам, например, может понадобиться найти путь, минимизирующий сумму некоторых заданных весов ребер.)
Вот набросок доказательства гарантии исполнения. В каждой итерации частная производная по выбранным
не меньшегде - оптимальное покрытие дробного множества.s1/|x∗|x∗
(Чтобы понять почему, вспомним, что градиент Lmin относительно равен . Если бы мы выбрали случайный набор из распределения , ожидаемое значение частной производной по
будет, таким образом, . Поскольку , это по крайней мере . Поскольку , это не менее . Таким образом, должны существовать некоторые дающие частную производную по крайней мере . Поскольку алгоритм выбирает(Ax)x(g(Ax))TAs′x∗/|x∗|xs′(g(Ax))TAx∗/|x∗|Ax∗≥1|g(Ax)|/|x∗||g(Ax)|=11/|x∗|s1/|x∗|xsв каждой итерации, чтобы максимизировать
частную производную, она достигает частичной производной по крайней мере.) 1 / | х ∗ |1/|x∗|
Затем размер шага выбирается достаточно маленьким, чтобы ни одна координата увеличивалась более чем на . Таким образом, из-за гладкости Lmin увеличение
до увеличивает как минимум
,εAxεxsxs+εLmin(Ax)(1−O(ε))ε/|x∗|
Таким образом, алгоритм поддерживает инвариант
(Обратите внимание, что Lmin равно .)Lmin(Ax)≥(1−O(ε))|x|/|x∗|−lnn.
(0¯¯¯)lnn
По окончании в инварианте термин равен умноженному на левую часть, поэтому в результате вычисления получается, После нормализации в последней строке алгоритма это означает, что,lnnO(ε)mineAex≥(1−O(ε))|x|/|x∗||x|≤(1+O(ε))|x∗|
В то же время, неравенства, связанные с доказательством инварианта, по существу такие же, как и при доказательстве границы Чернова. (Фактически, этот алгоритм может быть получен путем применения метода условных вероятностей к схеме рандомизированного округления, которая многократно выбирает множества из распределения
(с заменой), увеличивая для каждого выбранного множества Эта дерандомизация дает алгоритм: основной инвариант - это просто то, что пессимистическая оценка остается ниже 1. Экспоненциальные штрафы в пессимистической оценке происходят от использования границы Черноффа при анализе схемы округления. Эта основная идея объясняется далее в документе упоминается Чандра .)x∗/|x∗|xss
Фракционное взвешенное множество покрытий (и общее фракционное покрытие)
Чтобы справиться с такими проблемами, как взвешенная Set Cover эффективна , мы модифицируем алгоритм использовать неравномерные приращения (идею из - за Garg и KÖNEMANN ).
LP является , где распространяется на элементы, - на наборы, а все переменные не являются -отрицательное. Чтобы представить алгоритм, сначала перепишите задачу как общую проблему покрытия. Пусть для и противном случае. Тогда (с заменой переменных, масштабируя каждое на ), LP будет , который мы можем рассматривать как общее покрытие LP. Вот алгоритм:min{c⋅x:(∀e)∑s∋exs≥1}esAes=1/cse∈sAes=0xscsmin{|x|:Ax≥1;x≥0}
Инициализируйте все . Пусть .xs=0N=log(n)/ε
Повторяйте, пока все ограничения покрытия не будут удалены:
2.1. Выбрать максимизацию частную производную Lmin WRT .
(Явным образом выберите maximizing .)s(Ax)xs s ∑ e ∈ s exp ( - ∑ s ′ ∋ e x s ′ ) / c s
s∑e∈sexp(−∑s′∋exs′)/cs
2.2. Увеличьте на , где выбирается максимально таким образом, чтобы при каждом оставшемся покрывающем ограничении увеличение не более .xsδδeAe⋅xε
2.3 Удалить все ограничения , охватывающие такое , что .eAe⋅x≥N
Вернуть .x/mineAe⋅x
Алгоритм возвращает -приближенное решение в итерациях, где - число ограничений покрытия. (Каждая итерация увеличивает некоторую оставшуюся на ; это может произойти только в раз с ограничением до того, как оно будет удалено.) Доказательство правильности выполняется по существу тем же инвариантом, что и для Set Cover.(1+O(ε))O(nlog(n)/ε2)nAexεN/ε
Weighted Vertex Cover - особый случай.
Максимальное дробное соответствие
Для данного графа естественным LP для задачи является .G=(U,W,E)max{|x|:∀v.∑e∋vxe≤1}
В матричном представлении это упаковка LP
с 0-1 коэффициентами ( если ). Такие проблемы не требуют неравномерных приращений, поэтому простой алгоритм, аналогичный невзвешенному алгоритму Set Cover (но для упаковки), подойдет:max{|x|:Ax≤1;x≥0}Ave=1v∈e
- Инициализировать все . Пусть .xe=0N=log(n)/ε
В то время как :Ax<N
2.1. Выберите минимизируя частную производную Lmax WRT .
(Явно выберите чтобы минимизировать .)e(Ax)xe e ∑ v ∈ e exp ( ∑ e ′ ∋ v x e ′ )
e∑v∈eexp(∑e′∋vxe′)
2.2. Увеличьте на . xeε
Вернуть .x/maxvAvx
Алгоритм возвращает -приближенное решение за итераций. (Это потому, что каждая итерация увеличивает на и, наконец, перед нормализацией .)(1−O(ε))O(nlog(n)/ε2)|x|ε|x|=O(Nn)
Просто для удовольствия, вот любопытный альтернативный алгоритм для Perfect Bipartite Matching. Напомним, что . Пусть,G=(U,W,E)n=|U|=|W|
- Инициализировать все . Пусть . xe=0N=4ln(n)/ε
Повторите раз:nN
2.1. Выберите равномерно в случайном порядке из .
2.2. Выберите , чтобы минимизировало .
2,3. Увеличьте на . uUw ( u , w ) ∈ E ∑ e ∋ w x e x u w ε
w(u,w)∈E∑e∋wxe
xuwε
Вернуть .x/N
Если имеет идеальное соответствие, алгоритм возвращает такой, что , и, с высокой вероятностью, для всех вершин , и для всех вершин , . Если вы заинтересованы в деталях доказательства, пожалуйста, спросите ...Gx|x|=nu∈U1−O(ε)≤∑e∋uxe≤1+O(ε)w∈W∑e∋wxe≤1+O(ε)
Смешанная упаковка и покрытие
Возможно, вы спрашивали о двустороннем сопоставлении, надеясь на пример смешанной проблемы упаковки и покрытия, то есть одной из форм
Вот один алгоритм для таких задач. Сначала нормализуйте так, чтобы и .∃x? Px≤p;Cx≥c;x≥0.
p=1¯¯¯c=1¯¯¯
Пусть будет количеством ограничений (строки в плюс строки в ).mPC
- Инициализировать все . Пусть .xj=0N=2ln(m)/ε
Пока :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. Удалить все ограничения , охватывающие , такие , что .iCix≥N
Вернуть .x/maxiPix
Предполагая, что данная проблема выполнима, алгоритм возвращает такой, что
и . Количество итераций равно , поскольку каждая итерация увеличивает некоторое ограничение на , и это может произойти для каждого ограничения не более чем в раз.xPx≤1Cx≥1−O(ε)O(mln(m)/ε2)εN
Доказательство правильности выполняется с помощью инварианта
Из инварианта следует
В конце левая сторона - , что подтверждает гарантию производительности.Lmax(Px)≤2ln(m)+(1+O(ε))Lmin(Cx).
maxPx≤2ln(m)+(1+O(ε))minCx.
Ω(log(m)/ε)
На шаге 2.1 требуемый должен существовать до тех пор, пока возможна исходная проблема. (Это потому, что для любого возможного и любого , если бы мы выбрали случайный из распределения , ожидаемое значение частной производной Lmax по отношению к
будет не более (см. предыдущий эскиз доказательства для Set Cover). Аналогично, ожидаемое значение частной производной Lmin по
будет по крайней мере . Таким образом, естьjx ∗ x j ′ x ∗ / | Икс x∗xj′x∗/|x∗|(Px)xj′1/|x∗|(Cx)xj′1/|x∗|jтакой, что частная производная Lmax по
является не более частной производной Lmin .)(Px)xj′(Cx)
Тогда инвариант сохраняется в каждой итерации, потому что при выборе и и гладкости Lmin и Lmax увеличение до
увеличивает Lmax
не более чем в
раз увеличение Lmin .xjδxjxj+δ(Px)1+O(ε)(Cx)
Обучение (после экспертов / повышения)
Одним из примеров понимания этой связи является
адаптивная игра с использованием мультипликативных весов Фрейнда и Шапира. Вот краткое резюме, чтобы дать техническую идею.
Рассмотрим следующую повторную игру. В каждом раунде : t
- Вы выбираете распределение вероятностей на ( так называемых экспертов ). pt[n]n
- Зная , противник затем выбирает вектор выигрыша . ptat∈[0,1]n
- Вы получаете выплату за раунд. pt⋅at
Игра останавливается после определенного количества раундов. Ваша цель состоит в том, чтобы свести к минимуму ваше сожаление по сравнению с любым отдельным экспертом (т.е. чистой стратегией) . То есть ваша цель - минимизировать .i(maxi∑tati)−∑tpt⋅at
Исправьте любой . Пусть вектор обозначает , то есть
умноженное на векторную сумму векторов выплат до момента времени . Напомним, что является градиентом Lmax .ε>0ytε∑s≤tasεtG(y)(y)
Вот основная стратегия, которую мы будем анализировать:
В раунде выберите чтобы быть .tptG(yt−1)
По проверке это дает вам выигрыш в раунде .at⋅G(yt−1)t
Из-за свойства гладкости ,
То есть в каждом раунде не может увеличиваться более чем в разы. Так как , это сохраняет инвариант, что
- самое большее ваше общее время выплаты , плюс . С другой стороны, ваше сожаление по сравнению с лучшим экспертом
- это , то естьFLmax(yt)≤Lmax(yt−1)+(1+O(ε))εat⋅G(yt−1).
Lmax ( у т ) ε ( 1 + O ( ε ) ) Lmax ( ¯ 0 ) = LN п Lmax ( уt )Lmax(yt)ε(1+O(ε))Lmax(0¯¯¯)=lnnLmax(yt)ε(1+O(ε)ln(n)imaxi∑tatiε−1maxiyti ε - 1 Lmax ( y t ), что в свою очередь не более .ε−1Lmax(yt)
Таким образом, ваше сожаление не может плюс вашего общего выигрыша.ε−1ln(n)O(ε)
Замечание: Я думаю, что, как указывают Фрейнд и Шапире, алгоритм «повышения» (в теории обучения) также подразумевается в этом анализе. Смотрите их бумаги для более подробной информации.
Минимизация общего выигрыша
Вы можете получить аналогичную стратегию для настройки, в которой цель состоит в том, чтобы минимизировать , а не максимизировать общую отдачу. Ваше сожаление, которое вы все еще хотите минимизировать, это . В этом случае соответствующей стратегией является выбор в качестве градиента . С этой стратегией ваше сожаление снова будет не более
плюс умноженное на ваш общий выигрыш.∑tpt⋅at−miniatiptLmin(yt)ε−1lnnO(ε)
Связь с алгоритмами лагранжиана-релаксации
Чтобы увидеть связь с алгоритмами лагранжевой релаксации, исправьте экземпляр Set-Cover. Рассмотрим последний тип игры (с целью минимизации выигрыша), когда эксперты соответствуют элементам вашей системы множеств. В каждом раунде выберите распределение вероятности
в качестве градиента Lmin как указано выше, и пусть противник выберет вектор выигрыша как функцию следующим образом:
выберите набор максимизируя , тогда пусть если , и противном случае.ept(yt)atptы т Σ е ∈ s р т е т е = 1 е ∈ с т т е = 0st∑e∈spteate=1e∈state=0
При условии правильного условия остановки (обсуждается ниже), этот процесс дает вам именно тот алгоритм Set-Cover, который обсуждался в начале.
Гарантия работоспособности алгоритма вытекает из оценки сожаления следующим образом. Пусть будет числом раз, когда противник выбирал набор во время игры. Пусть - оптимальное покрытие дробного множества. Пустьбыть количество сыгранных раундов. сожаления подразумевает
Xssx∗T=|Xs|∑tat⋅pt≤ε−1ln(m)+mine∑tate.
Используя определение , й выигрыш ( й член в сумме слева) равен . Противник выбрал чтобы минимизировать этот выигрыш. Если противник вместо этого выбрал случайным образом из распределенияожидание выплаты было бы
(Выше мы используем это для всех и ) Поскольку каждый выигрыш по крайней мереattt∑e∈stpteststx∗/|x∗|∑sx∗s|x∗|∑e∈spte = 1|x∗|∑epte∑s∋ex∗s ≥ 1|x∗|∑epte = 1|x∗|.
∑s∋ex∗s≥1e|pt|=11/|x∗|граница сожаления подразумевает
По определению имеем (каждый раунд выбирает один набор) и , что дает
Мы остановим процесс, когда , а затем (переставляем термины)
То есть нормализация дает покрытие дробного множества размером не более времена оптимальные.T|x∗|≤ε−1ln(m)+mine∑tate.
X|X|=T∑tate=∑e[e∈st]=∑s∋eXs|X||x∗|≤ε−1ln(m)+mine∑s∋eXs.
mine∑s∋eXs=Ω(ε−2lnm)|X|mine∑s∋eXs ≤ (1+O(ε)|x∗|.
X(1+O(ε))
Примечание: В некотором смысле, эта интерпретация теории обучения обобщает алгоритмическую интерпретацию. Тем не менее, некоторые алгоритмические методы, необходимые для эффективности (такие как неравномерное приращение и отбрасывание удовлетворенных ограничений покрытия), похоже, не переносятся в настройку теории обучения естественным образом. Аналогично, алгоритмы для
смешанной упаковки и покрытия LP (например, этих ), похоже, не имеют естественных аналогов в условиях теории обучения.