Чергувати поняття складності на основі розриву між грубою силою та найкращим алгоритмом?


17

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

Однак іноді ці два поняття розходяться, і проблема легка лише в першому розумінні. Наприклад, загальна техніка в алгоритмах наближення та параметризованої складності - це (приблизно) довести, що простір рішення насправді може бути обмежено набагато меншим розміром, ніж наївне визначення, а потім використовувати грубу силу для пошуку найкращої відповіді в цьому обмеженому просторі . Якщо ми можемо апріорі обмежитися, скажімо, n ^ 3 можливими відповідями, але нам все-таки потрібно перевірити кожну, то в певному сенсі такі проблеми все ще «важкі» в тому, що немає кращого алгоритму, ніж груба сила.

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

Хтось знає про будь-які документи, які розглядають щось на кшталт твердості, заснованого на розриві між ефективним алгоритмом і грубою силою або твердістю щодо розміру простору рішення?

Відповіді:


12

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

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

Враховуючи це, проблема "уникнення жорстокого пошуку" може бути формалізована таким чином (як видно з статті "Поліпшення вичерпного пошуку передбачає суперполіноміальну нижню межу"). Вам надається алгоритм верифікатора, який працює за часом , на екземпляри розміру n та кандидатські рішення з k біт. Питання полягає в тому , * на довільних примірниках розміру п , ми можемо визначити, чи є правильне рішення (WRT цього верифікатори) з не більше ніж K біт, набагато менше , ніж O ( 2 K т ( п , K ) ) час?т(н,к)нкнкО(2кт(н,к))

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

У роботі показано цікаві наслідки покращення пошуку брутальних сил щодо деяких проблем. Навіть вдосконалення пошуку на грубі зусилля для «просторів рішення розмірів поліномів» матиме цікаві наслідки.


1
..

Я більш ніж небажано посилатись на відповідь власних робіт. Але коли це точно відповідає питання, важко встояти ...
Райан Вільямс

5

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


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

3

Здається, перспектива передбачає деякі речі, наприклад, скінченність просторів рішення.

Наприклад, подумайте про проблему генерації тесселяції Вороного з набору точок введення. Тут є нескінченно розмірний простір рішення, оскільки кожна точка в краях діаграми є набором дійсних чисел. Однак рішення можна досягти в O (n log (n)) у кількості вхідних точок (для площини).


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

1
Реальні числа - не єдиний спосіб отримати нескінченний простір рішення. Розгляньте гру між Алісою та Боб. Аліса вибирає ціле n. Боб здогадується, і Аліса повідомляє йому, якщо він вищий, нижчий чи рівний її таємниці n. У Боба є обмежена часова стратегія пошуку n, оскільки вона завжди скінчена. Він починає 0, а потім вибирає велику константу c. Аліса каже йому, в якому напрямку знаходиться її n, і Боб здогадається с ^ повернути, поки не знайде нижню і верхню межу, де він виконує двійковий пошук n. Тоді ще раз припускаю, що ви можете стверджувати, що існує кінцевий простір рішення у кількості біт n ...
Росс Снайдер

3

Пов'язані проблеми, які допускають алгоритми із затримкою поліномів . Перше рішення, а потім і кожне рішення, може бути згенеровано за багаточлен. Джонсон, Яннакакіс і Папдімітріу обговорюють цю рамку в контексті інших можливих прогалин (таких як загальний час поліномів): про створення всіх максимальних незалежних наборів , листи з обробки інформації 27 , 119–123, 1988.

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