Це правило, що дискретні проблеми є NP-жорсткими, а постійні проблеми - ні?


27

В моїй освіті з інформатики я все частіше помічаю, що більшість дискретних проблем є повними NP (принаймні), тоді як оптимізація безперервних проблем майже завжди легко досяжна, як правило, градієнтними методами. Чи є з цього винятки?


14
Звичайно, їх багато. Біпартітні та загальні відповідність, а також мінімальні розрізи - це три класичні задачі, що вирішуються за багаточленним часом. Багато проблем безперервної оптимізації, що не є опуклими, є важкими NP: пошук діаметра опуклого набору або обчислення норми інжекції 3-d тензора.
Сашо Ніколов

6
Ось проста проблема безперервної оптимізації, яку важко вирішити: cstheory.stackexchange.com/questions/14630/…
Jukka Suomela

8
Я не впевнений, які проблеми ви маєте на увазі, але багато безперервних проблем, які "вирішуються" градієнтними методами, насправді не "вирішені": метод просто знаходить якийсь локальний оптимум.
Суреш Венкат

1
На сьогодні всі відповіді здаються контрприкладами, але було б непогано побачити деякі випадки, коли це правило, як видається, відповідає дійсності. Два, які приходять на думку, - це лінійне програмування проти цілочисельного програмування та опукла оптимізація проти субмодулярного максимізації.
usul

13
Я думаю, що вся дискретна проти суцільна річ - це червона оселедець. Проблема повинна мати дуже особливу структуру для ефективного вирішення. Я думаю, що справжня різниця тут полягає в тому, що у випадку легких безперервних проблем спеціальна структура має тенденцію до опуклості, тоді як у випадку легких дискретних проблем речі виглядають складніше: іноді структура є субмодулярністю або перетином матроїдів, але часто це не так. Це, мабуть, має більше спільного з тим, що ми ще не дуже добре розуміємо дискретну математику.
Сашо Ніколов

Відповіді:


41

Приклад, який мені подобається, - це проблема, коли, виходячи з відмінних , вирішуйте, чи:π - π cos ( a 1 z ) cos ( a 2 z ) cos ( a n z )a1,a2,,anN

ππcos(a1z)cos(a2z)cos(anz)dz0

Спочатку це здається суцільною проблемою для оцінювання цього інтеграла, проте легко показати, що цей інтеграл не дорівнює нулю, якщо існує збалансований розділ множини , тому ця інтегральна проблема полягає у насправді NP-завершений.{a1,,an}

Звичайно, я закликаю пограти з деякими числовими інструментами, щоб переконати себе в тому, що більшість (якщо не всі) числові хитрощі для оцінювання цього інтеграла приречені на провал, коли стає достатньо великим.n


4
Оскільки ми говоримо про цю тему, найраніші посилання на цю проблему, яку я можу знайти, є у «Природі обчислень» Мура та Мертенса. Вони не містять посилань, тому я припускаю, що вони їх вигадали, або це походить з фольклору. Буду вдячний, якщо хтось знає джерело цієї проблеми.
Джо Бебель

Імовірно, не тільки більшість, а й усі числові методи будуть катастрофічно масштабуватись для достатньо великих ? Оскільки проблема не є повною NP, точної чисельної техніки для оцінки того інтеграла, який масштабується поліноміально в , буде достатньо, щоб показати P = NP. nnn
EP

1
Правильно, алгоритм, який завжди оцінює цей інтеграл правильно в поліномі часу в , буде достатнім, щоб показати P = NP. З іншого боку, я не можу на 100% виключити можливість певних числових методик, які я не знаю, як-небудь добре діють на конкретних екземплярах цього інтеграла, навіть коли є великим, як і те, як часто вирішують SAT знайти задовольняючі завдання для деяких формул з тисячами змінних, хоча найгірший показник поганий. Тож, навіть якщо я сумніваюся, що такі методи існують, я трохи підготував свою відповідь. nnn
Джо Бебель

3
Очевидно, першоджерелом цієї проблеми є: David Plaisted, Деякі проблеми полінома та цілого поділу є важкими NP. SIAM Journal on Computing, 7 (4): 458–464, 1978. Посилання знаходиться в тилу Мура та Мертенса, тільки не в самому тексті.
Джо Бебель

26

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

