Случайное округление - Википедия - Randomized rounding
Эта статья может быть сбивает с толку или неясно читателям.Май 2010 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
В Информатика и исследование операций,много комбинаторная оптимизация проблемы вычислительно несговорчивый решать точно (до оптимальности). Многие такие задачи решаются быстро (полиномиальное время ) аппроксимационные алгоритмы - то есть алгоритмы, которые гарантированно возвращают приблизительно оптимальное решение при любом вводе.
Рандомизированное округление(Рагхаван и Томпсон 1987 ) является широко используемым подходом для проектирования и анализа таких аппроксимационные алгоритмы.[1][2] Основная идея - использовать вероятностный метод преобразовать оптимальное решение расслабление проблемы в приблизительно оптимальное решение исходной задачи.
Обзор
Базовый подход состоит из трех шагов:
- Сформулируйте проблему, которую нужно решить, как целочисленная линейная программа (ILP).
- Вычислить оптимальное дробное решение к релаксация линейного программирования (LP) ILP.
- Округлить дробное решение ЛП к целочисленному решению ПДОДИ.
(Хотя этот подход чаще всего применяется с линейными программами, иногда используются и другие виды релаксации, например, см. Гоэманс и Вильямсон. полуопределенное программирование -основанАлгоритм аппроксимации Max-Cut.)
Задача на первом этапе - выбрать подходящую целочисленную линейную программу. Требуется знакомство с линейным программированием, в частности, знакомство с тем, как моделировать задачи с помощью линейных программ и целочисленных линейных программ. Но для многих задач существует естественная целочисленная линейная программа. программа, которая работает хорошо, например, в примере Set Cover ниже. (Целочисленная линейная программа должна иметь небольшойразрыв целостности; действительно, рандомизированное округление часто используется для доказательства границ пробелов целочисленности.)
На втором этапе оптимальное дробное решение обычно может быть вычислено в полиномиальное время используя любой стандарт линейное программирование алгоритм.
На третьем этапе дробное решение должно быть преобразовано в целочисленное решение (и, следовательно, решение исходной задачи). округление Полученное целочисленное решение должно (доказуемо) иметь стоимость не намного больше, чем стоимость дробного решения. Это гарантирует, что стоимость целочисленного решения не намного больше, чем стоимость оптимального целочисленного решения.
Основной метод, используемый для выполнения третьего шага (округления), заключается в использовании рандомизации, а затем использовании вероятностных аргументов для ограничения увеличения стоимости из-за округления (после вероятностный метод из комбинаторики), где вероятностные аргументы используются, чтобы показать существование дискретных структур с желаемыми свойствами. В этом контексте используются такие аргументы, чтобы показать следующее:
- Учитывая любое дробное решение LP, с положительной вероятностью случайный процесс округления дает целочисленное решение это приблизительно по какому-то желаемому критерию.
Наконец, чтобы сделать третий шаг вычислительно эффективным, нужно либо показать, что приблизительно с большой вероятностью (чтобы шаг мог оставаться случайным) или один дерандомизирует шаг округления, обычно с использованием метод условных вероятностей. Последний метод преобразует процесс рандомизированного округления в эффективный детерминированный процесс, который гарантированно дает хороший результат.
Сравнение с другими приложениями вероятностного метода
Шаг рандомизированного округления отличается от большинства приложений вероятностный метод в двух отношениях:
- В вычислительная сложность шага округления важен. Это должно быть реализовано с помощью быстрого (например, полиномиальное время ) алгоритм.
- Распределение вероятностей, лежащее в основе случайного эксперимента, является функцией решения из расслабление проблемного экземпляра. Этот факт имеет решающее значение для доказательства гарантия выполнения алгоритма аппроксимации --- то есть, для любого экземпляра проблемы алгоритм возвращает решение, которое приближает оптимальное решение для этого конкретного экземпляра. В сравнении, применения вероятностного метода в комбинаторике обычно показывают существование структур, характеристики которых зависят от других параметров входных данных. Например, рассмотрим Теорема Турана, что можно сформулировать как "любой график с вершины средней степени должен иметь независимый набор размером не менее . (Видеть это для вероятностного доказательства теоремы Турана.) Хотя существуют графы, для которых эта граница является точной, существуют также графы, у которых независимые множества намного больше, чем . Таким образом, размер независимого множества, которое, согласно теореме Турана, существует в графе, может, в общем, быть намного меньше, чем максимальное независимое множество для этого графа.
Установить пример обложки
В следующем примере показано, как можно использовать рандомизированное округление для разработки алгоритма аппроксимации для Установить обложку проблема.
Исправить любой экземпляр набора обложки над вселенной .
Для шага 1 пусть IP будет стандартная целочисленная линейная программа для набора обложек для этого экземпляра.
Для шага 2 пусть LP будет релаксация линейного программирования IP и вычислить оптимальное решение к LP с использованием любого стандарта линейное программирование алгоритм (для этого требуется время, полиномиальное от входного размера).
(Возможные решения LP - это векторы которые назначают каждый набор неотрицательный вес , так что для каждого элемента , охватывает - общий вес наборов, содержащих не меньше 1, то есть
Оптимальное решение является допустимым решением, стоимость которого
как можно меньше.)
Обратите внимание, что любая обложка набора за дает возможное решение (куда за , в противном случае). Стоимость этого равна стоимости , то есть,
Другими словами, линейная программа LP является расслабление данной задачи о наборе.
С имеет минимальную стоимость среди возможных решений ЛП,цена является нижней границей стоимости оптимального покрытия множества.
Шаг 3. Шаг рандомизированного округления
Вот описание третьего шага - шага округления, который должен преобразовать минимальную стоимость дробного покрытия набора в допустимое целочисленное решение (соответствует истинной обложке набора).
Шаг округления должен давать что с положительной вероятностью имеет стоимость в пределах небольшого коэффициента стоимости Тогда (так как стоимость - нижняя граница стоимости оптимального покрытия множества), стоимость будет в пределах небольшого коэффициента оптимальной стоимости.
В качестве отправной точки рассмотрим наиболее естественную схему округления:
- Для каждого набора в свою очередь, взять с вероятностью , иначе возьмем .
При такой схеме округления ожидаемая стоимость выбранных наборов не превышает , стоимость дробного покрытия. Это хорошо. К сожалению, охват оставляет желать лучшего. малы, вероятность того, что элемент не покрыто о
Таким образом, только постоянная часть элементов будет покрыта ожиданием.
Сделать покрыть каждый элемент с высокой вероятностью, стандартная схема округления сначала масштабируется вероятности округления на соответствующий коэффициент Вот стандартная схема округления:
- Исправить параметр . Для каждого набора в очереди,
- брать с вероятностью , иначе возьмем .
Увеличение вероятностей на увеличивает ожидаемую стоимость на , но делает возможным охват всех элементов. Идея состоит в том, чтобы выбрать как можно меньше, чтобы все элементы доказуемо покрывались с ненулевой вероятностью. Вот подробный анализ.
Лемма (гарантия аппроксимации схемы округления)
- Исправить . С положительной вероятностью схема округления возвращает заданное покрытие стоимости не более (и, следовательно, стоимость раз превышает стоимость оптимального комплекта крышки).
(Примечание: осторожно можно свести к .)
Доказательство
Выход схемы случайного округления имеет желаемые свойства до тех пор, пока не произойдет ни одно из следующих «плохих» событий:
- цена из превышает , или же
- для какого-то элемента , не покрывает .
Ожидание каждого самое большее .К линейность ожидания, ожидание самое большее Таким образом, по Неравенство Маркова, вероятность первого плохого события выше не более .
Для остальных плохих событий (по одному на каждый элемент ) заметим, что, поскольку для любого данного элемента , вероятность того, что не покрывается
(Здесь используется неравенство , что строго для .)
Таким образом, для каждого из элементов, вероятность того, что элемент не покрыт, меньше, чем .
Посредством наивный союз, вероятность того, что один из плохие события случаются меньше чем Таким образом, с положительной вероятностью не бывает плохих событий и это набор покрытия расходов на максимум .QED
Дерандомизация методом условных вероятностей
Лемма выше показывает существование комплекта покрытия стоимости В этом контексте нашей целью является эффективный алгоритм аппроксимации, а не просто доказательство существования, поэтому мы еще не закончили.
Один из подходов - увеличить немного, затем покажите, что вероятность успеха составляет, по крайней мере, 1/4. С этой модификацией повторения шага случайного округления несколько раз достаточно, чтобы гарантировать успешный результат с высокой вероятностью.
Такой подход ослабляет коэффициент аппроксимации. Далее мы опишем другой подход, который дает детерминированный алгоритм, который гарантированно соответствует коэффициенту аппроксимации в приведенном выше доказательстве существования. метод условных вероятностей.
Детерминированный алгоритм имитирует схему рандомизированного округления: он рассматривает каждый набор в свою очередь, и выбирает .Но вместо того, чтобы делать каждый выбор случайно на основе , это делает выбор детерминированно, с тем чтобыоставьте условную вероятность отказа, учитывая выбранные варианты, ниже 1.
Ограничение условной вероятности отказа
Мы хотим иметь возможность устанавливать каждую переменную поочередно, чтобы условная вероятность отказа не превышала 1. Для этого нам нужна хорошая оценка условной вероятности отказа. Оценка будет происходить путем уточнения исходного доказательства существования. Это доказательство неявно ограничивает вероятность отказа математическим ожиданием. случайной величины
- ,
куда
- это набор элементов, оставшихся непокрытыми в конце.
Случайная величина может показаться немного загадочным, но оно систематическим образом отражает вероятностное доказательство. исходит от применения Неравенство Маркова для ограничения вероятности первого плохого события (слишком высокая стоимость) .Это вносит как минимум 1 вклад в если стоимость слишком велико. Второй член подсчитывает количество плохих событий второго рода (непокрытые элементы). Он вносит вклад не менее 1 в если оставляет любой элемент непокрытым. Таким образом, при любом исходе меньше 1, должен охватывать все элементы и иметь стоимость, соответствующую желаемой оценке из леммы. Короче говоря, если шаг округления не удается, то Это означает (по Неравенство Маркова ) который - это верхняя граница вероятности отказа.Обратите внимание на то, что приведенное выше рассуждение подразумевается уже в доказательстве леммы, которое также показывает вычислением, что .
Чтобы применить метод условных вероятностей, нам нужно расширить аргумент, чтобы ограничить условный вероятность сбоя на этапе округления. Обычно это можно делать систематически, хотя это может быть технически утомительно.
Итак, что насчет условный вероятность отказа при повторении на этапе округления множеств? в любом исходе, когда шаг округления не удается, Неравенство Маркова, то условный вероятность отказа - самое большее условный ожидание .
Затем мы вычисляем условное ожидание , так же как мы рассчитали безусловное ожидание в исходном доказательстве. Рассмотрим состояние процесса округления в конце некоторой итерации. .Позволять обозначим рассмотренные до сих пор множества (первые устанавливается в ).Позволять обозначают (частично заданный) вектор (так определяется только если ). Для каждого набора ,позволять обозначают вероятность, с которой будет установлено значение 1. Пусть содержат еще не покрытые элементы. тогда условное ожидание , учитывая сделанный выбор, т. е. учитывая , является
Обратите внимание, что определяется только после итерации .
Удержание условной вероятности отказа ниже 1
Чтобы условная вероятность отказа ниже 1, достаточно сохранить условное ожидание ниже 1. Для этого достаточно сохранить условное ожидание от увеличения - это то, что будет делать алгоритм. на каждой итерации, чтобы гарантировать, что
(куда ).
в й итерации, как алгоритм может установить чтобы гарантировать, что ? Оказывается, можно просто установить с тем чтобы свести к минимуму итоговое значение .
Чтобы понять, почему, сосредоточьтесь на моменте времени, когда итерация начинается. В это время определяется, но еще не определено --- может принимать два возможных значения в зависимости от того, как устанавливается в итерации .Позволять обозначают значение .Позволять и , обозначим два возможных значения , в зависимости от того, устанавливается в 0 или 1 соответственно. По определению условного ожидания
Поскольку средневзвешенное значение двух величин всегда является минимумом из этих двух величин, отсюда следует, что
Таким образом, полагая чтобы минимизировать результирующее значениегарантирует, чтоЭто то, что будет делать алгоритм.
Что это означает в деталях? Рассматривается как функция (со всеми другими фиксированными количествами)является линейной функцией , а коэффициент в этой функции
Таким образом, алгоритм должен установить в 0, если это выражение положительное, и в 1 в противном случае. Это дает следующий алгоритм.
Алгоритм случайного округления для набора покрытий
Вход: установить систему , вселенная , вектор стоимости
выход: установить обложку (решение стандартной целочисленной линейной программы для набора обложек)
- Вычислить минимальную стоимость частичного покрытия набора (оптимальное решение релаксации ЛП).
- Позволять . Позволять для каждого .
- Для каждого делать:
- Позволять . ( содержит еще не определенные наборы.)
- Если
- затем установите ,
- еще набор и .
- ( содержит еще не покрытые элементы.)
- Возвращаться .
лемма (гарантия аппроксимации алгоритма)
- Приведенный выше алгоритм возвращает заданное покрытие стоимости не более кратной минимальной стоимости любого (дробного) комплекта обложки.
доказательство
Алгоритм гарантирует, что условное ожидание ,, не увеличивается на каждой итерации. Поскольку это условное ожидание изначально меньше 1 (как показано ранее), алгоритм гарантирует, что условное ожидание останется ниже 1, поскольку условная вероятность отказа - это самое большее условное ожидание , таким образом, алгоритм обеспечивает, чтобы условная вероятность отказа оставалась ниже 1. Таким образом, в конце, когда все варианты выбора определены, алгоритм достигает успешного результата. То есть алгоритм выше возвращает заданное покрытие стоимости не более минимальная стоимость любого (дробного) комплекта обложки.
Замечания
В приведенном выше примере алгоритм руководствовался условным ожиданием случайной величины. .В некоторых случаях вместо точного условного ожидания верхняя граница (или иногда нижняя граница) некоторого условного ожидания вместо этого используется. пессимистическая оценка.
Смотрите также
Рекомендации
- Рагхаван, Прабхакар; Томпсон, Кларк Д. (1987), «Рандомизированное округление: метод доказуемо хороших алгоритмов и алгоритмических доказательств», Комбинаторика, 7 (4): 365–374, Дои:10.1007 / BF02579324, S2CID 5749936.
- Рагхаван, Прабхакар (1988), «Вероятностное построение детерминированных алгоритмов: аппроксимация упаковки целочисленных программ», Журнал компьютерных и системных наук, 37 (2): 130–143, Дои:10.1016/0022-0000(88)90003-7.
дальнейшее чтение
- Альтхёфер, Инго (1994), "О разреженных приближениях к рандомизированным стратегиям и выпуклым комбинациям", Линейная алгебра и ее приложения, 199: 339–355, Дои:10.1016/0024-3795(94)90357-3, МИСТЕР 1274423CS1 maint: ref = harv (связь)
- Хофмайстер, Томас; Лефманн, Ханно (1996), "Детерминированное вычисление разреженных приближений", Линейная алгебра и ее приложения, 240: 9–19, Дои:10.1016/0024-3795(94)00175-8, МИСТЕР 1387283CS1 maint: ref = harv (связь)
- Липтон, Ричард Дж .; Янг, Нил Э. (1994), "Простые стратегии для больших игр с нулевой суммой с приложениями к теории сложности", STOC '94: Материалы двадцать шестого ежегодного симпозиума ACM по теории вычислений, Нью-Йорк, Нью-Йорк: ACM, стр. 734–740, arXiv:cs.cc/0205035, Дои:10.1145/195058.195447, ISBN 978-0-89791-663-9, S2CID 7524887CS1 maint: ref = harv (связь)