Чи було б довести P ≠ NP важче, ніж довести P = NP?


20

Розглянемо дві можливості для задачі P проти NP: P = NP і P NP.

Нехай Q є однією з відомих проблем, пов'язаних з NP. Щоб довести P = NP, нам потрібно створити єдиний багаточленний алгоритм часу для Q та довести, що A правильно вирішує Q.

Щоб довести P NP, нам потрібно показати, що жоден алгоритм поліноміального часу не вирішує Q. Іншими словами, ми повинні виключати всі алгоритми багаточленного часу.

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

Чи є причина думати, що довести P = NP (якщо припустити, що P = NP) було б простіше, ніж довести P NP (якщо припустити, що P NP)?


31
Це питання неправомірне. Оскільки лише одне із тверджень може бути правдивим, довести це неможливо. Інший може бути можливим довести, і якщо так, то було б легше довести, ніж помилкове. Ерго, я поняття не маю, яку відповідь ти шукаєш. Голосування громади, будь ласка! Чи можна на це взагалі відповісти?
Рафаель

10
@Raphael Я не згодний. Ви можете інтерпретувати питання ОП як "Якщо P = NP було правдивим, чи було б простіше довести, ніж довести P ≠ NP, якщо P ≠ NP було істинним?" Я не вважаю, що ОП серйозно розраховане на те, щоб воно трактувалося як припущення про те, що обоє повинні бути правдивими.
Анафема

3
FWIW, мені здається, що а) @ TheAnathema тлумачення питання є правильним і б) це змістовне питання. Іншими словами: Якщо P = NP, і буде доведено доказ, це, мабуть, буде у вигляді алгоритму поліноміального часу для задачі, повного NP. З іншого боку, якщо ми почнемо з припущення, що P ≠ NP, які саме методики ми могли б використати, щоб знайти доказ, і яку форму потенційно може мати такий доказ?
ЙоханнесD

1
Пов'язані / дублікати: cs.stackexchange.com/questions/50362/how-to-prove-p-neqnp
JohannesD

Коментарі не для розширеного обговорення; ця розмова переміщена до чату .
Жил "ТАК - перестань бути злим"

Відповіді:


25

Як пояснює Рафаель, це питання невдале, оскільки максимум один з P = NP і P ≠ NP повинен бути взагалі доказовим. Однак подібне питання виникає в теоретичній інформатиці в декількох образах, найбільш помітне з яких - у галузі алгоритмів наближення .

Враховуючи проблему оптимізації з жорсткою NP (скажімо, максимізацію), ми можемо запитати, наскільки добре ми можемо її наблизити. Доведення верхньої межі можливого наближення подібне до P = NP, тоді як доведення нижньої межі можливого наближення подібне до P ≠ NP. Перший набагато простіше, ніж другий. Дійсно, для доведення верхньої межі все, що потрібно зробити, - це створити алгоритм наближення та проаналізувати його. На відміну від цього, всі відомі нижні межі є умовними: вони дійсні лише в тому випадку, якщо P ≠ NP (дійсно, якщо P = NP, то кожна проблема оптимізації жорсткої NP стане вирішуваною). Щоб довести ці нижчі межі, ми покажемо, що якби ми могли занадто добре наблизити задачу, тоді ми отримали б поліноміальний алгоритм часу для якоїсь важкої задачі NP. Зазвичай це робиться за допомогою складних технічних механізмів теореми PCP. До цього поля, відомого яктвердість наближення , до неї можуть підійти лише спеціалісти, і технічно складніше, ніж більшість алгоритмів наближення. Тож принаймні в цьому випадку P = NP справді простіше, ніж P ≠ NP.


14
Ви можете інтерпретувати питання ОП як "Якщо P = NP було правдивим, чи було б простіше довести, ніж довести P ≠ NP, якщо P ≠ NP було істинним?" Я не думаю, що ОП серйозно розраховане на те, щоб це було сприйнято як істинне.
Анафема

6
@TheAnathema Я думаю, що треба трактувати питання таким чином. Але це все ще досить погано поставлено, тому що один із варіантів обов'язково є контрафактним. Як можна порівняти цю контрфактику із труднощами довести щось справжнє?
Девід Річербі

@David, твердження про складність доведення P NP порівняно з P = NP - це те, що я неодноразово маю від експертів. Запитання, чи є це розумною претензією, є справедливим питанням. Оцінка складності контрфактичних ситуацій (коли, як відомо, не так) є фактично поширеною. Візьмемо, наприклад, когось із запитань про труднощі доведення P NP. Якщо P = NP, це протилежне значення. =
Каве

