Псевдобулева функция - Pseudo-Boolean function

В математика и оптимизация, а псевдобулева функция это функция формы

,

куда B = {0, 1} - это Логический домен и п неотрицательное целое число, называемое арность функции. А Логическая функция тогда это особый случай, когда значения также ограничены до 0,1.

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

Любую псевдобулеву функцию можно однозначно записать как многолинейный полином:[1][2]

В степень псевдобулевой функции - это просто степень многочлен в этом представлении.

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

Оптимизация

Минимизация (или, что то же самое, максимизация) псевдобулевой функции есть NP-жесткий. В этом легко убедиться, сформулировав, например, максимальный разрез проблема как максимизация псевдобулевой функции.[3]

Субмодульность

В субмодульный набор функций можно рассматривать как особый класс псевдобулевых функций, что эквивалентно условию

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

Двойственность крыши

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

Квадратизация

Если степень ж больше 2, всегда можно использовать сокращение получить эквивалентную квадратичную задачу с дополнительными переменными. Книга с открытым исходным кодом по этой теме, в основном написанная Найк Даттани, содержит десятки различных методов квадратизации[4].

Одно из возможных сокращений:

Есть и другие возможности, например,

Разные сокращения приводят к разным результатам. Возьмем, например, следующий кубический многочлен:[5]

Используя первое сокращение, за которым следует двойственность крыши, мы получаем нижнюю границу -3 и не указываем, как назначить три переменные. Используя второе сокращение, мы получаем (точную) нижнюю границу -2 и оптимальное назначение каждой переменной (которая равна ).

Алгоритмы полиномиального сжатия

Рассмотрим псевдобулеву функцию как отображение из к . потом Предположим, что каждый коэффициент является цельным. Тогда для целого числа проблема P принятия решения о том, больше или равно является NP-полным. Это доказано в [6] что за полиномиальное время мы можем либо решить P, либо уменьшить количество переменных до .Позволять - степень указанного выше полилинейного полинома для . потом [6] доказал, что за полиномиальное время мы можем либо решить P, либо уменьшить количество переменных до .

Смотрите также

Примечания

  1. ^ Hammer, P.L .; Розенберг, I .; Рудеану, С. (1963). «Об определении минимумов псевдобулевых функций». Studii ¸si Cercetari Matematice (на румынском языке) (14): 359–364. ISSN  0039-4068.
  2. ^ Хаммер, Питер Л .; Рудяну, Серджиу (1968). Булевы методы в исследовании операций и смежных областях. Springer. ISBN  978-3-642-85825-3.
  3. ^ а б c Борос и молот, 2002
  4. ^ Даттани, Н. (2019-01-14), Квадратизация в дискретной оптимизации и квантовой механике, arXiv:1901.04405
  5. ^ Каль и Страндмарк, 2011 г.
  6. ^ а б Crowston et al., 2011

Рекомендации