Jump to content

Оракул разделения

Оракул разделения (также называемый оракулом секущей плоскости ) — это концепция математической теории выпуклой оптимизации . Это метод описания выпуклого множества , которое подается в качестве входных данных для алгоритма оптимизации. Оракулы разделения используются в качестве входных данных для методов эллипсоида . [1] : 87, 96, 98 

Определение

[ редактировать ]

Пусть K выпуклое и компактное множество в R н . Оракул сильного разделения для K — это оракул ( черный ящик ), который по заданному вектору y в R н , возвращает одно из следующих значений: [1] : 48 

  • Утвердите, что y находится в K .
  • Найдите гиперплоскость, отделяющую y от K : вектор a в R н , такой, что для x в K. всех

Прогноз сильного разделения абсолютно точен, и поэтому его может быть сложно построить. По практическим соображениям рассматривается более слабая версия, допускающая небольшие ошибки в границах K и неравенствах. Учитывая небольшую допуск на ошибку d > 0, мы говорим, что:

  • Вектор y является d-близким к K , если его евклидово расстояние от K не превышает d ;
  • Вектор y d -глубок в K , если он находится в K и его евклидово расстояние от любой точки вне K не менее d .

Слабая версия также рассматривает рациональные числа, которые имеют представление конечной длины, а не произвольные действительные числа. Оракул слабого разделения для K — это оракул, который по вектору y из Q н и рациональное число d >0, возвращает одно из следующих значений: [1] : 51 

  • Утверждаем, что d y - близок к K ;
  • Найдите вектор a в Q н , нормализованный так, что его максимальный элемент равен 1, такой, что для всех x, которые d -глубоки в K .

Выполнение

[ редактировать ]

Частным случаем выпуклого множества является множество, представленное линейными неравенствами: . Такое множество называется выпуклым многогранником . Можно реализовать оракул сильного разделения для выпуклого многогранника, но время его выполнения зависит от входного формата.

Представление неравенствами

[ редактировать ]

Если матрица A и вектор b заданы в качестве входных данных, так что , то оракул сильного разделения можно реализовать следующим образом. [2] Учитывая точку y , вычислите :

  • Если результат не более , то y принадлежит K ; по определению
  • В противном случае существует хотя бы одна строка A , такой , что больше соответствующего значения в ; эта строка дает нам разделяющую гиперплоскость, как для x в K. всех

Этот оракул работает за полиномиальное время, пока количество ограничений полиномиально.

Представление вершинами

[ редактировать ]

Предположим, что набор вершин K задан в качестве входных данных, так что выпуклая оболочка его вершин. Затем для принятия решения о том, находится ли y в K, необходимо проверить, является ли y выпуклой комбинацией входных векторов, то есть существуют ли коэффициенты z 1 ,..., z k такие, что: [1] : 49 

  • ;
  • для всех i в 1,..., k .

Это линейная программа с k переменными и n ограничениями равенства (по одному на каждый элемент y ). Если y не находится в K , то приведенная выше программа не имеет решения, и оракулу разделения необходимо найти вектор c такой, что

  • для всех i в 1,..., k .

