Чому ми не можемо ефективно відповісти NDTM?


11

Я кілька разів читав, що не вдається ефективно відгорнути відповідь NDTM. Однак я не розумію, чому. Наприклад, з огляду на NDTM який працює в , у цьому тексті (розділ 3.3) зазначено, що незрозуміло, як інший NDTM може визначити за час, як відгорнути відповідьMO(n)TO(n100)M

Моя проблема полягає в наступному: NDTM виводить якщо існує послідовність недетермінованих виборів, що призводить до стану прийняття. Крім того, існує універсальний NDTM який може імітувати кожну NDTM лише з невеликими (логарифмічними) накладними витратами. То чому ми не можемо побудувати T таким чином: По-перше, моделюємо M за допомогою універсальної NDTM, яка повинна бути можливою за час . Тоді вихід 1 - відповідь М. Це означатиме, що ми можемо перевернути відповідь будь-якої лінійної NDTM за часом .1NUO(nlogn)O(nlogn)


NDTM нічого не "виводить". Налаштуйте свою ментальну модель недетермінізму.
Рафаель

Відповіді:


15

Недетермінований апарат Тьюрінга приймає, якщо принаймні один шлях приймає; він відхиляється лише у тому випадку, якщо всі шляхи відхиляються. Ця асиметрія ускладнює "гортання відповідей".

Наприклад, припустимо, що у вас є недетермінована машина Тьюрінга  яка має два шляхи для введення  : один приймає, інший відкидає.  має принаймні один приймаючий шлях для  , тому він приймає. Припустимо, ми хочемо створити машину, яка приймає саме ті входи, які  відхиляє. Очевидна перша спроба - прийняти  і зробити так, щоб його приймаючі стани були відхилені, а його відхилили стани.  має один приймаючий шлях для  та один відхиляючий шлях; ця нова машина  має один відхиляючий шлях і один приймаючий шлях. Тож воно все ще приймає  , яке його слід було відхилити!MwMwMMMwMw

Недетермінований апарат не може одночасно дивитись на всі свої шляхи і вживати дій, виходячи з того, що роблять усі ці шляхи. Якщо вам подобається, ви можете розглядати це як форму паралелізму, коли ниткам заборонено спілкуватися між собою. Після завершення всіх потоків програма повинна задати собі таке запитання: "Чи принаймні один з моїх потоків прийняв?" Якщо відповідь "так", це прийнято з юридичної точки зору; якщо відповідь «ні», її юридично зобов’язано відхилити. Він нічого іншого не може зробити.

Коли ви моделюєте недетерміновану машину  використовуючи інший, , кожен шлях  імітує один шлях  і бачить лише цей шлях. Він не може сказати: "Якщо всі ці інші шляхи відхилені, я прийму", тому що він не може бачити інші шляхи; вона може бачити лише себе. Тому все, що могло б сказати, - це такі речі, як "Якщо шлях, який я імітував, прийнятий, я відхилю" або "Якщо шлях, який я імітував, прийнятий, я також прийму". Потім, наприкінці обчислення, машина повинна сказати: "Якщо хтось із моїх шляхів прийнятий, я теж прийму", що призводить до проблеми, яку я описав вище. Інвертувати поведінку , кожен шляхMMMMMMпотрібно сказати: "Якщо шлях, який я імітував, прийнятий, я відхиляю; інакше я приймаю", і в кінці обчислення машина повинна сказати: "Якщо всі мої шляхи прийняті, я приймаю; в іншому випадку я відкидаю . " Це відбувається тому , що, якщо все доріжки тренажера прийнято, що означає , що всі шляхів «s відхилено, так відкинуто, тому потреби тренажерних прийняти. Але симулятор не є дійсною недетермінованою машиною Тьюрінга, оскільки він не використовує законодавчо закріплений критерій прийняття. Це не може зробити.MM

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


2

Проблема полягає в тому, що NDTM за своєю суттю несиметричні: час означає, що вони мають кроки, щоб відгадати прийнятий шлях, якщо він існує, і буде відхиляти інакше (якщо немає прийнятого шляху).O ( n )O(n)O(n)

Проблема полягає в тому, що якщо ваша машина дійсно знаходиться в , це означає, що вона вгадає, що в кроки свідчить, що відхиляє введення. Це неможливо зробити, бо немає свідків відмови від , а лише свідків прийняття. Відмова - це відсутність свідків, тому довести неприйняття за короткий час непросто.O ( n l o g ( n ) ) n l o g ( n ) M MNUO(nlog(n))nlog(n)MM


-3

насправді технічно ви задаєте відкрите запитання P coNP ( NP). широко вигадано, але не доведено, що вони не рівні. інші відповіді - це інтуїтивні замальовки / косвенні докази того, чому вони не рівні.? ==?=?


1
Насправді він запитує щось подібне до co-NP = NP : цілком можливо, що P і NP різні, але NDTM можуть бути ефективно заперечені.
Девід Річербі,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.