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


28

Нехай - множина натуральних чисел. Ми розглядаємо за частковим порядком подільності, тобто . ДозволяєSSs1≤s2⟺s1∣s2

α(S)=max{|V|∣V⊆S,V антіцепь } .

Якщо ми розглянемо проблему підмножини підсумків, де є множина чисел у S , що можна сказати про складність задачі, пов'язаної з α(S) ? Неважко зрозуміти, якщо α(S)=1 , то проблема проста. Зверніть увагу, що це навіть легше для проблеми з рюкзаком, коли α(S)=1† .


† Розв’язування послідовних задач з рюкзаком М. Хартмана та Т. Олмстеда (1993)


1
Замість "відношення" пропоную використовувати терміни "часткове замовлення". Також, при мінімальних роздумах, проблема монети Frobenius може бути актуальною (звичайно, не впевнений)
— Aryabhata

Відповіді:


2

Цю задачу можна вирішити в поліноміальний час за допомогою лінійного програмування, і це фактично справедливо для будь-якого часткового порядку (S,≤) . До речі, ми можемо довести за допомогою індукції, що для будь-якого набору кінцевих часткових порядків (S,≤) існує кінцевий набір S′⊆N і біекція f:S→S′ , така що для всіх s1,s2∈S,s1≤s2⇔f(s1)|f(s2) .

Нехай C безліч , утворене ланцюгами в S . Нагадаємо, що C - це ланцюг iff для всіх v,v′ в C , v≤v′ або v′≤v

Тепер створіть логічний змінну для кожного , і булевої змінної для кожної ланцюга . Ми можемо написати наступну лінійну програму для нашої проблеми: xvv∈SyCC(P)

Max∑v∈Sxvsubject to∑v∈Cxv≤1,∀C∈Cxv∈{0,1},v∈S

і його подвійний :(D)

Min∑C∈CyCsubject to∑C:v∈CyC≥1,∀v∈SyC∈{0,1},C∈C

Тоді проблема пошуку мінімальної кришки упорядкованого набору ланцюгами є подвійною нашою проблемою. Теорема Ділворта стверджує, що

Існує античін А та розподіл порядку в сімействі P ланцюгів, таким чином, що кількість ланцюгів у перегородці дорівнює кардинальності A

що означає, що оптимальне рішення цих двох завдань відповідає:Opt(P)=Opt(D)

Нехай ( респ. ) - це релаксація ( відповідно. ), тобто тієї ж лінійної програми, де всі обмеження ( респ. ) замінюються на ( відповідно ). Нехай і є їх оптимальними рішеннями. Оскільки маємо: та слабку подвійність теорема встановлює, що(P∗) (D∗)(P) (D)xv∈{0,1} yC∈{0,1}xv∈[0,1] yC∈[0,1]Opt(P∗)Opt(D∗){0,1}⊆[0,1]

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,s2∈Xs1≤s2s2≤s1X{v1,v2}


Еліспоїдний метод працює незалежно від кількості обмежень, якщо у нас є (1) поліноміальне число змінних і (2) оракул розділення, який дав будь-яке рішення за поліноміальний час вирішує, чи є можливим, або знайти обмеження, порушені . Я рекомендую прочитати [ www-math.mit.edu/~goemans/18433S09/ellipsoid.pdf] , у цьому питанні не дуже зрозуміла вікіпедіяxxx
— Матьє Марі

Дякую за пояснення, чому експоненціальна кількість обмежень не є проблемою, а актуальністю подвійності. Дуже хороша!
— DW
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.