Обратите внимание, что два приведенных выше представления могут сильно различаться по размеру: возможно, что многогранник может быть представлен небольшим количеством неравенств, но имеет экспоненциально много вершин (например, n -мерный куб). И наоборот, возможно, что многогранник имеет небольшое количество вершин, но требует экспоненциально большого числа неравенств (например, выпуклая оболочка 2 n векторов вида (0,...,±1,...,0 ).

Представление конкретной проблемы

[ редактировать ]

В некоторых задачах линейной оптимизации, даже несмотря на то, что количество ограничений является экспоненциальным, все равно можно написать собственный оракул разделения, который работает за полиномиальное время. Некоторые примеры:

  • Задача об древовидности минимальной стоимости : по взвешенному ориентированному графу и вершине r в нем найти подграф минимальной стоимости, содержащий направленный путь от r до любой другой вершины. Задачу можно представить в виде ЛП с ограничением для каждого подмножества вершин, которое представляет собой экспоненциальное число ограничений. Однако оракул разделения может быть реализован с использованием n -1 применений процедуры минимального разреза . [3]
  • Задача о максимальном независимом множестве . Его можно аппроксимировать ЛП с ограничением для каждого цикла нечетной длины. Хотя таких циклов экспоненциально много, оракул разделения, работающий за полиномиальное время, можно реализовать, просто найдя нечетный цикл минимальной длины, что можно сделать за полиномиальное время. [3]
  • Двойственная конфигурация линейной программы для задачи упаковки контейнеров . Его можно аппроксимировать ЛП с ограничением для каждой допустимой конфигурации. Хотя таких циклов экспоненциально много, оракул разделения, работающий за псевдополиномиальное время, может быть реализован путем решения задачи о рюкзаке . Это используется алгоритмами упаковки бинов Кармаркара-Карпа .

Нелинейные множества

[ редактировать ]

Пусть f — на выпуклая функция R н . Набор — выпуклое множество в R п +1 . Имея оракул оценки f (черный ящик, который возвращает значение f для каждой заданной точки), можно легко проверить, находится ли вектор ( y , t ) в K . Чтобы получить оракул разделения, нам также нужен оракул для субградиента f оценки . [1] : 49  Предположим, некоторый вектор ( y , s ) не принадлежит K , поэтому f ( y )> s . Пусть g — субградиент f в точке y ( g — вектор в R н ) . Обозначим .Затем, и для всех ( x , t ) в K : . По определению субградиента: для всех x в R н . Поэтому, , так , а c представляет собой разделяющую гиперплоскость.

Использование

[ редактировать ]

Оракул сильного разделения можно использовать в качестве входных данных для метода эллипсоидов для решения линейной программы. Рассмотрим линейную программу . Метод эллипсоида поддерживает эллипсоид, который изначально содержит всю допустимую область. . На каждой итерации t он берет центр текущего эллипсоида и отправляет его оракулу разделения:

  • Если оракул говорит это допустима (т. е. содержится в множестве ), то мы делаем «оптимальный разрез» в : вырезаем из эллипсоида все точки x, для которых . Эти точки определенно не являются оптимальными.
  • Если оракул говорит это невозможно, то он обычно возвращает конкретное ограничение, которое нарушается , то есть ряд в матрице A такой, что . С для всех возможных x это означает, что для всех возможных x . Затем мы делаем «обоснование технико-экономического обоснования» в : вырезаем из эллипсоида все точки y, для которых . Эти пункты определенно невыполнимы.

Сделав разрез, мы строим новый, меньший эллипсоид, содержащий оставшуюся область. Можно показать, что этот процесс сходится к приближенному решению, полиномиальному по времени требуемой точности.

Превращение слабого оракула в сильного оракула

[ редактировать ]

Учитывая слабый оракул разделения для многогранника , можно построить сильный оракул разделения с помощью тщательного метода округления или диофантовых приближений . [1] : 159 

См. также

[ редактировать ]
  1. ^ Jump up to: а б с д и ж Гретшель, Мартин ; Ловас, Ласло ; Шрийвер, Александр (1993), Геометрические алгоритмы и комбинаторная оптимизация , Алгоритмы и комбинаторика, том. 2 (2-е изд.), Springer-Verlag, Берлин, номер номера : 10.1007/978-3-642-78240-4 , ISBN.  978-3-642-78242-8 , МР   1261419
  2. ^ «MIT 6.854, весна 2016 г., лекция 12: от разделения к оптимизации и обратно; метод эллипсоида — YouTube» . www.youtube.com . Проверено 03 января 2021 г.
  3. ^ Jump up to: а б Вемпала, Сантош (2016). «Оракул разделения» (PDF) .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f4e300132b161e9c1566c1edf3fd4158__1706457900
URL1:https://arc.ask3.ru/arc/aa/f4/58/f4e300132b161e9c1566c1edf3fd4158.html
Заголовок, (Title) документа по адресу, URL1:
Separation oracle - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)