Я в некотором роде новичок, но очень интересуюсь областью вычислений и теории сложности, и я хочу разъяснить свое понимание того, как классифицировать проблемы и насколько сильно проблемы связаны с машиной, используемой для их решения.
Мое понимание
- Стандартная машина Тьюринга - машина Тьюринга, которая имеет конечный алфавит, конечное число состояний и одну правую бесконечную ленту
- Эквивалентная машина Тьюринга - машина Тьюринга, которая может эмулировать и имитировать стандартная машина Тьюринга (довольно часто с некоторым компромиссом между пространством и временем, достигаемым эмуляцией)
P
- класс задач, которые могут быть решены за полиномиальное время с использованием стандартной машины Тьюринга (определено выше)NP
- класс задач, которые можно проверить за полиномиальное время с помощью стандартной машины ТьюрингаNP-complete
- самые трудные проблемы, которые еще существуют, вNP
которые всеNP
проблемы могут быть преобразованы за полиномиальное время
Мой вопрос
Являются ли классы сложности ( P
, NP
, NP-complete
и т.д.) , связанные с алгоритмом, или алгоритма и машины?
Сказано иначе, если бы вы могли создать эквивалентную машину Тьюринга (которая может решить все проблемы, которые может решить стандартная TM, но в другом количестве времени и пространства), и эта новая машина могла бы решить NP-complete
проблему во времени, которая растет как многочлен относительно ввода, это будет означать P=NP
?
Или NP-complete
проблема должна быть разрешима на всех возможных машинах Тьюринга за полиномиальное время, которое нужно рассмотреть P
?
Или я неправильно понимаю что-то фундаментальное выше?
Я посмотрел (возможно, не с правильными поисковыми терминами, я не очень хорошо знаю весь жаргон), но кажется, что большинство лекций / заметок и т. Д. Фокусируются на стандартных машинах, но говорят, что пользовательские машины часто имеют некоторую временную / пространственную скорость за счет пространства / времени, не говоря уже о том, как это влияет на классы сложности. Я еще недостаточно знаком с жаргоном в этой области, чтобы найти статьи, объясняющие это.