Шукаєте джерело літератури для наступної ідеї


12

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

Ідея полягає в тому, щоб побудувати машину Тьюрінга M з властивістю, що якщо P = NP, то M буде вирішувати 3-SAT в поліноміальний час. (Вибір 3-SAT є довільним. Це може бути справді будь-яка проблема в NP).

Щоб було зрозуміло, це не твердження, що P = NP. Насправді я вважаю протилежне. Я просто констатую, що якщо P = NP, то M забезпечить поліноміально-часове рішення. Якщо ви шукаєте ефективне рішення, я повинен попередити, що це далеко не ефективно.

M побудований так: спочатку припустимо канонічне кодування для всіх машин Тьюрінга і застосуйте нумерацію до цих машин. Отже, існує машина Тьюрінга №1, номер 2 і т. Д. Ідея універсальної машини Тьюрінга, яка може прочитати формат для наданої машини, а потім змоделювати цю машину на окремому вході, досить добре відома. Компанія M використовуватиме універсальну машину Тьюрінга для створення та моделювання кожної машини Тьюрінга по черзі.

Він спочатку імітує роботу машини Тьюрінга 1 для одного кроку.
Потім він розглядає вихід машини Тюрінга 1.
Він моделює роботу машини Тьюрінга 1 на два етапи і дивиться на вихід, після чого переходить до імітації машини Тьюрінга 2 протягом 2 кроків. Він продовжується і циклічно працює, у свою чергу працює машина Turing 1 для k кроків, потім 2 для k кроків ... потім, зрештою, машина k для k кроків.

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

Я тут стверджу, що M розв’яже 3-SAT в поліноміальний час тоді і тільки тоді, коли P = NP. Врешті-решт, алгоритм знайде якусь магічну машину Тьюрінга з номером K, яка просто так є ефективним рішенням для проблеми 3-SAT і здатна надати доказ її результатів як для успіху, так і для невдачі. Зрештою, K будемодельовано виконанням кроків poly (strlen (input)) для деякого многочлена. Поліном для M - це приблизно квадрат многочлена для k в найбільшому множнику, але з деякими жахливими константами в многочлени.

Щоб повторити тут своє запитання: я хочу знати, чи є джерело літератури, яке використовує цю ідею. Мені дещо менш цікаво обговорювати саму ідею.

Відповіді:


16

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

φP=NPφ

Коментар 2: Як зазначив Ярослав Бласіок в іншій відповіді, цей алгоритм не вирішує Sat лише припускаючи P = NP.


Я щойно знайшов посилання на Вікіпедію, і справді в ній згадується Левін, але без цитування. Можливо, це просто стало фольклором, але ніколи не використовується в опублікованій літературі. Незалежно, це корисно. Дякую.
Провінція Білла

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

6

Ідея діагонально запустити всі можливі машини Тьюрінга раніше використовувалась Леонідом Левіним у тому, що зараз відоме під назвою Levins Universal Search. На жаль, і всупереч надзвичайно поширеному оману, оскільки, наскільки я знаю, варіації універсального пошуку Левіна НЕ здатні забезпечити явний алгоритм розв’язання SAT (завдання рішення) у поліноміальний час, виходячи виключно з припущення, що P = NP - і ні ваш алгоритм не робить .

Застереження пропонованих міркувань лежить (як це дуже часто) у "легкій вправі, залишеній читачеві" - я не зміг довести вправу сам і не вірю, що його твердження вірно, а саме:

Припустимо, що P = NP, є величина ZFC полінома, що підтверджує незадовільність заданої булевої формули.

Більше того: я не бачу, як довести існування поліноміально коротких доказів ZFC для незадовільності при (сильнішому) припущенні, що "P = NP є доказовим у ZFC". Однак це стає простим при ще більш сильному припущенні, а саме:

(*) Існує машина M, що працює в поліноміальний час, яка доказово вирішує SAT.

І це, я вірю, правильне припущення, згідно з яким ваш алгоритм вирішує SAT в поліноміальний час. Вище під "доказово вирішує SAT" я маю на увазі: існує машина M і доказ ZFC, що M вирішує SAT.