9

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

З іншого боку, ми вже виключили можливість простого докази того, що P! = NP. Наші типові методи доказування, що показали, що два класи складності були формально доведеними недостатніми. Три такі методи відомі як "арифметизація", "природні докази", і категорія доказів, що називаються "релятивізуючі" (ті, яким не важливо, які оракули використовуються). Можна довести, що будь-яка методика доказування, яка потрапляє в будь-яку 3 з цих категорій, не може довести P! = NP.

Насправді є вагомі докази того, що доведення P! = NP вимагає нових видів доказів (нових методик з різними властивостями), а не просто нових застосувань відомих методів доказування.


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

В основному ми знаємо дуже багато про те, що не можемо використати для доведення P! = NP, тоді як, здається, ми мало знаємо про те, що не можемо використати, щоб довести P = NP.


Усі бар'єри для простих доказів поширюються на докази P = N P з однаковою силою. Якби у вас був алгоритм, то доказ того, що P = N P був би доказом того, що алгоритм був (i) правильним і (ii) поліномним часом, і це підтвердження все одно має аргументувати, що стосується недетермінізму алгоритму використовує для свого ефективного детермінованого моделювання, що не відповідає дійсності (алгебраїчного) оракула, і як він перемагає природний бар'єр. ПNПП=NПП=NП
Lieuwe Vinkhuijzen

8

Ну, ви в основному маєте ідею. Ми, як правило, думаємо, що P! = NP, але поняття не маємо, як ми навіть доводимо, що ці речі не рівні.

І навпаки, якби P = NP, ви можете подумати, що ми знайшли б алгоритм для вирішення однієї з десятків завдань, повних NP.

Це дуже ручні аргументи, але в декількох реченнях вони описують культуру вчених-комп'ютерів.

Чи доводить P! = NP «важче», звичайно, залежить від того, що правда (якщо забороняти метаматематичні результати?), І що, звичайно, ми не знаємо.


5

Є деякі експерти, які вважають, що довести P NP важче, ніж довести P = NP у тому розумінні часу, який, на їхню думку, знадобиться для вирішення питання P проти NP. Але це здебільшого деяка інтуїція, заснована на відчутті, що легше конструювати алгоритми для проблем, ніж доводити, що немає (ефективних) алгоритмів. Взагалі ми не мали успіху в доведенні нижчих меж проблем. Ми навіть не можемо виключити лінійний алгоритм часу для SAT. Ми не можемо виключити, що не існує алгоритму простору журналу для SAT. Ми навіть не можемо показати, що булевої схеми постійної глибини не є поліномальні розміри з , , ¬ і¬ воріт, які не можуть вирішити SAT (з точки зору неспеціаліста, можливо, існує алгоритм постійного паралельного часу з поліноміальним числом процесорів, який вирішує SAT, і кожен процес обчислює лише одну з цих воріт). Найкращі нижчі межі для машин Тьюрінга, що вирішують SAT, навіть не можуть показати, що не існує алгоритму, час роботи якого помножено на простір, який він використовує, - n 1.9мод6н1.9 . Я можу продовжити трохи про незручний стан доведення нижчих меж (але майте на увазі, що ми також маємо бар'єрні результати, які пояснюють, чому так важко довести нижчі межі). Деякі експерти вважають, що програма GCT Ketan Mulmuley є найбільш ймовірною для вирішення P проти NP, і сам Малмулі повторив, що вважає, що, можливо, знадобиться понад сто років, щоб потрапити туди.

Однак нещодавня робота Райана Вільямса та інших людей показала, що між доведенням нижчих меж і пошуку алгоритмів є внутрішні зв’язки. Наприклад, він показав, що алгоритм, дещо кращий, ніж алгоритм грубої сили для певної обмеженої проблеми SAT, передбачає нижню межу схеми, і тоді він розробив такий алгоритм. Тож я думаю, що люди трохи менш песимістичні, а також не здаються розробляти алгоритм та доводити нижні межі настільки ж окремими, як люди думали, що вони є.

πφπφі алгоритм повертає так чи ні. Ви можете придумати будь-яку перевірку перевірки таким чином. Ви також можете придумати докази в математичній системі, на зразок ZFC. Сам процес перевірки може бути виконаний у поліноміальний час за розміром доказу, оскільки це синтаксичне завдання.

φφφ265536в тому сенсі, що ви можете визначити попередні рядки з поточного рядка у доказі та правилі. Важливим винятком з цього є правило скорочення. Це важливо, оскільки, хоча нам не потрібне скорочене правило для доказування тверджень, воно може значно зменшити розмір найкоротшого доказу. Однак правило розрізання не є детермінованим: існує формула скорочення, про яку ми маємо здогадуватися. Ви можете подумати про вирізане правило як доведення лем і використання їх. Вирізана формула - як лема. Але яку лему ми повинні довести, що нам допоможе? Це складна частина. Часто результат доводиться в математиці, знайшовши хорошу лему. Крім того, коли ви використовуєте перевірені раніше результати, ви по суті використовуєте правило скорочення. Ще одним важливим компонентом доведення тверджень є визначення. Часто ми визначаємо нове поняття, а потім доводимо твердження про нього, і нарешті застосувати його в нашому конкретному випадку. Використання визначень зменшує розмір формул (спробуйте розширити якусь математичну формулу до чистої заданої теоретичної мови шляхом розширення визначень, щоб отримати уявлення про те, наскільки важливими є визначення). Знову ж, які нові визначення ми повинні використовувати? Ми не знаємо. Це підводить мене до третього значення твердження, яке важко довести. Затвердження може бути важко довести, тому що вам потрібні сильні аксіоми. Візьмемо напр Затвердження може бути важко довести, тому що вам потрібні сильні аксіоми. Візьмемо напр Затвердження може бути важко довести, тому що вам потрібні сильні аксіоми. Візьмемо напрСН . Це не може бути доведено в ZFC, а також не може бути спростовано у ZFC. Це крайній випадок, але це трапляється частіше, ніж ви думаєте. Наприклад, чи потрібні нам великі кардинальні аксіоми (щоб мати змогу працювати у всесвітах Гротендік ), щоб довести FLT чи ми можемо довести це у значно слабшій теорії, як ПА ? Це ще одна концепція щодо складності доведення тверджень.


Коли ви говорите про визначення питання "більш релігійно", я вважаю, що ви маєте на увазі "більш суворо"? :-)
Девід Річербі

