P, NP та спеціалізовані машини Тюрінга


13

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

Моє розуміння

  • Стандартна машина Тьюрінга - машина Тьюрінга, яка має скінченний алфавіт, кінцеву кількість станів і єдину право-нескінченну стрічку
  • Еквівалентна машина Тьюрінга - машина Тьюрінга, яка може імітувати та імітувати за допомогою стандартної машини Тьюрінга (досить часто з деяким компромісом між простором та часом, досягнутим емуляцією)
  • P - клас задач, які можна вирішити в поліноміальний час за допомогою стандартної машини Тьюрінга (визначеної вище)
  • NP - клас задач, які можна перевірити в многочлени, використовуючи стандартну машину Тьюрінга
  • NP-complete- найскладніші проблеми, які ще існують, в NPякі всі NPпроблеми можуть бути перетворені за багаточлен

Моє запитання

Чи є класи складності ( P, NP, NP-completeі т.д.) , пов'язані з алгоритмом, або алгоритму і машини?

По-іншому, якщо ви могли створити машину еквівалентного Тюрінга (яка може вирішити всі проблеми, які може мати стандартний TM, але за різний час / простір), і ця нова машина може вирішити NP-completeпроблему в часі, яка зростає як многочлен щодо вхідних даних, це означає P=NP?

Або NP-completeпроблема повинна бути вирішена на всіх можливих машинах Тюрінга в поліноміальний час, який слід розглядати P?

Або я неправильно розумію щось основне вище?

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


Я вважаю, що ваша відповідь дуже схожа на цю відповідь на пост: У базовому вираженні, що таке визначення P, NP, NP-Complete та NP-Hard? Погляньте на це.
Реза

Відповіді:


9

Алгоритми та машини не визначені у вашому запитанні, і я не думаю, що вони потрібні, щоб задати те, що ви хочете запитати.

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

Додам, що є гіпотеза, яка говорить про те, що "ефективне" "обчислення" в будь-якій "розумній" "машині" буде охоплювати однакове число теоретичних функцій. Однак це не є доказовим твердженням, якщо не визначено цитовані терміни. Ми можемо довести це для багатьох машин, але не для всіх машин. Будучи еквівалентом машини Тьюрінга недостатньо, ми хочемо, щоб вони були сильно такими, тобто ми повинні мати можливість імітувати ці машини за допомогою машин Тьюрінга і навпаки ефективно. Приємна річ про таН П РPNPполягає в тому, що вони дуже міцні класи, тобто невеликі та великі відмінності в моделях машин класу не змінюють. Однак це правда весь час. Наприклад, я можу визначити просту нову модель обчислення, де в мене є основна операція, яка за постійний час вирішує задачу, нерозв'язну в . Тоді очевидно, що ця модель не буде сильно рівнозначною машинам Тьюрінга.P

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

Багато експертів вважають, що але ми далеко не доводимо це.BPP=P

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


Коротше кажучи, якщо ви хочете довести результат теорії складності щодо та , вам потрібно використовувати або оригінальні визначення за допомогою машин Тьюрінга, або спочатку довести відповідність між ними та класами, які ви використовуєте на основі якоїсь іншої моделі обчислення. Як я вже згадував вище, досить просто створити моделі машин, де поліноміальний "час" в них може вирішити (або навіть як завгодно складніше): просто додайте основну операцію до вашої моделі машини, яка вирішує цю проблему і нехай "час", який займає ця операція, становить одну одиницю часу.Н П Н ПPNPNP


Отже, якщо ваша спеціальна машина може ефективно вирішувати проблеми, але не може бути ефективно імітавана стандартною машиною Тюрінга, цей результат не стосується P? = NP (навіть якщо я можу створити цю машину в реальному житті)?
Бінго

Так, це правильно.
Каве

І тоді це порушило б розширену тезу Церкви Тьюрінга?
Бінго

Не обов'язково.
Каве

6

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

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


3

Ваше розуміння дуже добре! Ви також можете знайти додаткову інформацію в тексті, якщо вас цікавить, наприклад, Вступ Сипсера в теорію обчислення.

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

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

Існує вагома причина сумніватися в цій гіпотезі, оскільки ми знаємо алгоритми квантових обчислень, які отримують кращу швидкість, ніж поліноми, порівняно з найвідомішими класичними алгоритмами. Однак, крім цього, вважається, що будь-яка класична машина, яку ви можете побудувати (звичайно, будь-який варіант на машині Тюрінга) не може бути експоненціально швидшою, ніж машина Тюрінга. Отже, якщо ваша "машина еквівалентного Тьюрінга" могла запустити алгоритм, який вирішив задачу NP-Complete в поліноміальний час, то P = NP, тому що я міг перетворити його в алгоритм поліноміального часу для тієї ж проблеми на TM.

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

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