Недолік мого NP = Доказ CoNP?


12

У мене це дуже просте "доказ" для NP = CoNP, і я думаю, що я десь щось зробив неправильно, але не можу знайти те, що не так. Може хтось допоможе мені?

Нехай A є деякою проблемою в NP, і нехай M є рішенням для А. Нехай B є доповненням, тобто B є CoNP. Оскільки M - це рішення, ви можете використовувати його для вирішення B (просто перегорніть відповідь). Чи це не означає, що ми вирішуємо і NP, і CoNP задачі з тим самим M?

Якщо говорити конкретніше.

Нехай A - якась повна проблема NP, і нехай M буде вирішено для А. Розглянемо будь-яку проблему B у CoNP. Ми вважаємо його доповненням не-B, яке знаходиться в NP, і тоді отримуємо поліноміальну редукцію до A. Тоді ми запускаємо наше вирішальне значення M і гортаємо свою відповідь. Таким чином, ми отримуємо рішення для B. Це означає, що B є і в NP.

Чи можу я знати, що не так у моїх міркуваннях?


2
Як пояснюються нижче відповіді, ви неправильно використовуєте поняття "вирішити". Проблеми в coNP - це не проблема з "перевернутим NP-рішенням". Існує важлива асиметрія проблем НП між прийняттям вводу ("є недетерміновані варіанти, які призводять до прийняття") та його відхиленням ("всі недетерміновані варіанти призводять до відхилення"). Ваш аргумент передбачає, що для NP відхилення рядка означає ("є недетермінований вибір, який призводить до відхилення"), і це є вадою. Іншими словами, ваші квантори змішалися.
Андрій Бауер

1
Відповіді на це питання ви можете виявити освічуючими.
Рафаель

