Якесь тло. Вищезазначена проблема - це проблема з обмеженням. Найефективніше рішення проблеми з забиткою з обмеженнями або без них може бути вирішено за псевдополіномічний час, все ще NP-Hard. Про деякі варіанти див. Https://en.wikipedia.org/wiki/Knapsack_problem#Definition . Перше обмеження в цій варіації полягає в тому, що значення предметів (кульок), що розміщуються в рюкзаку (бункерах), не має значення. Потім проблема обмежується кількістю часу, необхідного для того, щоб помістити предмети в рюкзак. Первісна проблема вимагає розміщення найцінніших предметів якнайшвидше. Ще одне обмеження цієї версії полягає в тому, що ваги та всі інші аргументи є цілими числами. А обмеження відсотків полягає в тому, що вагиw j + 1 jwjділимо на всі . Примітка: проблема дробового загину може бути вирішена за багаточлен, але не представляє найбільш практичних рішень вихідної проблеми. Ця проблема використовує цілі числа, які поділяються рівномірно (відсутність раціональних рішень). Можливо, подивіться У чому полягає велика проблема із рюкзаком? .wj+1j
Головне питання, можливо, має бути "це ця проблема все ще NP-Hard, коли не пов'язаний поліномом, відповідним , оскільки проблема є менш складною (в P), коли вона обмежена? Причина, яку я кажу, це тому, що проблема може показано, що він знаходиться в P, коли обмежений, і NP-Hard, коли не обов'язково ділиться i w j w j w j + 1 w j w j + 1 w j j w jwjiwjwjwj+1рівномірно (ваги просто випадкові), всі обмеження обмежують складність цієї проблеми цими двома умовами. Ці умови (1. випадкова задача з рюкзаком без обмеження предмета-значення та 2. проблема розбиття ваги без обмеження предмета-значення) заперечують одна одну з точки зору зменшення складності, оскільки коефіцієнти ваг можуть бути самими випадковими ( особливо при безмежному), накладаючи таким чином експоненціальні обчислення часу (це буде показано в прикладі нижче). Крім того, оскільки ділить , збільшується в розмірі експоненціально для кожногоwjwj+1wjj. Це тому, що замість використання випадкових зважених предметів (кульок, вага одиниці яких може бути обмежений вагою одиниці менше 100 або 50 або навіть 10), обмеження натомість спричинює складність часу залежно від кількості цифр , таке ж, як пробний поділ, який є експоненціальним.wj
Так, так, вищезазначена ціла програма залишається важкою для NP, навіть коли ділить на всі . w j + 1 jwjwj+1j І це легко спостерігається.
Приклад 1: нехайі- сили двох. Через постійні два, вся проблема вирішується в квадратичний час, як показує ваш приклад. Ваги не випадкові, і тому розрахунок вирішується ефективно.w pn=1wp
Приклад 2: нехайвизначається як, де- просте число, відповідне, так що. Це застосовно, оскількиділитьдля всіх. кожен- добуток всіх простих чисел до. Значення питомих ваг збільшують як такі:. Оскільки існує обмежений (~ w j ∗ p p j p = 2 , j = 1 : p = 3 , j =wj+1wj∗ppjw j w j + 1 j w j j 1 ,p=2,j=1:p=3,j=2,p=5,j=3,p=7,j=4,...,P,Jwjwj+1jwjjp j j l o g ( j )1,2,6,30,210,2310,30030,...pjj l o g( j )через теорему просте число), оскільки коефіцієнти є усіма простими рівнями, ми отримуємо складність NP-проміжний.
Приклад 3: нехайвизначається як, де- випадкове обране просте число від двох до нескінченності, що відповідає. Це стосується цієї проблеми, оскількиділитьна всі. Отримуємо перші 5 коефіцієнтів (випадковим чином падають від двох до нескінченності), як. Ми бачимо, що навіть на 5-му балі вага має одинадцять цифр. На щастя, п'ятий коефіцієнт був двома, а не простим у порядкуі більше. шj + 1R p j w j w j + 1 j 101 , 2657 , 7 , 3169 , 2 10 100шj∗ RpRpjшjшj + 1j101 , 2657 , 7 , 3169 , 210100
Приклад три вище - це те, що відбувається, коли не обмежений (випадкові ваги) поліномом, відповідним . Складність часу експоненціальна, NP-Hard. Для певної точки зору просто складіть всі ваги, щоб побачити, чи вони відповідають. Але не існує рішення, щоб вирішити його значно швидше, зробивши ваги нероздільними, ніж намагаючись кожну підмножину перевірити, чи працює вона. Після кількох десятків балів ви все ще входите в царство навіть трильйонів підмножин або трильйонів цифр. iшji