Недетерминированная машина Тьюринга - сложная концепция для понимания. Попробуйте другие точки зрения:
Вместо запуска волшебной машины Тьюринга, которая является самым удачным догадчиком, запустите еще более волшебную метамашину, которая устанавливает бесконечное число случайно угадывающих независимых машин Тьюринга в параллельных вселенных. Каждая возможная последовательность догадок сделана в некоторой вселенной. Если хотя бы в одной из юниверсов машина останавливается и принимает ввод, этого достаточно: экземпляр проблемы принимается мета-машиной, которая настроила эти параллельные юниверсы. Если во всех юниверсах машина отклоняет или не останавливается, метамашин отклоняет экземпляр.
Вместо каких-либо предположений или разветвлений, представьте себе, как один человек пытается убедить другого в том, что этот случай должен быть принят. Первый человек предоставляет набор вариантов, которые должны быть сделаны недетерминированной машиной Тьюринга, а второй - проверяет, принимает ли машина данные с этими вариантами. Если это так, второй человек убежден; если это не так, первый человек потерпел неудачу (что может быть вызвано тем, что экземпляр не может быть принят с какой-либо последовательностью выборов, или потому что первый человек выбрал неправильную последовательность выборов).
Забудьте о машинах Тьюринга. Проблема в NP, если ее можно описать формулой в экзистенциальной логике второго порядка . То есть вы берете логическую пропозициональную логику, разрешаете любые квантификаторы над пропозициональными переменными и разрешаете вначале использовать экзистенциальные квантификаторы над множествами, отношениями и функциями. Например, трехцветность графа можно описать формулой, которая начинается с экзистенциальной количественной оценки по цветам (наборам узлов):
& существует; R & Существуют; G & Существуют; B
Каждый узел должен быть окрашен:
& существует; R & Существуют; G & Существуют; B (& x27; x (R (x) & or; G (x) & or; B (x)))
и никакие два соседних узла не могут иметь одинаковый цвет & ndash; вызвать отношение ребер E:
* * & Тысяча тридцать-один существует; R & Существуют; G & Существуют; B (& x27; x (R (x) & or; G (x) & or; B (x))) & and; (& xom; x, y & not; (E (x, y) & and; ((R (x) & and; R (y)) & or; (G (x) & and; G (y)) & or; (B (x ) & и; B (у)))))
Экзистенциальная квантификация по переменным второго порядка подобна недетерминированной машине Тьюринга, дающей совершенные догадки. Если вы хотите убедить кого-то в том, что формула существует; X (...) верно, вы можете начать с задания значения X. То, что NTM за полиномиальное время и эти формулы не просто «похожи», но фактически эквивалентны, является теоремой Фейгина, которая положила начало области описательной сложности : классы сложности, характеризуемые не машинами Тьюринга, а классами логических формул.
Вы также сказали
Я мог бы также теоретизировать магическую машину, которая решает проблемы NP в O (1)
Да, вы можете. Они называются оракулами (никакого отношения к СУБД), и они дали интересные результаты в теории сложности. Например, теорема Бейкера - Джилла - Соловая гласит, что существуют оракулы A и B, такие что для машин Тьюринга, которые имеют доступ к A, P = NP, но для машин Тьюринга, которые имеют доступ к B, P & ne; NP. (A - очень мощный оракул, который делает недетерминизм несущественным; определение B немного сложнее и включает в себя уловку диагонализации.) Это своего рода мета-результат: любое доказательство, решающее вопрос P vs NP, должно быть чувствительным Для определения машины Тьюринга достаточно того, что он выходит из строя при добавлении некоторых оракулов.
Ценность недетерминированных машин Тьюринга в том, что они предлагают сравнительно простую вычислительную характеристику класса сложности NP (и других): вместо деревьев вычислений или логических формул второго порядка вы можете подумать о почти обычном компьютере это было (сравнительно) немного изменено, так что это может сделать идеальные догадки.