Проблемы НП могут быть решены в детерминистически-экспоненциальное время?
Любая проблема в NP может быть решена за детерминированное экспоненциальное время, или мы можем сказать, что любой язык в NP может быть решен с помощью алгоритма, работающего за время 2^O(n^k), т. е. NP ⊆ EXP
неформально говоря, мы просто пробуем каждое из возможных решений, а затем решаем его
Тем не менее, есть простой пример, который я не могу понять, что не так с идеей, которую я сделал
Вот..
Задача коммивояжера: задан неориентированный граф G=(V,E) V=|n|
Это хорошо известная NP-полная проблема, поэтому действительно принадлежит NP
И я пытаюсь проанализировать время работы.. вот так:
Я просто перечисляю все возможные решения, и есть (n-1)! Всего возможных туров
Затем я проверяю каждый из них, для каждого возможного тура требуется O(n)
Общее время работы будет O(n!)
Это не похоже, может быть ограничено сверху 2^O(n^k), т. Е. Экспоненциальное время
где подводный камень этого анализа?
или, другими словами, как мы можем объяснить, что проблема коммивояжера действительно может быть решена алгоритмом, работающим во времени 2^O(n^k)
1 ответ
Обратите внимание, что
п! ≤ nn = (2log n)n = 2n log n ≤ 2n2
Так что! = 2O (n2), значит, n! ∈ EXP.
Надеюсь это поможет!