@Raphael Дивно, але це питання взагалі не згадує ко-NP! (Хоча я згоден, що це корисне прочитання для тих, хто не впевнений у подібних
речах

@DavidRicherby Оскільки відповідь, в основному, "використовувати визначення NP замість хибної інтуїції", я би сподівався на це!
Рафаель

1
Правило: конструкція "перевернення кінцевих станів" працює лише для визначальних моделей. Вивчіть, як це не вдається для NFA зрозуміти, чому. Дивіться також тут і тут .
Рафаель

Відповіді:


16

У цьому доказі є дві можливі помилки:

  1. Коли ви говорите «рішучий» - ви маєте на увазі детерміновану ТМ. У цьому випадку найкращий переклад (наскільки нам відомо) з машини НП на детерміновану машину може отримати машину, яка працює в експоненційному часі, тому після доповнення у вас буде рішення про доповнення в експоненціальному часі, доводячи, що (або, після деякої оптимізації, c o - N P P S P A C E ).coNPEXPcoNPPSPACE

  2. Коли ви говорите "вирішити", ви маєте на увазі недетерміновану ТМ. У цьому випадку гортання відповіді не обов’язково доповнить мову. Дійсно, мовою перевернутої машини будуть всі слова, для яких існує відхиляючий запуск на wMw


Я не впевнений, чому це має значення. Моє визначення вирішального рішення полягає в тому, що я приймаю, якщо вхід є в L, і відхиляю, якщо введення не в L. Це рішення може бути детермінованим або недетермінованим. Однак я кажу, що L знаходиться в NP, і тому, якщо я використовую недетерміновану ТМ, то я візьму на поліном час. Також, чи можу я знати, чому гортання біта не обов'язково доповнює мову. Наскільки мені відомо, CoNP = {L | не L \ в NP}. Тому, якщо я переверну шматочок, мені слід отримати відповідь?

Нехай . Розглянемо недетерміновану ТМ, яка працює наступним чином - за один запуск вона завжди видає "відхилити". В інших прогонах він розпізнає L у многочленному часі (можливо, оскільки L N P ). Поміркуйте, що станеться, якщо перевернути біт - відхиляючий запуск стає прийнятним для кожного вводу, тому доповнений апарат розпізнає Σ - що не є доповненням, якщо тільки L = . Я пропоную вам уважно переглянути визначення недетермінізму, щоб зрозуміти це повністю. LNPLLNPΣL=
Шоул

Я не маю на увазі, що я перегортаю шматочки кожного окремого шляху обчислення. Я маю на увазі те, що якщо мій ТМ приймає, то це означає, що існує шлях обчислення, який доходить до стану прийняття. Це означає, що L знаходиться в NP, а це означає, що доповнення знаходиться в coNP. Якщо мій ТМ відхиляє, то це означає, що кожен обчислювальний шлях відкидає. Це означає, що доповнення знаходиться в NP, а значить, L знаходиться в CoNP.

4
@simpleton: Ви знаєте, що NTM не має доступу до всіх шляхів одночасно, лише до одного шляху? Ви думаєте як хтось, хто детерміновано аналізує поведінку NTM ззовні.
frafl

7
Я думаю, що ОП могла б отримати користь від уважнішого вивчення визначення НП.
MCH

15

Ось ще один спосіб погляду на точку, яку Шаул висловлює стосовно «рішачів».

V:{0,1}n×{0,1}poly(n){0,1}

  • x{0,1}np{0,1}poly(n)V(x,p)=1

  • x{0,1}nV(x,p)=0p{0,1}poly(n)

Вони, як правило , описується як повнота і обґрунтованість умов для NP алгоритму перевірки: «повнота» умова говорить про те, що кожен екземпляр ТАК має сертифікат, і «розумність» умова говорить про те, що алгоритм ніколи не обманюйте екземпляром NO. Для coNP - це навпаки: існує алгоритм верифікатора, який приймає принаймні один сертифікат для будь-якого екземпляра NO, але його ніколи не можна обдурити екземпляром YES.

Якщо ви хочете , щоб показати , що NPCO , ви повинні показати , що кожна NP проблема має CONP типу перевіряючі, який може засвідчити екземпляри НІ замість примірників YES. Ви не можете цього зробити з недетермінованою машиною Тюрінга: не існує способу, який ми знаємо, наприклад, для ефективного відображення примірників SAT один до одного, таким чином, щоб усі незадовільні формули були приведені до відповідних, і навпаки. (Якщо заперечувати вихід формули, недостатньо, наприклад: формула, яка є задоволеною, але не є тавтологією, просто перенесена на іншу формулу, яка була б задоволеною, але не була тавтологією, коли нам потрібна незадовільна формула.) Просто ми не можемо «обдурити» недетерміновану машину, щоб виявити щось подібне, як усі її шляхи відкидають шляхи.

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

  • Δ2PPNPPNP

  • Σ2PNPNPPNPнемає відповіді "НЕ" через oracle, але він все одно затримався б працювати в одній із власних (досить потужних) обчислювальних гілок, так що він не зміг би визначити, чи відкидають усі його власні обчислювальні гілки.

NPNPNP

Отже, ні, немає жодної машини (детермінованої чи іншої), яка може просто «вирішити», що проблема - це екземпляр ТАК або НЕ ефективно, якщо ми не використовуємо оракули; але навіть з таким оракулом, ми в кінцевому підсумку з машиною , яка (можливо) більш потужним , ніж будь-який NP або CONP , а не один , який показує , що вони рівні.


Привіт, дякую тобі та Шаулі за коментарі. Ви хочете сказати, що NTM може розпізнавати мову NP у політи, але не може визначити мову NP у polytime? Я думаю, що це я припускаю, коли кажу, що маю рішення щодо проблем з НП.
симптон

2
PNPNPPNPCoNPPNPUNSATNP

5
NP-твердість визначається багато-одним зменшенням, а не оракул-скороченням.
Yuval Filmus

6

Ваші міркування означають, що RE = coRE, але це, очевидно, помилково. Ви можете спробувати з'ясувати доказ цього, а потім побачити, де зменшення не вдається.

{x:P halts on input x}{x:(x,w)L for some w}L

L={x:p halts on input x}L={(x,w):p halts on input x in w steps}LL={x:(x,w)L for some w}

L={x:(x,w)L for some w}LP(x,w)Q(x)wP(x,w)wP(x,w)wQL={x:Q halts on input x}

L={(P,x):P halts on input x}PxHH(P,x)(P,x)LGG(x)=H(x,x)(G,G)LGGH(G,G)(G,G)L(G,G)LGGH(G,G)(G,G)LH

H


2

Ось версія TL; DR; Я також розмістив довшу відповідь на подібне запитання.

AMxAMxMx. Якщо ви просто переймете стан прийому та відхилення, ви перейдете від машини, яка мала деякі приймаючі шляхи, а деякі відхиляючі, до машини, яка має деякі маршрути відхилення та деякі приймаючі. Іншими словами, вона все ще має приймаючі шляхи, тому вона все ще приймає. Перегортання станів прийняття та відхилення недетермінованої машини, як правило, не змушує вас прийняти мову доповнення.

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


-2

Я фактично погоджуюся з тим, що ваша недетермінована машина M може вирішити, чи є даний вхідний рядок у В. Однак він "вирішує" дещо інакше, ніж те, як він вирішує, чи є даний вхід у А. В останньому випадку це робиться за допомогою ( недетерміновано) знаходження приймаючого стану. У першому випадку це відбувається, не знайшовши жодних приймаючих держав. Чому ця різниця має значення? Подивимось:

Запитуючи М "Чи є рядок мовою A?"

М досягає стану прийняття. Це, ви можете довести (див., Наприклад, теорема книги Сіпсера 7.20), означає, що існує детермінована машина, яка перевіряє, що рядок знаходиться в A в поліноміальний час

Запитуючи М "Чи є рядок мовою B?"

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

Висновок:

Якщо ви вважаєте наявність детермінованого верифікатора багаточленного часу для мови як визначення мови NP (що вам слід), існування M не доводить, що B знаходиться в NP.


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