Рандомизированное округление
![]() | Эта статья может сбивать с толку или быть непонятной читателям . ( Май 2010 г. ) |
В информатике и исследовании операций . рандомизированное округление [1] — широко используемый подход для разработки и анализа алгоритмов аппроксимации . [2] [3]
Многие комбинаторной оптимизации задачи невозможно решить точно (до оптимальности) вычислительно. Для таких задач рандомизированное округление может использоваться для разработки быстрых ( полиномиальных ) алгоритмов аппроксимации , то есть алгоритмов, которые гарантированно возвращают приблизительно оптимальное решение при любых входных данных.
Основная идея рандомизированного округления состоит в том, чтобы преобразовать оптимальное решение релаксации задачи в приближенно оптимальное решение исходной задачи. Полученный алгоритм обычно анализируется вероятностным методом .
Обзор
[ редактировать ]Базовый подход состоит из трех этапов:
- Сформулируйте решаемую задачу в виде целочисленной линейной программы (ЦЛП).
- Вычислите оптимальное дробное решение к релаксации линейного программирования (LP) ILP.
- Округляем дробное решение ЛП к целочисленному решению НЛП.
(Хотя этот подход чаще всего применяется к линейным программам,иногда используются и другие виды релаксации.Например, см. полуопределенном программировании основанное на Гоеманса и Уильямсона Алгоритм аппроксимации Max-Cut .)
На первом этапе задача состоит в том, чтобы выбрать подходящую целочисленную линейную программу.Требуется знание линейного программирования, в частности моделирования с использованием линейных программ и целочисленных линейных программ. Для многих задач существует естественная целочисленная линейная программа, которая хорошо работает:например, в примере «Установить обложку» ниже. (Целочисленная линейная программа должна иметь небольшой разрыв целостности ;действительно, рандомизированное округление часто используется для доказательства границ пробелов в целочисленности.)
На втором этапе обычно можно вычислить оптимальное дробное решение.за полиномиальное время используя любой стандартный алгоритм линейного программирования .
На третьем этапе дробное решение необходимо преобразовать в целочисленное.(и, таким образом, решение исходной проблемы).Это называется округлением дробного решения.Полученное целочисленное решение должно (доказуемо) иметь стоимостьне намного превышает стоимость дробного решения.Это обеспечит, что стоимость целочисленного решенияне намного превышает стоимость оптимального целочисленного решения.
Основным методом выполнения третьего шага (округления) является использование рандомизации.а затем использовать вероятностные аргументы, чтобы ограничить увеличение затрат из-за округления(следуя вероятностному методу комбинаторики).Здесь с помощью вероятностных аргументов показано существование дискретных структур сжелаемые свойства. В этом контексте такие аргументы используются, чтобы показать следующее:
- Учитывая любое дробное решение LP, с положительной вероятностью процесс рандомизированного округления дает целочисленное решение что приближает по какому-то желаемому критерию.
Наконец, чтобы сделать третий шаг вычислительно эффективным,либо это показывает приближает с высокой вероятностью (чтобы шаг мог оставаться рандомизированным)или можно дерандомизировать шаг округления,обычно используют метод условных вероятностей .Последний метод преобразует процесс рандомизированного округленияв эффективный детерминированный процесс, который гарантировандля достижения хорошего результата.
Пример: задача о наборе покрытия
[ редактировать ]Следующий пример иллюстрирует, как можно использовать рандомизированное округление для разработки аппроксимационного алгоритма для задачи покрытия множеств . Исправьте любой экземпляр установить покров над вселенной .
Вычисление дробного решения
[ редактировать ]Для шага 1 пусть IP будет стандартной целочисленной линейной программой для покрытия множества для этого экземпляра.
Для шага 2 пусть LP будет релаксацией линейного программирования IP и вычислит оптимальное решение. в LP с использованием любого стандартного алгоритма линейного программирования . Это требует полинома времени от входного размера. Допустимыми решениями задачи LP являются векторы которые назначают каждый набор неотрицательный вес , такой, что для каждого элемента , обложки — общий вес, присвоенный наборам, содержащим не менее 1, то есть
Оптимальное решение является возможным решением, стоимость которого
как можно меньше. Обратите внимание, что любая обложка комплекта для дает возможное решение (где для , в противном случае). Стоимость этого равна стоимости , то есть,
Другими словами, линейная программа LP является релаксацией данной задачи покрытия множеств.
С имеет минимальную стоимость среди возможных решений ЛП, стоимость — нижняя граница стоимости покрытия оптимального множества .
Случайный шаг округления
[ редактировать ]На шаге 3 мы должны преобразовать покрытие дробного множества с минимальной стоимостью в допустимое целочисленное решение (соответствует настоящей обложке комплекта). Шаг округления должен дать который с положительной вероятностью имеет стоимость в пределах небольшого коэффициента стоимости .Тогда (поскольку стоимость — нижняя граница стоимости покрытия оптимального множества), стоимость будет в пределах небольшого коэффициента оптимальной стоимости.
В качестве отправной точки рассмотрим наиболее естественную схему округления:
- Для каждого набора в свою очередь, возьмите с вероятностью , иначе возьмем .
При такой схеме округления ожидаемая стоимость выбранных наборов не превышает , стоимость дробного покрытия. Это хорошо. К сожалению, покрытие не очень хорошее. Когда переменные малы, вероятность того, что элемент не охвачено
Таким образом, в ожидании будет охвачена только постоянная доля элементов.
Сделать покрыть каждый элемент с высокой вероятностью, стандартная схема округления сначала увеличивает вероятности округления на соответствующий коэффициент . Вот стандартная схема округления:
- Исправить параметр . Для каждого набора по очереди,
- брать с вероятностью , иначе возьмем .
Увеличение вероятностей на увеличивает ожидаемую стоимость на , но делает вероятным охват всех элементов. Идея состоит в том, чтобы выбрать как можно меньше, чтобы все элементы были доказуемо покрыты с ненулевой вероятностью. Вот подробный анализ.
Лемма (гарантия аппроксимации для схемы округления)
[ редактировать ]- Исправить . С положительной вероятностью схема округления возвращает заданное покрытие стоимость максимум (и, следовательно, стоимость раз превышает стоимость оптимального комплекта покрытия).
(Примечание: с осторожностью можно свести к .)
Доказательство
[ редактировать ]Выход схемы случайного округления обладает желаемыми свойствамидо тех пор, пока не произойдет ни одно из следующих «плохих» событий:
- стоимость из превышает , или
- для какого-то элемента , не в состоянии покрыть .
Ожидание каждого самое большее . Ввиду линейности ожидания ожидание самое большее . Таким образом, по неравенству Маркова вероятность первого плохого событиявыше это самое большее .
Для остальных плохих событий (по одному на каждый элемент ), Обратите внимание, что,с для любого заданного элемента , вероятность того, что не покрыт
(При этом используется неравенство , что является строгим для .)
Таким образом, для каждого из элементы,вероятность того, что элемент не покрыт, меньше .
По границе объединения вероятность того, что один из происходят плохие событияменьше, чем .Таким образом, при положительной вероятности плохих событий не бывает.и не более чем установленное покрытие затрат . ЯВЛЯЕТСЯ
Дерандомизация с использованием метода условных вероятностей
[ редактировать ]Приведенная выше лемма показывает существование множества покрытий затрат. ).В этом контексте нашей целью является эффективный алгоритм аппроксимации,это не просто доказательство существования, так что мы еще не закончили.
Одним из подходов было бы увеличение немного, а затем покажите, что вероятность успеха равна, скажем, не менее 1/4.С этой модификацией повторение шага случайного округления несколько раздостаточно, чтобы обеспечить успешный результат с высокой вероятностью.
Такой подход ослабляет коэффициент аппроксимации.Далее мы опишем другой подход, который даетдетерминированный алгоритм, который гарантированносоответствовать коэффициенту аппроксимации приведенного выше доказательства существования.Этот подход называется методом условных вероятностей .
Детерминированный алгоритм имитирует схему рандомизированного округления:он рассматривает каждый набор по очереди,и выбирает .Но вместо того, чтобы делать каждый выбор случайным образом на основе ,он делает выбор детерминированно , чтобы сохранить условную вероятность неудачи, учитывая выбор на данный момент, ниже 1 .
Ограничение условной вероятности отказа
[ редактировать ]Мы хотим иметь возможность устанавливать каждую переменную по очередитак, чтобы условная вероятность отказа была ниже 1.Для этого нам нужна хорошая оценка условной вероятности отказа.Граница будет достигнута путем уточнения исходного доказательства существования.Это доказательство неявно ограничивает вероятность неудачи.по математическому ожиданию случайной величины
- ,
где
— это набор элементов, оставшихся непокрытыми в конце.
Случайная величина может показаться немного загадочным,но оно систематически отражает вероятностное доказательство.Первый срок в получается в результате применения неравенства Маркова ограничить вероятность первого плохого события (цена слишком высока).Это способствует как минимум 1 если стоимость слишком высок.Второй срокподсчитывает количество плохих событий второго рода (неохваченных элементов).Это способствует как минимум 1 если оставляет любой элемент непокрытым.Таким образом, при любом исходе, когда меньше 1, должен охватывать все элементыи стоим, достигая желаемой границы из леммы.Короче говоря, если этап округления не удался, то .Отсюда следует (по неравенству Маркова ), что является верхней границей вероятности отказа. Заметим, что приведенное выше рассуждение неявно присутствует уже в доказательстве леммы:что также показывает расчетным путем, что .
Чтобы применить метод условных вероятностей,нам нужно расширить аргумент, чтобы ограничить условную вероятность неудачипо мере выполнения этапа округления.Обычно это можно делать систематически.хотя это может быть технически утомительно.
Итак, как насчет условной вероятности неудачи при переборе наборов на этапе округления?С в любом результате, когда этап округления не удался,по неравенству Маркова условная вероятность отказав лучшем случае является условным ожиданием .
Далее вычисляем условное математическое ожидание ,так же, как мы рассчитали безусловное ожидание в оригинальном доказательстве.Рассмотрим состояние процесса округления в конце некоторой итерации .Позволять обозначаем множества, рассмотренные до сих пор(первый наступает ).Позволять обозначим (частично присвоенный) вектор (так определяется только в том случае, если ).Для каждого набора ,позволять обозначают вероятность, с которой будет установлено на 1.Позволять содержат еще не рассмотренные элементы.Тогда условное ожидание ,учитывая выбор, сделанный до сих пор, то есть учитывая , является
Обратите внимание, что определяется только после итерации .
Сохранение условной вероятности отказа ниже 1.
[ редактировать ]Чтобы условная вероятность отказа была ниже 1,достаточно сохранить условное ожидание ниже 1.Для этого достаточно сохранить условное математическое ожидание от увеличения.Это то, что будет делать алгоритм.Это установит на каждой итерации, чтобы гарантировать, что
(где ).
В итерация,как можно задать алгоритм чтобы гарантировать, что ?Оказывается, он может просто установить так, чтобы минимизировать результирующее значение .
Чтобы понять почему, сосредоточимся на моменте времени, когда итерация начинается.В это время, определяется,но еще не определено--- оно может принимать два возможных значения в зависимости от того, как устанавливается в итерации .Позволять обозначаем значение .Позволять и ,обозначаем два возможных значения ,в зависимости от того, устанавливается в 0 или 1 соответственно.По определению условного ожидания,
Поскольку средневзвешенное значение двух величинвсегда является минимумом из этих двух величин,отсюда следует, что
Таким образом, постановка так, чтобы минимизировать результирующее значение будет гарантировать, что .Это то, что будет делать алгоритм.
Подробно, что это значит?Рассматривается как функция (при всех остальных количествах фиксированных) является линейной функцией ,и коэффициент в этой функции есть
Таким образом, алгоритм должен задать до 0, если это выражение положительное,и 1 в противном случае. Это дает следующий алгоритм.
Алгоритм рандомизированного округления для покрытия множества
[ редактировать ]ввод: установить систему , вселенная , вектор стоимости
вывод: установить обложку (решение стандартной целочисленной линейной программы для покрытия множеств)
- Вычислить покрытие дробного множества минимальной стоимости (оптимальное решение проблемы релаксации ЛП).
- Позволять . Позволять для каждого .
- Для каждого делать:
- Позволять . ( содержит еще не определенные наборы.)
- Если
- затем установите ,
- еще установить и .
- ( содержит еще не рассмотренные элементы.)
- Возвращаться .
лемма (гарантия аппроксимации алгоритма)
[ редактировать ]- Приведенный выше алгоритм возвращает заданное покрытие стоимость максимум раз минимальная стоимость любого (дробного) покрытия комплекта.
доказательство
[ редактировать ]Алгоритм гарантирует, что условное ожидание , , не увеличивается на каждой итерации.Поскольку это условное ожидание изначально меньше 1 (как показано ранее),алгоритм гарантирует, что условное ожидание остается ниже 1.Поскольку условная вероятность отказав лучшем случае является условным ожиданием ,таким образом алгоритмгарантирует, что условная вероятность отказа остается ниже 1.Таким образом, в конце, когда все варианты выбора определены,алгоритм достигает успешного результата.То есть алгоритм выше возвращает множество покрытий стоимость максимум разминимальная стоимость любого (дробного) комплекта покрытия.
Примечания
[ редактировать ]В приведенном выше примере алгоритм руководствовался условным ожиданием случайной величины .В некоторых случаях вместо точного условного ожидания используется верхняя (а иногда и нижняя) граница.вместо этого используется некоторое условное ожидание. Это называется пессимистической оценкой .
Сравнение с другими приложениями вероятностного метода
[ редактировать ]Шаг рандомизированного округления отличается от большинства применений вероятностного метода в двух отношениях:
- этапа Важна вычислительная сложность округления. Это должно быть реализовано с помощью быстрого (например, полиномиального ) алгоритма .
- Распределение вероятностей, лежащее в основе случайного эксперимента, является функцией решения релаксации . проблемного экземпляра Этот факт имеет решающее значение для доказательства гарантии производительности алгоритма аппроксимации, то есть того, что для любого экземпляра задачи алгоритм возвращает решение, которое аппроксимирует оптимальное решение для этого конкретного экземпляра . Для сравнения, приложения вероятностного метода в комбинаторике обычно показывают существование структур, характеристики которых зависят от других входных параметров. Например, рассмотрим теорему Турана , которую можно сформулировать как «любой граф с вершины средней степени должен иметь независимый набор размеров как минимум . (См. здесь вероятностное доказательство теоремы Турана .) Хотя существуют графы, для которых эта граница точна, есть также графы, которые имеют независимые множества, намного большие, чем . Таким образом, размер независимого множества, существование которого в графе согласно теореме Турана показано в соответствии с теоремой Турана, в общем случае может быть намного меньше, чем максимальное независимое множество для этого графа.
См. также
[ редактировать ]- Метод условных вероятностей
- Рандомизированное округление без решения линейной программы. [4] [5]
Ссылки
[ редактировать ]- ^ Рагхаван, Прабхакар ; Томпсон, Кларк Д. (1987), «Рандомизированное округление: метод доказуемо хороших алгоритмов и алгоритмических доказательств» , Combinatorica , 7 (4): 365–374, doi : 10.1007/BF02579324 , S2CID 5749936 .
- ^ Мотвани, Раджив ; Рагхаван, Прабхакар (25 августа 1995 г.). Рандомизированные алгоритмы . Издательство Кембриджского университета . ISBN 978-0-521-47465-8 .
- ^ Вазирани, Виджай (5 декабря 2002 г.). Алгоритмы аппроксимации . Издательство Спрингер . ISBN 978-3-540-65367-7 .
- ^ Янг, Нил Э. (2002). «Случайное округление без решения линейной программы». arXiv : cs/0205036 .
- ^ Янг, Нил. «Забывчивое рандомизированное округление» . AlgNotes . Проверено 14 сентября 2023 г.
- Рагхаван, Прабхакар (1988), «Вероятностное построение детерминированных алгоритмов: аппроксимация программ упаковки целых чисел», Journal of Computer and System Sciences , 37 (2): 130–143, doi : 10.1016/0022-0000(88)90003-7 .
Дальнейшее чтение
[ редактировать ]- Альтёфер, Инго (1994), «О редких приближениях к рандомизированным стратегиям и выпуклым комбинациям», Линейная алгебра и ее приложения , 199 : 339–355, doi : 10.1016/0024-3795(94)90357-3 , MR 1274423
- Хофмайстер, Томас; Лефманн, Ханно (1996), «Детерминированное вычисление разреженных приближений», Линейная алгебра и ее приложения , 240 : 9–19, doi : 10.1016/0024-3795(94)00175-8 , MR 1387283
- Липтон, Ричард Дж.; Янг, Нил Э. (1994), «Простые стратегии для больших игр с нулевой суммой с приложениями к теории сложности», STOC '94: Материалы двадцать шестого ежегодного симпозиума ACM по теории вычислений , Нью-Йорк, Нью-Йорк: ACM , стр. 734–740, arXiv : cs.cc/0205035 , doi : 10.1145/195058.195447 , ISBN. 978-0-89791-663-9 , S2CID 7524887