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