Сума підмножини та підмножина (сильна порівняно зі слабкою твердістю NP)


15

Я сподівався, що хтось, можливо, зможе мені пояснити, чому саме проблема продукту підмножини сильно є NP-складною, тоді як проблема суми підмножини є слабкою.

Підмножина Сума: Дано і T , чи існує підмножина X така, що i X x iX={x1,...,xn}TX .iXxi=T

Підгрупа товарів: Дано і Т , чи існує підмножина X ' таке , що Π я Х ' х я = Т .X={x1,...,хн}ТХ'iХ'хi=Т

Я завжди вважав, що дві проблеми є рівнозначними - екземпляр SS може бути перетворений на екземпляр SP через експоненцію, а екземпляр SP - в SS через логарифми. Це підштовхнуло мене до висновку, що вони обидва належали до одного класу NP-hard - тобто вони обидва були слабо-жорсткими.

Крім того, виявляється, що однакові повторення можуть бути використані для вирішення обох завдань, використовуючи динамічне програмування з дуже невеликою зміною (замінивши віднімання в SS поділом на SP).

Це було до тих пір, поки я не прочитав главу 8 «Теорії обчислень» Бернарда Морета (для тих, хто не має книги, вона має доказ твердості підмножинного продукту через X3C - сильна проблема, що склалася з NP).

Я розумію скорочення, але не можу зрозуміти, що було не так з моїм попереднім висновком (еквівалентність двох проблем).


ОНОВЛЕННЯ : Виявляється, що підмножина продукту лише слабко завершена NP (цільовий продукт експоненціальний у ). Гері та Джонсон опублікували це у своїхΩ(n) колонці NP-повноти у 1981 році , але я думаю, що це було менш помітно, ніж їх попередні твердження у їхній книзі.


5
Напевно, було б добре уявити, як ви реалізуєте свій алгоритм динамічного програмування. Тоді ви знайдете, що було не так.
Йосіо Окамото

@ MohammadAl-Turkistany: Це заключний розділ цієї колонки
RDN

Відповіді:


5

Щодо проблеми еквівалентності сукупності підмножини та підмножини продукту, існує технічна характеристика продукту підмножини. Добуток x's = T насправді є пседополіноміальним, якщо T не є експоненціальним! Тож докази того, що Subset Product є NP Hard, не є (з технічних причин !!!) цілком правильними!

Однак, даючи обіцянку, що T велика, тоді зменшення через логарифми до сукупності підмножини дає НЕСТАНДАРТЬНУ ПІДСУМКОВУ СУМУ, яка перевищує реальні показники! Це означає, що алгоритм пседополіномалії для суми підмножини не застосовується! Хоча логарифми невеликі, десяткові знаки псують псуедополіномічне динамічне програмування!

Я сподіваюся, що це допомагає

Зелах


2
Виявляється, ви були правильні впродовж усього періоду, коли зменшення було невірним (тобто, стверджуючи, що вони демонструють високу повноту NP, якщо цього не роблять). Спасибі!
RDN

8

По-перше, використання експоненції для переходу від SS до SP працює (використовуючи базу 2, а не базу e ), але збільшує розмір залучених чисел. Слабка NP-твердість означає, що якщо цифри невеликі (а точніше, позначаються одинарними), проблема вже не є важкою. Отже, використовуючи експоненцію, створюються експоненціально розміри екземплярів SP навіть для легких екземплярів SS, де числа записуються уніарними.

По-друге, використання логарифмів для переходу від SP до SS не працює, оскільки логарифми зазвичай генерують не цілі значення. SS і SP визначаються за допомогою цілих чисел, а логарифми часто призводять до трансцендентальних значень, які важко представити або зробити математику.

<edit>

Нехай - ціле число, A > 0 , тоді log 2 AAA>0log2A є раціональним тоді і тільки тоді, коли - сила 2, а трансцендентальна в іншому випадку. По-перше, якщо log 2 A = pA для ненульових цілих чиселlog2A=pq і q , тоді A = 2 ppq ,Aq=2p. Отже, маємо, щоA=2rшляхом простого розкладання. Крім того,Arq=2p, тому для заданогоAми можемо вибратиq=1іp=rдля доведенняlog2AA=2pqAq=2pA=2rArq=2pAq=1p=rlog2A раціонально.

