Квадратичная псевдобулева оптимизация - Quadratic pseudo-Boolean optimization

Квадратичная псевдобулева оптимизация (QPBO) это комбинаторная оптимизация метод квадратичного псевдобулевые функции в виде

в двоичных переменных , с участием . Если является субмодульный тогда QPBO производит глобальный оптимум, эквивалентный оптимизация вырезки графика, а если содержит не субмодульные члены, тогда алгоритм выдает частичное решение с определенными свойствами оптимальности, в обоих случаях в полиномиальное время.[1]

QPBO - полезный инструмент для вывода на Марковские случайные поля и условные случайные поля, и имеет приложения в компьютерное зрение такие проблемы как сегментация изображения и стерео согласование.[2]

Оптимизация несубмодульных функций

Если коэффициенты квадратичных слагаемых удовлетворяют условию субмодулярности

то функция может быть эффективно оптимизирована с помощью оптимизация вырезки графика. Это действительно возможно представить с неотрицательной взвешенной график, а глобальный минимум можно найти за полиномиальное время, вычислив минимальный разрез графа, который можно вычислить с помощью таких алгоритмов, как Форд – Фулкерсон, Эдмондс-Карп, и Бойков – Колмогоров с.

Если функция не является субмодульной, то проблема в NP-жесткий в общем случае, и не всегда удается решить ее точно за полиномиальное время. Можно заменить целевую функцию аналогичным, но субмодулярным приближением, например путем удаления всех непубмодулярных членов или замены их субмодулярными приближениями, но такой подход обычно неоптимален и дает удовлетворительные результаты только в том случае, если количество непубмодулярных членов относительно мало.[1]

QPBO строит расширенный граф, вводя набор вспомогательных переменных, идеально эквивалентных отрицанию переменных в задаче. Если узлы в графе, связанные с переменной (представляющей саму переменную и ее отрицание), разделены минимальный разрез графа в двух различных компонентах связности, то оптимальное значение для такой переменной хорошо определено, иначе вывести его невозможно. Такой метод дает результаты, в целом превосходящие субмодульные приближения целевой функции.[1]

Свойства

QPBO предлагает решение, в котором каждая переменная принимает одно из трех возможных значений: правда, ложный, и неопределенный, обозначенные далее как 1, 0 и соответственно. Решение имеет следующие два свойства.

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

Алгоритм

График, представляющий функцию двух переменных и .

Алгоритм можно разделить на три этапа: построение графа, вычисление максимального потока и присвоение значений переменным.

При построении графа множество вершин содержит узлы источника и приемника и , и пара узлов и для каждой переменной. После перенастройки функции к нормальной форме,[примечание 1] для каждого члена в граф добавляется пара ребер :

  • на каждый срок края и , с весом ;
  • на каждый срок края и , с весом ;
  • на каждый срок края и , с весом ;
  • на каждый срок края и , с весом ;
  • на каждый срок края и , с весом ;
  • на каждый срок края и , с весом .

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

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

Способ обработки неопределенных переменных зависит от контекста проблемы. В общем случае, учитывая раздел графа в двух подграфах и двух решениях, каждое из которых оптимально для одного из подграфов, то можно объединить два решения в одно решение, оптимальное для всего графа, за полиномиальное время.[3] Однако вычисление оптимального решения для подмножества неопределенных переменных по-прежнему остается сложной задачей. NP-жесткий проблема. В контексте итерационных алгоритмов, таких как -расширение, разумный подход состоит в том, чтобы оставить значение неопределенных переменных неизменным, поскольку свойство постоянства гарантирует, что целевая функция будет иметь невозрастающее значение.[1] Существуют различные точные и приблизительные стратегии для минимизации количества неопределенных переменных.[2]

Условия высшего порядка

Проблема оптимизации псевдобулевых функций высшего порядка обычно сложна. Процесс приведения функции высокого порядка к квадратичной известен как «квадратизация».[4] Всегда можно свести функцию высшего порядка к квадратичной функции, которая эквивалентна в отношении оптимизации, проблема, известная как "проблема высшего порядка клика сокращение "(HOCR), и результат такого сокращения может быть оптимизирован с помощью QPBO. Общие методы сокращения произвольных функций основаны на определенных правилах подстановки и в общем случае требуют введения вспомогательных переменных.[5] На практике большинство терминов можно сократить без введения дополнительных переменных, что приведет к более простой задаче оптимизации, а остальные члены можно сократить точно, с добавлением вспомогательных переменных или приблизительно, без добавления каких-либо новых переменных.[6]

Заметки

  1. ^ а б c d е Колмогоров и Ротер (2007).
  2. ^ а б c Rother et al. (2007).
  3. ^ Биллионнет и Жомар (1989).
  4. ^ Даттани (2019).
  5. ^ Fix et al. (2011).
  6. ^ Исикава (2014).

использованная литература

Заметки

  1. ^ Представление псевдобулевой функции с коэффициентами не уникален, и если два вектора коэффициентов и представляют ту же функцию, тогда считается повторной параметризацией и наоборот. В некоторых конструкциях полезно убедиться, что функция имеет определенную форму, называемую форма норамла, который всегда определяется для любой функции и не уникален. Функция находится в нормальной форме, если выполняются два следующих условия (Колмогоров, Ротер (2007)):
    1. для каждого ;
    2. для каждого и для каждого .
    Для произвольной функции , всегда можно найти репараметризацию к нормальной форме с помощью следующего алгоритма в два этапа (Колмогоров и Ротер (2007)):
    1. пока существуют индексы и так что второе условие нормальности не выполняется, подставьте:
      • с участием
      • с участием
      • с участием
      где ;
    2. для , замена:
      • с участием
      • с участием
      • с участием
      где .

внешние ссылки