2
@David, так, автоматичне виправлення іноді це робить. :)
Kaveh

4

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

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

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

Проблема, звичайно, полягає в тому, що вам пощастить. Ви можете зменшити простір пошуку, наприклад, довівши, що він повинен бути кратним 5 або між 1 і 10; але, якщо ви не обмежите це обмеженим набором чисел (у такому випадку ви насправді не використовуєте метод "здогадуйтесь і підтверджуйте"), у вас немає методу вирішення проблеми: у вас є лише метод, який, припускаючи вам надзвичайно пощастило, можливо, ви можете створити рішення.

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

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

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


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

@vonbrand Я не кажу for any X: is it easier to prove that X exists or to prove that X does not exist, я говорю, що for any X,Y: is it easier to prove that X exists or to prove that Y does not exist.тобто, якщо E - безліч доказів, які підтверджують речення форми "X існує", а НЕ набір доказів, які доводять речення форми "Y, не існує", і d ( Р) складність доказування, чи правда, що d (X) <d (Y) де X в E і Y в NE.
Thanos Tintinidis

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

@vonbrand так; крім того, я стверджую, що ви не можете використовувати метод ОП (продовжуйте генерувати потенційні рішення, поки не знайдете) як аргумент для того, щоб довести, що довести існування простіше, ніж довести неіснування, оскільки ви можете перетворити перетворення в заяву S1 про неіснування до твердження S2 про існування доказу твердження S1. Хоча я починаю сумніватися в цінності цього
Thanos Tintinidis

0

Якщо ви докажете, що P = NP, довести протилежне не просто важче, але й неможливо.


2
Чому ви публікуєте нову відповідь, оскільки ваша думка міститься у відповіді Юваля Філімуса ?
xskxzr

-2

Я вважаю, що неможливо довести P <> NP, тому що вам доведеться виключити всі алгоритми, які могли б довести P = NP. Цієї кількості можливих нескінченно. Немає можливості спростувати нескінченність, тому це неможливо. З іншого боку, все, що потрібно, - це єдиний алгоритм доведення P = NP, якщо це так. Тому або P = NP, що хтось доведе, або ми ніколи не дізнаємось.


Ласкаво просимо до інформатики ! Ви вірите чи можете довести, що це не доводиться? Я думаю, що відповідь Якка проливає трохи світла на цю тему.
Зло

2
"Немає можливості спростувати нескінченність" Люди виключають нескінченно багато можливостей весь час в математиці; нам не обов’язково перевіряти кожного вручну, щоб знати, що жодна робота не працює. Ваш "аргумент" означав би, що ми взагалі ніколи не можемо розділяти класи складності, що є нісенітницею.
Ной Швебер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.