Мені щось нове, але дуже цікаве в галузі обчислювальної техніки та теорії складності, і я хочу уточнити своє розуміння того, як класифікувати проблеми та наскільки сильно проблеми стосуються машини, яка використовується для їх вирішення.
Моє розуміння
- Стандартна машина Тьюрінга - машина Тьюрінга, яка має скінченний алфавіт, кінцеву кількість станів і єдину право-нескінченну стрічку
- Еквівалентна машина Тьюрінга - машина Тьюрінга, яка може імітувати та імітувати за допомогою стандартної машини Тьюрінга (досить часто з деяким компромісом між простором та часом, досягнутим емуляцією)
P
- клас задач, які можна вирішити в поліноміальний час за допомогою стандартної машини Тьюрінга (визначеної вище)NP
- клас задач, які можна перевірити в многочлени, використовуючи стандартну машину ТьюрінгаNP-complete
- найскладніші проблеми, які ще існують, вNP
які всіNP
проблеми можуть бути перетворені за багаточлен
Моє запитання
Чи є класи складності ( P
, NP
, NP-complete
і т.д.) , пов'язані з алгоритмом, або алгоритму і машини?
По-іншому, якщо ви могли створити машину еквівалентного Тюрінга (яка може вирішити всі проблеми, які може мати стандартний TM, але за різний час / простір), і ця нова машина може вирішити NP-complete
проблему в часі, яка зростає як многочлен щодо вхідних даних, це означає P=NP
?
Або NP-complete
проблема повинна бути вирішена на всіх можливих машинах Тюрінга в поліноміальний час, який слід розглядати P
?
Або я неправильно розумію щось основне вище?
Я придивився (можливо, не з правильними пошуковими термінами, я не знаю всіх жаргонів досить добре), але, здається, більшість лекцій / конспектів і т.д. зосереджуються на стандартних машинах, але кажуть, що власні машини часто мають деяку швидкість часу та часу вгору за рахунок простору / часу, не кажучи про те, як це стосується класів складності. Я насправді недостатньо знайомий з жаргоном у цій галузі, але щоб знайти документи, які це пояснюють.