Які загальні прийоми зменшення проблем один одного?


40

У теорії обчислюваності та складності (і, можливо, в інших сферах) скорочення є всюдисущими. Існує багато видів, але принцип залишається тим самим: покажіть, що одна проблема принаймні настільки ж складна, як і інша проблема , зіставляючи екземпляри з на еквівалентні рішенням у . По суті, ми показуємо, що будь-який вирішувач для також може вирішити якщо ми дозволимо йому використовувати функцію скорочення як препроцесор.L 2 L 2 L 1 L 1 L 2L1L2L2L1L1L2

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

Які методи, візерунки та підказки можна регулярно використовувати для побудови функцій скорочення?

Це має стати еталонним питанням . Тому, будь ласка, потурбуйтеся дати загальні, дидактично представлені відповіді, які проілюстровані хоча б одним прикладом, але, тим не менш, охоплюють багато ситуацій. Дякую!


Дивіться тут для деяких думок з пошуку відповідних партнерів і ідей для скорочення.
Рафаель

Відповіді:


18

Особлива справа

Припустимо , ми хочемо показати щодо деякого поняття редукції R . Якщо L 1 являє собою окремий випадок з L 2 , що цілком тривіально: ми можемо істотно використовувати тотожну функцію. Інтуїція за цим зрозуміла: загальний випадок принаймні такий же важкий, як і особливий випадок.L1RL2RL1L2

У "практиці" нам дають і стикаються з проблемою вибору хорошого партнера зі скорочення , тобто пошуку спеціального випадку , який виявився твердим.L2L 2 RL1L2R

Простий приклад

Припустимо, ми хочемо показати, що KNAPSACK є важким для NP. На щастя, ми знаємо, що SUBSET-SUM є NP-повним, і це справді особливий випадок KNAPSACK. Скорочення

f(A,k)=(A,(1,,1),k,|A|)

достатньо; - екземпляр KNAPSACK, який запитує, чи можемо ми досягти принаймні значення зі значеннями пункту в щоб відповідні ваги від залишалися під загалом. Нам не потрібні обмеження ваги для імітації SUBSET-SUM, тому ми просто встановлюємо їх на тавтологічні значення.v V W w(V,W,v,w)vVWw

Проста проблема вправ

Розглянемо проблему MAX-3SAT: задавши формулу пропозиції та integer , виріши , чи є інтерпретація яка відповідає принаймні пунктам. Покажіть, що це NP-важко.k φ kφkφk

3SAT - особливий випадок; з достатньо кількості пунктів у .m φf(φ)=(φ,m)mφ

Приклад

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

Нам пощастило і знаємо, що проблема ЧАСТИНИ не є повною. Ми підтверджуємо, що це справді особливий випадок SUBSET-SUM і формули

f(A)={(A,12aAa),aAamod2=0(A,1+aA|a|),else

де - вхідний набір PARTITION, а - екземпляр для SUBSET-SUM, який запитує після підмножини підсумовуючи . Тут ми повинні подбати про те, щоб не було придатного ; в цьому випадку ми даємо довільну незбагненну інстанцію.( A , k ) A k kA(A,k)Akk

Проблема вправ

Розглянемо задачу длинн-PATH: дан орієнтований граф , вузли з і цілого числа , вирішити , чи є простий шлях від до в довжини по крайней мере .s , t G k s t G kGs,tGkstGk

Покажіть, що LONGEST-PATH є NP-жорстким.

ГАМИЛТОН-ЦИКЛ - це відома проблема NP-повного і особливий випадок НАЙБІЛЬШІЙ ПАТИ; для довільного вузла в достатньо. Зокрема, зверніть увагу на те, як зниження рівня HAMILTON-PATH вимагає більше роботи.v Gf(G)=(G,v,v,n)vG


2
Ось приклад, названий проблемою покупця подорожей (ТЕС), який має багато важких проблем як особливий випадок.
Juho

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

Чи дійсно KNAPSACK правильне зменшення від SUBSET-SUM? KNAPSACK запитує значення а SUBSET-SUM запитує точне значення, ні? Наприклад, екземпляр SUBSET-SUM був би екземпляром "no" (я не можу отримати точно 4 лише з одного елемента зі значенням 5), але зменшення KNAPSACK зменшить його до і , тож це буде екземпляр "так" там ... Або я щось пропускаю? { 5 } , 4 { 5 } , { 1 } , 4 , 1 5 > 4>=v{5},4{5},{1},4,15>4
johnny

15

Використання відомої проблеми поблизу

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

Приклад проблеми

Розглянемо проблему

DOUBLE-SAT={φφ is a boolean formula with at least 2 satisfying assignments }

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

Приналежність до можна легко показати. Сертифікат - це два завдання. Зрозуміло, що в поліном час можна перевірити, чи задані задовольняють формулі.NP

SAT φ v ( v ¬ v ) φ v = v = φ φ vNP -твердість випливає із зменшення від . Давши формулу , ми модифікуємо її, вводячи нову змінну . До формули додаємо новий пункт . Тепер, якщо , він буде задоволений як і . Отже, має щонайменше 2 задовольняючих завдання. З іншого боку, якщо не задовольняється, він точно не стане задоволеним незалежно від значення .SATφv(v¬v)φv=⊥v=φφv

Звідси випливає, що є -повне, що ми хотіли показати.Н ПDOUBLE-SATNP

Пошук проблем поблизу

Зменшення проблем - це вид мистецтва, і досвід та винахідливість часто потрібні. На щастя, багато важких проблем уже відомі . Комп'ютери та нездатність «Гарі та Джонсона»: Посібник з теорії повноти NP є класичним, у додатку з переліком багатьох проблем. Google Scholar також є другом.


6

В обчислюваності ми часто досліджуємо набори машин Тьюрінга. Тобто наші об'єкти - це функції, і ми маємо доступ до нумерації Gödel . Це чудово, тому що ми можемо робити майже все, що хочемо, за допомогою функції введення, якщо ми залишаємося обчислюваними.

Припустимо, ми хочемо показати, що не вирішується. Наша мета - досягти еквівалентності приреченостіL

MKfML

з проблема зупинки (або будь-яка інша нерозв'язна мова / проблема).K={MM(M) halts}

Таким чином, нам потрібно придумати обчислюване¹ відображення щоб завжди був обчислюваним. Це творчий акт, сповіщений еквівалентністю приреченості. Перегляньте кілька прикладів, щоб зрозуміти, як це працює:е МMfMfM

Те саме працює з тим, що показує, що не є напіврозв'язним, вибираючи мови, які не є напіврозбірними мовами, як партнера скорочення, наприклад :¯ KLK¯


  1. Ось тут і відбувається нумерація Геделя: ми отримуємо обчислення цього відображення (як правило) безкоштовно.

-2

Б АABBA

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


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

2
ABBA

Powerpoint показує два приклади використовуваних гаджетів. приклад найближчої проблеми: припустимо, є проблема, пов'язана з теорією чисел. є розділ G&J, пов'язаний з теорією чисел. etcetera. що стосується інших класів складності поза межами НП, то їх багато, але переліки проблем не такі ґрунтовні чи легко отримані. тож іншими словами, щоб звузити початкове запитання, можливо, це має бути обмежено NP повним скороченням ...?
vzn

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