Існують і інші безперервні проблеми, які є ще складнішими: наприклад, пошук найкоротшого шляху серед багатогранних перешкод у 3D є повним PSPACE (Canny & Reif, FOCS'87).


1
"Найкоротший шлях серед багатогранних перешкод" є неперервним лише в назві, чи не так? Ми можемо розглядати простір конфігурації як об'єднання декількох дискретних фрагментів, що відповідають шляхам, які 'обіймають' заданий набір перешкод; то локальна оптимізація в кожному даному фрагменті (тобто в межах будь-якого набору перешкод) є простою, але вирішення того, який із шляхів має найкращу відстань у світі, є важкою частиною проблеми.
Стівен Стадницький

13

Хоча це точно не відповідає вашому первинному запитанню, це (придумливий) приклад свого роду філософського контрапункту: проблема, коли презентація дискретна, але вся твердість походить від "безперервного" аспекту проблеми.

Проблема - проблема Суми квадратних коренів : задано два набори цілих чисел і , це ? (Є і інші препарати, але це один я віддаю перевагу.) Хоча це не відомо напевно , щоб бутиB = { b 1 , b 2 , , b n } m i = 1A={a1,a2,,am}B={b1,b2,,bn}i=1maij=1nbjважко, широко підозрюється, що він може бути важким для NP і насправді може знаходитися поза межами NP (є, як зазначається в коментарях, чудові підстави вважати, що це не повне NP); Єдине відоме на сьогодні обмеження - це на кілька рівнів вище поліномальної ієрархії. Очевидно, що подання цієї проблеми є настільки ж дискретним, як це може бути - набір цілих чисел і питання "так / ні" про них, але проблема виникає, тому що обчислення квадратних коренів у будь-якій заданій точності є легкою проблемою, їх, можливо, потрібно буде обчислити. до високої (потенційно суперполіномальної) точності, щоб врегулювати нерівність так чи інакше. Це "дискретна" проблема, яка з'являється в дивовижній кількості оптимізаційних контекстів і допомагає сприяти їх власній складності.


4
Мені також дуже подобається цей приклад, хоча варто зазначити, що є вагомі причини вважати, що він не є повним; дивіться ( cstheory.stackexchange.com/a/4010/8985 )
Джо Бебель

@JoeBebel Дуже добре - я трохи переглянув свою мову, щоб це відобразити. Дякую!
Стівен Стадницький

6

Дискретні проблеми, як правило, складніші (наприклад, LP проти ILP), але проблема не в самій дискретності ... це те, як обмеження впливають на те, як можна шукати ваш домен. Наприклад, ви можете подумати, що оптимізація полінома - це те, що ви можете зробити ефективно, але вирішити опуклість квартиків (поліноми 4-го ступеня) є важким NP .

Що означає, навіть якщо у вас вже є якийсь оптимум, просто довести, що ви на оптимальному - це вже важко.


Я думаю, що дискретність також є частиною проблеми. Скажімо, наприклад, у вас був би вантажник з ІЛП. Наприклад, ви можете націлитись на пошук варіанту LP, але тоді ще є 2^n" цікаві сусіди ", які потрібно шукати.
Віллем Ван Онсем

@CommuSoft: Не дуже ... дискретність - це не проблема. Перевірте проблему найкоротшого шляху , яка є дискретною проблемою, але, тим не менш, зводиться до особливого випадку інтегрального лінійного програмування , яке вирішується за часом P (не плутати з цілим лінійним програмуванням , що, очевидно, NP-важко).
Мехрдад

це насправді не сюрприз: оскільки цілолінійне лінійне програмування не завершено NP, кожна проблема в Р (яку можна вирішити в полі-часі), може бути перетворена в полі-час в задачу ILP.
Віллем Ван Онсем

@CommuSoft: Ви прочитали коментар повністю? Я не кажу про ІЛП.
Мехрдад

вибачте, читайте на швидку. Але все-таки це тому, що обмеження є тотальними одномодульними , тому лише завдяки «благодаті» добре структурованих обмежень такі проблеми легко вирішуються. Взагалі дискретизація є проблематичним аспектом проблем.
Віллем Ван Онсем

5

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

Спочатку деякі визначення: більшість проблем оптимізації не є частиною НП . Наприклад, для проблеми Knapsack : не можна використовувати недетермінізм, щоб побудувати найцінніший мішок, простий тому, що різні недетерміновані гілки не мають спільної пам’яті. NP також визначається як "поліноміально перевіряється" (перевірка сертифіката) [1, p. 34]. У цьому випадку сертифікат, наприклад, є мішком : біт-рядок, де якщо встановлено i -й біт, то це означає, що i -й елемент є частиною мішка. Ви дійсно можете перевірити в поліном час, якщо такий мішок є більш цінним, ніж заданий поріг (це варіант рішення), але ви не можете - наскільки ми знаємо - на основі одного мішка (поліномальної кількості мішків) вирішити, чи є ця сумка найціннішою з усіх можливих сумок. Це важлива різниця між, наприклад, NP та EXP : в EXP ви можете перерахувати всі можливі пакети і вести бухгалтерію про те, який мішок найкращий.

Варіант рішення проблем оптимізації в деяких випадках є частиною NP , потрібно чітко розмежовувати аромат максимізації та аромат рішення . У ароматі рішення питання: " Враховуючи проблему оптимізації та пов'язану з утилітою, чи існує рішення з утилітою, що перевищує та пов'язану з нею " (або трохи змінена для завдання мінімізації).

Я також припускаю , що NP ви маєте в виду (гіпотетичний) частина НП , яка не є частиною P . Якщо P = NP , звичайно, NP-завершений все - таки існує, але він буде дорівнює P (збігається лише з P для деяких понять скорочення, як, наприклад, багаточленне скорочення багато-один за @ AndrásSalamon), що не так вражає ( і зменшило б " прогалину ", про яку ви заявляєте у своєму запитанні).

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

Тепер, коли ми розібралися , що з: Є багато проблем оптимізації , які знаходяться в P : найкоротшого шляху проблеми , максимально проблеми потоку (для інтегральних потужностей), мінімального остовного дерева і максимальної відповідності . Хоча ці проблеми можуть здатися вам "тривіальними для вирішення", це все-таки проблеми оптимізації, і в багатьох випадках побудова (і доказ правильності) не така проста. Таким чином, претензія не містить усіх дискретних проблем, не заповнених NP. Враховуючи, що P не дорівнює NP , ці проблеми, таким чином, не можуть бути завершеними NP .

ΣiP

Тоді як оптимізація безперервних проблем майже завжди легко досяжна.

Популярною безперервною проблемою, яка є важкою для NP, є квадратичне програмування .

x

xTQx2+cTx

Axb

Насправді лінійне програмування вже давно вважається NP-жорстким , але з дуже добре виконуваною евристикою ( метод Simplex ). Алгоритм Кармаркара Однак в P .

З моменту, коли проблема оптимізації стосується невипуклих об'єктів, загалом буде важко - якщо не неможливо - знайти ефективний алгоритм.

Бібліографія

[1] Комп'ютерна складність, сучасний підхід , Сандєєв Арора та Боаз Барак


2
Абзац дефініцій насправді заплутаний. Рюкзак - проблема оптимізації NP. Неправда, що "невідомо", якщо версія оптимізації знаходиться в NP: це не так, просто за визначенням. Крім того, я не думаю, що ми знаємо, що будь-яка проблема, яка є NP-повною, обумовлена ​​NP, не дорівнює PIe 3-SAT, буде NP-повною, навіть якщо P = NP (насправді, якщо P = NP, вся проблема в P повна NP).
Сашо Ніколов

@ AndrásSalamon: точка взята. Я зняв цю частину. Це було справді трохи неохайно.
Віллем Ван Онсем

@ AndrásSalamon: очевидно, що це правда. Тому сказано: " Враховуючи, що P не дорівнює NP, ці проблеми, таким чином, не можуть бути повними NP ".
Віллем Ван Онсем

@ AndrásSalamon: Ну якщо P=NPкожна проблема в NP-завершенні за визначенням є частиною NP і, отже, розширенням P , то P означає, що існує поліноміальний алгоритм. Справа в тому, що я думаю, що перетворення не має значення, тому що для кожної мови на P повинен існувати поліноміальний алгоритм. Приймаєте ви (максимум поліноміальне) перетворення чи ні, не має значення. Залишається многочлен, таким чином , в P . Іншими словами, оскільки оригінальний елемент знаходиться в P , ви можете взяти кожне багаточасова трансформація безкоштовно (не призводячи до більш високого класу складності).
Віллем Ван Онсем

2
Рюкзак як проблема оптимізації, безумовно, не є повним NP, тому що це не проблема рішення, тому не в NP. У будь-якому випадку я розумію, про що ви говорите, але це такі деталі рівня нижчого рівня, які, на мою думку, слід сприймати як належне на форумі дослідницьких рівнів, як CStheory @ SE, так само, як я не сподіваюся побачити пояснення про те, як конвергенція у ймовірності не є такою ж, як майже впевнена конвергенція на Mathoverflow.
Сашо Ніколов
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.