Чи є якісь проблеми, які легко обчислити, але важко перевірити?


25

Якщо припустити, що P NP, проблеми, повні з NP, "важко вирішити, але відповіді легко перевірити". Чи має сенс вважати протилежне, тобто проблеми, на які легко обчислити правильну відповідь, але важко перевірити довільне розсудливе рішення?

Я думаю, що така проблема означатиме:

  1. Експоненціально багато "правильних" відповідей на будь-який даний вхід, тому що в іншому випадку перевірка може бути здійснена шляхом простого обчислення всіх правильних відповідей.

  2. Деякі "правильні" відповіді легко обчислити, але інші важко знайти.


2
Я сумніваюся в цьому. Якщо відповідь легко обчислити, вибір сертифіката простий: поставити передбачувану відповідь із проблемою та "перевірити" відповідь, вирішивши задачу, і побачити, чи є справді відповідь, якою є.
Patrick87

1
@ Patrick87 - Я думаю, я вирішив це у цьому питанні. Що з багатозначною функцією яка асоціює набір значень I f ( x ) = { y 1 , y 2 , ... } з входом x ? Припустимо, що | I f ( x ) | = 2 | х | , і що легко вибрати елемент з I f ( x ) , але з урахуванням z важко визначити, чи є z fЯf(х)={у1,у2,}х|Яf(х)|=2|х|Яf(х)z .zЯf(х)
rphv

2
@ Patrick87 Розв’язувач може бути детермінованим і виводити лише один із усіх існуючих відповідей. Тоді вам потрібен ефективний спосіб перевірити, чи два рішення рівнозначні. Чи може еквівалентність набору бути важче, ніж вирішити задачу на ньому?
Рафаель

Я фактично пропустив цю частину, вибачте. І все-таки я схильний сумніватися в цьому приміщенні. Я подумаю про це трохи більше і повернусь, якщо матиму більш доречні думки.
Patrick87

1
Зазвичай сертифікат означає, що існує простий спосіб відновити доказ, тому за визначенням, якщо ви надаєте сертифікат, перевірка проста. Рішення без сертифіката може бути важким.
Жил "ТАК - перестань бути злим"

Відповіді:


24

Якщо у вас все з штучними проблемами, ви можете зробити їх багато. Ось декілька:

  • Давши натуральне додатне ціле число n , відповідь на задоволену формулу 3CNF в n булевих змінних.
    Дати одну задоволену формулу 3CNF легко, але вирішити, чи задана формула 3CNF є задоволеною чи ні, це 3SAT, добре відома проблема NP-завершення.
  • Введення немає. Просто відповідь на машину Тюрінга, яка зупиняється (коли працює з порожньою стрічкою введення).
    Дати одну із таких машин Тьюрінга легко, але не можна визначити, чи зупиняється дана машина Тьюрінга чи ні.

Додано : До речі, я не думаю, що те, що ви написали в останньому абзаці, має місце:

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

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

  • Давши машині Тьюрінга M , відповідь на одне з наступних тверджень, що відповідає дійсності: « M зупиняється на порожній вхідній стрічці», « M не зупиняється на порожній стрічці введення» і « M - машина Тюрінга».
    Дати одне рішення просто : ви завжди можете вибрати " M - машина Тюрінга". Однак, відповідь правильна чи ні, не можна визначити. Зауважте, що в цій проблемі є лише два рішення для кожного примірника.

Чи є розумний спосіб формально визначити, що означає для таких проблем "штучним"? (Під «розумним» я маю на увазі те, з чим ми можемо широко погодитись, наприклад, що визначення поняття «обчислювальне» фіксує нашу інтуїцію того, що воно повинно означати.)
Жил «SO - перестань бути злим»

@Gilles: Ні, я не думаю, що так. Я назвав ці проблеми "штучними", тому що малоймовірно, що хтось спочатку зіткнеться з цими проблемами, а потім з'ясує, що легко зробити одну відповідь і важко визначити правильність даного кандидата відповіді. Але ця "штучність" аж ніяк не є суворим поняттям.
Цуйосі Іто

@Tsuyoshi Ito - Дякую за чітку відповідь. Я відредагував останній абзац, щоб відобразити ваше розуміння.
rphv

1

Хоча відповідь Цуйосі Іто охоплює "головну" відповідь, я хотів додати дві тонкі ноти.

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

  2. Для квантових комп'ютерів це дуже відкрите питання.Для класичних комп’ютерів перевіряючий завжди може зробити щось на зразок моделювання доказів та перевірки того, що вони отримують однакову відповідь. Цілком можливо, що для якоїсь хитрої проблеми існує квантовий алгоритм, який виробляє рівномірний розподіл на всі (експоненціально багато) рішення, які важко перевірити. Ви не можете повторно запустити доказ, тому що, швидше за все, кожен раз отримаєте іншу відповідь.

    Як приклад подібного роду проблем, проблема Deutsch-Jozsa дещо страждає від цього. Якщо оракул не є збалансованою функцією, то квантовий комп'ютер може швидко визначити, що це так, але немає короткого доказу, який би дозволив класичному комп'ютеру перевірити це. (Це лише "аналогічне" питання, оскільки його все одно можна перевірити на іншому квантовому комп'ютері, а перевірка також є в класичному BPP, навіть якщо його немає в P.)

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