Я быстро просмотрел ссылки, которые вы дали, и должен признать, что есть одна вещь, которая мне очень не нравится в вашем учебнике (1-й pdf): они касаются NP-полноты, едва упоминая проблемы принятия решений. Предоставленное определение NP-полной задачи также несколько отличается от того, что я ожидаю от учебника. Я предполагаю, что это было сознательное решение сделать вступление более привлекательным...
Я дам краткий ответ, за которым последует более подробное объяснение связанных понятий.
Укороченная версия
Интуитивно (и неформально) проблема находится в NP, если ее решения легко проверить.
С другой стороны, проблема является NP-сложной, если ее трудно решить или найти решение.
Теперь задача является NP-полной, если она одновременно NP-сложная и NP-сложная. Следовательно, у вас есть два ключевых, интуитивно понятных свойства NP-полноты. Легко проверить, но трудно найти решения.
Хотя они могут показаться похожими, проверка и поиск решений — это две разные вещи. Когда вы используете редукционные аргументы, вы смотрите, сможете ли вы найти решение. В этом отношении и TSP, и TSP-OPT являются NP-трудными, и найти их решения сложно. Фактически, третий PDF-файл содержит решение для упражнения 8.1 вашего учебника, которое прямо показывает, что TSP и TSP-OPT одинаково сложно решить.
Итак, одно из основных различий между TSP и TSP-OPT заключается в том, что первое (как это называется в вашем учебнике) является задачей поиска, а второе — задачей оптимизации. Понятие проверки решения задачи поиска имеет смысл, а в случае TSP это легко сделать, поэтому оно является NP-полным. Для задач оптимизации понятие проверки решения становится странным, потому что я не могу придумать никакого способа сделать это без предварительного вычисления размера оптимального решения, что примерно эквивалентно решению самой задачи. Поскольку мы не знаем эффективного способа проверки решения для TSP-OPT, мы не можем сказать, что оно находится в NP, а значит, мы не можем сказать, что оно NP-полно. (Подробнее на эту тему в подробном объяснении.)
Суть в том, что для TSP-OPT трудно проверить и найти решения, в то время как для TSP легко проверить и трудно найти решения. Аргументы сокращения помогают только тогда, когда дело доходит до поиска решений, поэтому вам нужны другие аргументы, чтобы различать их, когда дело доходит до проверки решений.
Подробнее
В вашем учебнике очень кратко упоминается, что такое проблема принятия решения. Формально понятия NP-полноты, NP-трудности, NP, P и т. д. разрабатывались в контексте проблем принятия решений, а не задач оптимизации или поиска.
Вот краткий пример различий между этими разными типами проблем.
Проблема принятия решения – это проблема, ответ на которую — ДА или НЕТ.
Проблема решения TSP
Входные данные: график G, бюджет b.
Вывод: допускает ли G тур веса не более b ? (ДА НЕТ)
Вот версия для поиска
Проблема поиска TSP
Входные данные: график G, бюджет b.
Вывод: найти обход G веса не более b, если он существует.
А теперь вариант оптимизации
Проблема оптимизации TSP
Входные данные: график G
Вывод: найти обход G с минимальным весом.
Вне контекста проблема TSP может относиться к любому из них. То, что я лично называю TSP, является версией решения. Здесь ваш учебник использует TSP для версии поиска и TSP-OPT для версии оптимизации.
Проблема здесь в том, что эти различные проблемы строго различны. Версия решения требует только существования, в то время как версия поиска требует большего, ей нужен один пример такого решения. На практике мы часто хотим иметь фактическое решение, поэтому более практичные подходы могут не упоминать проблемы принятия решений.
А как насчет этого? Определение NP-полной задачи предназначалось для задач принятия решений, поэтому технически оно не применимо непосредственно к задачам поиска или оптимизации. Но поскольку теория, лежащая в основе этого, хорошо определена и полезна, удобно по-прежнему применять термин NP-complete/NP-hard к задаче поиска/оптимизации, чтобы у вас было представление о том, насколько сложно решить эти проблемы. Поэтому, когда кто-то говорит, что задача коммивояжера является NP-полной, формально это должна быть версия проблемы решения проблемы.
Очевидно, что многие понятия можно расширить так, чтобы они также включали задачи поиска, и именно так это представлено в вашем учебнике. Различия между решением, поиском и оптимизацией — это как раз то, что вы пытаетесь осветить в упражнениях 8.1 и 8.2 в вашем учебнике. Эти упражнения, вероятно, предназначены для того, чтобы заинтересовать вас отношениями между этими различными типами проблем и тем, как они соотносятся друг с другом.
person
N.Bach
schedule
15.04.2018