Жадный подход В. С. Динамическое программирование у коммивояжера - PullRequest
0 голосов
/ 05 февраля 2019

Если задача коммивояжера решается с использованием подхода динамического программирования, обеспечит ли оно выполнимое решение лучше, чем жадный подход?

Я знаю, что с точки зрения оптимального решения, жадные алгоритмыиспользуется для решения TSP, но он становится более сложным и занимает экспоненциальное время, когда число вершин (то есть городов) очень велико.

Итак, в конце концов, какой подход будет лучше?

Ответы [ 2 ]

0 голосов
/ 23 марта 2019

Существует важное различие между точными алгоритмами и эвристиками .Точный алгоритм гарантированно найдет точное оптимальное решение.Эвристики нет, но она предназначена для быстрой работы.

DP - точный алгоритм, по крайней мере, как он обычно используется.Есть алгоритмы DP для TSP.Таким образом, эти алгоритмы решат проблему точно .

ТСП не может быть решена точно с использованием жадных методов, поэтому любой жадный метод является эвристическим.Следовательно, по определению DP всегда найдет лучшее (или не худшее) возможное решение, чем жадная эвристическая воля, для любого случая TSP.

Обратите внимание, однако, что DP не является доминирующим подходом для решения TSP.Существует много других алгоритмов, которые намного эффективнее.В некоторых оригинальных документах по TSP использовался DP, и он часто формулируется как иллюстративный пример, но это не тот способ, которым TSP обычно решаются на практике.

Чтобы исправить что-то в OP:

Я знаю, что с точки зрения оптимального решения для решения задач TSP используются жадные алгоритмы, но он становится более сложным и занимает экспоненциальное время, когда число вершин (т.е. городов) очень велико.

Greedy эвристика иногда используются для решения TSP.(У них есть имена, такие как ближайший сосед, самая дешевая вставка и т. Д.) По мере увеличения числа вершин время выполнения этих эвристик также увеличивается, но оно не увеличивается в геометрической прогрессии.Большинство этих эвристик имеют время выполнения с полиномиальной сложностью низкого порядка, например O (n ^ 2).

С другой стороны, поскольку TSP является NP-сложным, все известные точные алгоритмы будет иметь сложность в худшем случае, которая будет экспоненциальной по количеству вершин.(Обратите внимание, что я говорю сложность наихудшего случая - фактическое время выполнения может быть вполне разумным для многих случаев, но только экспоненциальным в худшем случае.)

0 голосов
/ 05 февраля 2019

Жадный подход не всегда дает оптимальное решение проблемы коммивояжера.

Пример: A (0,0), B (0,1), C (2,0), D(3,1)
Продавец начинает с A, B - 1, C - 2, D - 3,16.
Продавец идет к B, который находится ближе всего, C - 2,24, D - 3прочь.
Продавец идет к C, который находится ближе всего, затем к D, который является последним не посещенным городом, а затем обратно к A.
Общая продолжительность поездки ABCDA составляет 7,81.Длина пути ABDCA составляет 7,41, что короче.

Динамическое решение намного медленнее, но всегда дает оптимальное решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...