Зауважимо, що це припущення все-таки трохи слабше, ніж наступне: (**) Існує машина M, яка доказово працює в поліноміальний час і доказово вирішує SAT.

У розділі (**) може бути явна побудова досягнення тієї самої мети, що ще простіше: перерахуйте всі докази ZFC, поки ви не знайдете правильну машину M (витрачаючи постійний час), а потім запустіть M у заданому екземплярі.

Однак правда, що при припущенні P = NP існує певна поліноміально перевірена система доказів з короткими доказами незадовільності заданої формули. На жаль, ми не знаємо ні доказової системи, ні верифікатора назовні, і це не допомагає в цьому налаштуванні.

f1(x)

Зауважте, що ця схема застосовується, наприклад, до проблеми ФАКТОРИНГ; тут f - просто множення (визначається лише для інших факторів, ніж \ pm 1), а B - перевірка первинності. Отже, універсальний пошук Левіна був би (до постійного чинника) оптимальним алгоритмом ФАКТОРИНГУ. Враховуючи, що оптимальний алгоритм повільніше, ніж відомий алгоритм перевірки первинності - в іншому випадку перевірка первинності стає домінуючою.

NPcoNP


1
Якщо P = NP, то co-NP = co-P = P = NP. Тож БЕЗПЕЧЕННІСТЬ знаходиться в НП, тому є свідки розміру поліномів - не потрібно викликати машину Тюрінга. Ви не можете перетворити цього свідка на доказ ZFC про те, що формула незадовільна? Я не в курсі механіки доказу ZFC, але інтуїція, яку я отримував з різних місць, полягає в тому, що, якщо ви не маєте справу з "дивними речами", ZFC відповідає всім речам, які ви думали, що все одно можете довести, раніше Ви чули про теорію множин. Кінцеві об'єкти, такі як булева формула та полінома, свідчать про її незадовільність, ймовірно, не будуть дивними.
Девід Річербі

Так, якщо P = NP, то UNSAT знаходиться в NP, і він має свідчення розміру полінома. А саме: свідок нульового розміру, всю роботу виконує перевіряючий правда? Я маю на увазі лише одну ідею, як перетворити цього свідка нульового розміру в ZFC, довести незадоволеність: дати доказ ZFC, що моя машина фактично вирішує UNSAT, а потім покажіть запуск цієї машини за формулою - це було б вагомим доказом, і це відповідає тому, що алгоритм, запропонований ОП, працює в (*). Але що робити, якщо з'явилася якась хитра машина, яка просто вирішила SAT, але цей факт є недоцільним? Не те, що я вірю, що це так
Ярослав Бласіок

1
Помилкове уявлення, на яке я звертаюсь, таке: "якщо P = NP, тоді Левінський універсальний пошук дає алгоритм поліноміального часу для вирішення повної задачі NP" або як інколи зазначено: "Неможливо мати лише неконструктивне доведення P = NP, оскільки алгоритму Левінса ". Обидва ці помилкові - формулювання Вікіпедії представляє метод, який зупиняється в політемі на YES-екземплярах SUBSET SUM, але зовсім не зупиняється на NO-екземплярах - це не алгоритм, який визначає суму підмножини в політи. Формулювання ОП краще за цією метою, але потребує більш сильного припущення, ніж Р = NP, щоб визначити SAT у політномі.
Ярослав Бласіок

1
NPcoNP

1
Тепер спосіб вирішити це, оскільки ви не знаєте чітко верифікатора проблеми unSAT, було б спробувати знайти короткий доказ в якійсь офіційній логіці, яку ми вже знаємо і можемо перевірити (нехай це будуть аксіоми ZFC або Peano - ми з більшою ймовірністю знайдемо короткий доказ у попередньому), що цей приклад є незадовільним. Але якщо потрібно довести, що в цій формальній логіці є такий короткий доказ, потрібно більш сильне припущення, ніж P = NP.
Ярослав Бласіок
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.