Этот вопрос был вдохновлен комментарием к StackOverflow .
Помимо знания NP-полных проблем книги Гэри Джонсона и многих других; Есть ли эмпирическое правило, чтобы узнать, выглядит ли проблема как NP-полная?
Я не ищу что-то строгое, но что-то, что работает в большинстве случаев.
Конечно, каждый раз, когда мы должны доказать, что проблема NP-полная, или небольшой вариант NP-полной; но прежде чем торопиться с доказательством, было бы здорово иметь определенную уверенность в положительном результате доказательства.
complexity-theory
np-complete
intuition
Виталий Олегович
источник
источник
Ответы:
Это мой личный подход к определению, является ли проблема (т. Е. Язык ) NP-полной или нет. Если оба эти условия проверены:L
Откровенно говоря, этот подход очень прост: я пытаюсь найти (полиномиальный) алгоритм для данной задачи. Если я не могу его найти, то проблема становится «сложной» с моей точки зрения. Затем идут все рассуждения о NP-полноте: смогу ли я зашифровать существующую NP-полную проблему в эту? (И поскольку это обычно намного сложнее, я пытаюсь еще раз найти алгоритм полинома ..)
Я подозреваю, что это обычный способ мышления. Однако это остается довольно трудно применить для неизвестных проблем. Я лично помню, как меня удивил один из первых примеров NP-полноты, который мне сказали: проблема клики . Это было так просто проверить! Поэтому я полагаю, что этот опыт во многом связан с этим. Также интуиция иногда бывает бесполезной. Я помню, как мне несколько раз говорили о двух почти одинаковых проблемах, но одна была в P, а другая с небольшим изменением была NP-полной.
Мне еще не удалось найти хороший пример (мне нужна помощь здесь), но это похоже на проблему почтовой корреспонденции : это неразрешимая проблема, но некоторые варианты разрешимы.
источник
Еще один взгляд на сложность проблемы связан с сообществом игр и головоломок, где практическое правило гласит, что «проблемы настолько сложны, насколько это возможно» (а исключения происходят из скрытых структур в проблеме - пример Массимо, определяющего в комментарии - хороший пример этого); хитрость в том, чтобы понять, насколько сложной может быть проблема:
источник