Нам просто потрібно показати, що ніколи не є трансцендентним. Це випливає з теореми Гельфонда-Шнайдера , для еквівалентного формулювання (як це можна знайти на сторінці Wiki) "якщо α і γ - ненульові алгебраїчні числа, і ми беремо будь-який ненульовий логарифм α , то ( log γ ) / ( log α ) =log2Aαγα або раціональний, або трансцендентний ". Це також легко перевірити, взявши зворотню теорему і встановивши α β = γ і, отже, β(logγ)/(logα)=logαγαβ=γ .β=logαγ

</edit>

Нарешті, розглянемо, що відбувається, коли ми спробуємо алгоритм динамічного програмування з SS на SP. Оскільки ми використовуємо продукти, а не суми, цифри, що залучаються, надзвичайно вибухають, а необхідна математика точної точності раптом стає фактором часу роботи. Ось чому алгоритм не може швидко вирішити екземпляри SP, навіть якщо числа не є одинаковими.


це призводить до дещо цікавого особливого випадку. для якого класу чисел журнал виражається як раціональний і не потребує нескінченної точності? в цьому випадку проблеми справді були б майже еквівалентними та зводяться один до одного. це також, здається, веде до "природного" алгоритму наближення.
vzn

1
Дякую за чудову відповідь! У мене є лише одне питання - я розумію, чому брати журнали незаконно (за винятком, можливо, у випадку, коли колоди мають полі довжину - як вказує vzn), але я все ще не впевнений у законності переходу від SS до SP через експоненцію. WRT переходить від SS до SP, як ви згадали (через експоненцію), чи не стикаємось з такою проблемою: Кількість бітів у вхідному екземплярі дорівнює O ( n log x ), а кількість бітів у екземпляр I S P є O ( n x )ISSO(nlogx)ISPO(nx) . Це експоненціальний вибух. Так це все-таки законно? Якщо так, то чому?
RDN

1
@vzn, RDN: Я редагував характеристику, коли логарифм трансцендентний. Що стосується вибуху скорочення, то це залежить від вашого визначення поняття "правове": зменшення є правильним , проте його ефективність не є багаточленом, а значить, нічого не говорить про твердість NP. Отже, це не правильне скорочення полі-часу , але це правильне скорочення (без кваліфікаторів).
Алекс десять Бринк

також є окремий випадок, коли всі числа є у вигляді , кожне n i раціональне, для будь-якого c , а не просто c = 2 . алгоритм наближення, про який я думав, може знайти c таким, що перетворення значень у цю "базу" є "близькою" до оригіналів. cninicc=2c
vzn

1

Буквальне пояснення полягає в тому, що проблема «Підмножина продукту» є NP-повною шляхом зменшення від сильно неповної NP-проблеми, наприклад, точного покриття на 3-х наборів. У такому "сильному" скороченні вхідні цілі числа обмежуються деякою поліноміальною кількістю числа цілих чисел у результуючому екземплярі задачі "Підмножина продукту".

Таке "сильне" зменшення неможливо від будь-якої сильно неповної задачі до суми підмножини, якщо P=NP . У нас є алгоритм динамічного програмування багаточленного часу для вирішення задачі підмножини суми, якщо цілі числа вводу обмежені поліномом.


Так, я це розумію. Моє запитання полягало в тому, чому висновок, який я зробив раніше, був невірним (тобто еквівалентність SS та SP).
RDN

@rdn У цьому сенсі немає еквівалента, якщо тільки P = NP.
Мохаммед Аль-Туркстані

Так, я розумію. Але я хочу знати, що сталося з моїми скороченнями в будь-якому напрямку.
RDN

Чи можете ви окреслити скорочення?
Мохаммед Аль-Туркстані

Нехай бути екземпляром SS і I ( S P ) = Y , Р бути екземпляром SP. Перетворення I ( S S ) в I ( S P ) : Нехай P = e S і Y i = e X i . Існує SS суми S iff, якщо існує SP продуктуI(SS)=X,SI(SP)=Y,PI(SS)I(SP)P=eSYi=eXiSP=eS. Перетворення в I ( S S ) : Нехай S = l o g ( P ) і X i = log ( Y i ) . Існує SP продукту P iff, існує SS суми S = log ( P ) . I(SP)I(SS)S=log(P)Xi=log(Yi)PS=log(P)
RDN
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.