Чи проблема NP "підмножина" не завершена?


21

Проблема підмножини підсумків є класичною проблемою, що не стосується NP:

Враховуючи список чисел і цільовий k , чи існує підмножина чисел з L, яка дорівнює k ?LkLk

Студент запитав мене, чи цей варіант завдання, який називається проблемою "підмножина продукту", не відповідає NP:

Враховуючи список чисел та цільову k , чи існує підмножина чисел із L , добуток яких k ?LkLk

Я здійснив пошук і не зміг знайти жодних ресурсів, які б говорили про цю проблему, хоча, можливо, я їх пропустив.

Чи повна проблема продукту підмножини NP не завершена?


2
Цікаві відповіді, але мені цікаво: чи не можемо ми зменшити суму підмножини, лише взявши журнали k та всі числа? (Можливо, я повинен задати окреме запитання?)
j_random_hacker

1
@j_random_hacker, так, якщо ви не можете знайти відповідь після пошуку на цьому веб-сайті та в Інтернеті, я пропоную вам поставити окреме запитання. Це приємне запитання з приємною відповіддю (підказка: прийняття журналів залишає вас з чимось, що не є цілим числом; в іншому напрямку подумайте, що показник впливає на розмір чисел), але це трохи дотична. і було б краще у власному питанні.
DW

1
@DW: Спасибі, коли я отримаю час, я зроблю так, як ви запропонуєте!
j_random_hacker

Відповіді:


13

У коментарі згадується зменшення з X3C на SUBSET PRODUCT, приписаний Yao. Зважаючи на ціль скорочення, важко було здогадатися, яким було скорочення.

Визначення:

ТОЧНА ПОКРИТА 3-СТАЛОМ (X3C)

Дано скінченну множину з | X | кратне 3, а колекція C 3-елементних підмножин X , чи містить C точну кришку C ' дляX|X|CXCC , де С 'C , і кожен елемент X відбувається в точності один раз в C ' ?XCCXC

ПОДРОБНИЙ ПРОДУКТ

Враховуючи список чисел та цільову k , чи існує підмножина чисел із L , добуток яких k ?LkLk

Щоб зменшити екземпляр X3C до примірника SUBSET PRODUCT:

  1. Встановіть бієктивне відображення між членами та першим | X | прості числа. Замініть членипідмножини X і C намальованими праймерами.X|X|XC

  2. Для кожного підмножини в множте його членів разом; Отриманий список продуктів становить L для екземпляра SUBSET PRODUCT. Оскільки прості числа використовуються для відображення на етапі 1, продукти гарантуються еквівалентними, якщо підмножини еквівалентні унікальною теоремою факторизації .CL

  3. Помножте члени разом; отриманий продукт - це значення k для екземпляра SUBSET PRODUCT.Xk

Основними факторами є саме члени XkX . Прості множники чисел у відповідають точно членам підмножини С. Тому будь-яке рішення нового примірника SUBSET продукту може бути перетворено в розчин X3C шляхом зіставлення членів розчину L назад до підмножини в С .LCLC

Кожен з 3 етапів перетворення включає операції, які є многочленом розміру вхідного або розмір члена X . Перша | X | прайми можуть утворюватися в часі O ( | X | ) за допомогою сита Ератостена і гарантовано вписуються в O ( | X | 2|X|X|X||X|простір ln | X | ) затеоремою простих чисел.O(|X|2ln|X|)


1
+1, але для зменшення, яке потрібно пройти, я думаю, що нам потрібно, щоб перший | X | Прості числа можуть бути представлені у кількох бітах, що є поліном у | X | - Я маю рацію щодо цього, і якщо так, чи маємо ми цю гарантію?
j_random_hacker

1
Відмінний момент. Я додав абзац для вирішення цього питання.
Кайл Джонс

1
Дякую, що ця теорема цементує це! Не для нитпика, але згідно зі сторінкою, до якої ви пов’язані, число kth простих цифр становить приблизно k log k, і враховуючи, що сито Ератостена, очевидно, обчислює всі прайми до n часу O (n log log n) , замінюючи n = k log k з'являється, щоб дати час O (k * log (k) * log (log (k log k))), а не O (k) (ваш O (| X |)), для обчислення першого k таким чином
j_random_hacker

1
Кайл Джонс, чи не критично, що крок 3 створить число експоненціальної величини? Чи справді це скорочення поліноміального часу? k
користувач1742364

3
@ user1742364 Ні, оскільки обчислення не вимагає експоненціальної кількості операцій або вимагає зберігання експоненціальної кількості біт. Обчислення k вимагає | X | множення і множення є в гіршому випадку операцією O ( n 2 ) . У той час як k буде експоненціально більшим, ніж найбільший простий P у X , кількість бітів, необхідних для зберігання k, буде O ( log P ) . kk|X|O(n2)kPXкО(журналП)
Кайл Джонс

9

Відповідно до [ 1 ]: Так

Я також наводжу те саме посилання: Коментарі: Існує тонка технічна відмінність між цим та Задачею 42: у першому випадку є псевдоефективний алгоритм, отриманий за допомогою можливості представлення чисел в одинакових; якщо всі проблеми, повні NP, не можуть бути вирішені швидкими алгоритмами, однак проблема продукту підмножини не може бути вирішена "ефективними" методами, використовуючи навіть це необгрунтоване подання вводу.

поглянути на [2] щодо зменшення. [2]: стипендіати, Майкл та Ніл Кобліц. "Складність і криптографія з фіксованими параметрами." Прикладна алгебра, алгебраїчні алгоритми та коди, що виправляють помилки (1993): 121-131.


1
Дійсне скорочення чи цитування статті у журналі, було б добре, якщо можливо.
templatetypedef

3
@templatetypedef У Гарі та Джонсона зменшення до точного покриття на 3 набори. Завдяки приватному спілкуванню з Яо.
AJed

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