Оракул для відокремлення NP від ​​coNP


12

Як довести, що ? Я просто шукаю такий оракул TM і рекурсивну мову для якої це справедливо.NPAcoNPAML(M)=L

Я знаю доказ, де ви показуєте, що існує oracle такий, що і oracle такий, що . У мене є натяк, що мені слід знайти такий оракул , поширивши доказ але там, де я шукаю і читаю, він скрізь "очевидний" або "прямо" Я просто не бачу, як це взагалі довести.APANPAAPA=NPAAPANPA


6
Не ясно, чи дотримувалися ви підказки. Я здивований, почувши, що очевидний, але ви можете знайти доказ у (наприклад) Комп'ютерна складність: сучасний підхід Арори та Барака. PANPA

Відповіді:


9

Оскільки Макс сказав, що модифікація не є складною, я пропоную вам не читати решту цієї відповіді і подумати над проблемою трохи більше, є лише одна частина, яка потребує модифікації та запам'ятовування визначення, коли a машина приймає допоможе вам виправити цю частину.coNP

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

У оригінальному доказі побудований кроками, де на етапі з переконанням, що машина в , , не визначає мову правильно. Зверніть увагу , що набір в .A=nAniiPMi{xyA |x|=|y|}NPA

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

Тепер припустимо, що машини знаходилися в замість . Нам потрібно змінити доказ , щоб переконатися , що не розпізнає . Якщо він приймає, ми зберігаємо як і раніше, і все працює добре, як у оригінальному доказі. Якщо він відхиляє, нам потрібно додати рядок до набору, щоб переконатися, що він не відповідає правильно. Ми все ще можемо імітувати з частиною ми маємо, проблема полягає в тому, що може запитувати всі рядки довжиною . Тут важливим стає спосіб роботи машини . Він приймає, якщо і тільки якщо всіс о Н П Р М А я Л А М і А М і н с о Н П м АMicoNPPMiALAMiAMincoNPшляхи обчислення приймають. Оскільки він відхиляє в цьому випадку, існує шлях обчислення, який відкидається. Поки ми будемо зберігати цей шлях недоторканим, все буде працювати, тому нам потрібно лише зберегти відповіді на запити на цьому шляху однаковими. Кількість запитів на цьому шляху є многочлена (оскільки машина працює в поліноміальний час), тому є рядки довжиною , про які шлях не запитує, просто додайте один з них до а решта доказів працює як раніше.mA

Етапи є алгоритмічними, тому множина є рекурсивною (істотна частина конструкції полягає в тому, щоб змоделювати машини, які можна виконати в say ).D S p a c e ( n ω ( 1 ) )ADSpace(nω(1))


3

Ви також можете ознайомитися з текстом обчислювальної складності по Пападімітему. Зокрема, глава 14, розділ 3, який поглинається в оракули. Докази і для деяких оракул і наприклад, представлені детально, і можуть бути корисними для вашої основної проблеми. Сподіваюся, що це допомагає.P BN P B A BPA=NPAPBNPBAB

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