Проблема сумм подмножеств со многими условиями делимости


28

Пусть S множество натуральных чисел. Мы рассматриваем в частичном порядке делимости, т.е. . ПозволятьSs1s2s1s2

α(S)=max{|V|VS,V антицепь } .

Если мы рассмотрим задачу о сумме подмножеств, где мультимножество чисел находится в S , что мы можем сказать о сложности проблемы, связанной с α(S) ? Легко видеть, если α(S)=1 , тогда проблема проста. Обратите внимание, что это легко даже для более сложной задачи по ранцу, когда α(S)=1 .


Решение последовательных задач о ранцах М. Хартманном и Т. Олмстедом (1993)


1
Вместо «отношения» я предлагаю использовать термины «частичный порядок». Кроме того, если подумать немного, проблема монет Фробениуса может быть актуальной (конечно, не уверен, хотя)
Aryabhata

Ответы:


2

Эта проблема может быть решена за полиномиальное время с помощью линейного программирования, и это действительно верно для любого частичного порядка . Кстати, по индукции можно доказать, что для любого конечного множества частичного порядка существует конечное множество и биекция , такая что для всех .(S,)(S,)SNf:SSs1,s2S,s1s2f(s1)|f(s2)

Пусть множество , образованное цепями в . Напомним, что является цепью тогда и только тогда, когда все в ,CSCv,vCvv или vv

Теперь создайте логическую переменную для каждого V S и булевой переменной у C для каждой цепи С . Мы можем написать следующую линейную программу ( P ) для нашей задачи: Max v S x v с учетом v C x v1 , C CxvvSyCC(P)

MaxvSxvsubject tovCxv1,CCxv{0,1},vS

и его двойной :(D)

MinCCyCsubject toC:vCyC1,vSyC{0,1},CC

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

Существует антицепь A и разбиение порядка на семейство P цепочек, так что число цепей в разбиении равно количеству A

что означает, что оптимальное решение этих двух задач совпадает: Opt(P)=Opt(D)

Пусть ( соответственно ( D ) ) будет релаксацией ( P ) ( соответственно ( D ) ), т.е. той же линейной программы, где все ограничения x v{ 0 , 1 } ( соответственно y C{ 0 , 1 } ) заменяются на x v[ 0 , 1 ] ( соответственно y(P) (D)(P) (D)xv{0,1} yC{0,1}xv[0,1] ). Пусть O p t ( P ) и O p t ( D ) - их оптимальные решения. Так как { 0 , 1 } [ 0 , 1 ] имеем: O p t ( P ) O p t ( P )  и  O p t ( D yC[0,1]Opt(P)Opt(D){0,1}[0,1] и теорема о слабой двойственности устанавливает, что O p t ( P ) O p t ( D ), то, собрав все вместе, имеем: O p t ( P ) = O p t ( P ) = O p t ( D ) = O p t ( D )

Opt(P)Opt(P) and Opt(D)Opt(D)
Opt(P)Opt(D)
Opt(P)=Opt(P)=Opt(D)=Opt(D)

Opt(P)=Opt(P)Xs1,s2Xs1s2s2s1X{v1,v2}


xxx

Спасибо за объяснение, почему экспоненциальное количество ограничений не является проблемой, а актуальность двойственности. Очень хорошо!
DW
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.