2011-12-22 2 views
1

Я прочитал статью this, она предлагает (стр. 1025 последний абзац), что существует алгоритм полиномиального времени для поиска оптимального решения проблемы k-tsp с использованием бинарного поиска. Использование двоичного поиска предполагает наличие алгоритма проверки наличия решения с cost<X, и этот алгоритм используется для двоичного поиска. Я задумался об этом, и единственный алгоритм, который я мог найти, был недетерминированным (что довольно тривиально), но, очевидно, я ищу детерминированный.Есть ли алгоритм для нахождения оптимального значения k-tsp (коммивояжер) в полиномиальное время?

Я заинтересован в этом для целей обучения,

Любой помощи/ссылок будет оценен.

EDIT

Я имею в виду найти значение оптимального решения, а не о поиске самого решения.

+0

Не является ли TSP специальным случаем k-TSP, где k = количество узлов на графике? – soulcheck

+0

@soulcheck: да, это правда – Daniel

ответ

1

Поскольку TSP является частным случаем k-TSP, где k = количество узлов на графике. Если у вас есть решение для «то, что является самым дешевым маршрутом k-TSP» в полиномиальном отношении по отношению к размеру графа, тогда у вас будет полиномиальное решение для решения проблемы версии TSP, которое подразумевало бы, что P = NP.

Так что ответ отрицательный. Детерминированный полиномиальный алгоритм как для решения, так и для оптимизационной версии (они по существу одинаковы) k-TSP не существует (пока).

+0

Я прошу узнать, что такое значение «оптимального решения», а не найти оптимальное решение. поэтому ваш аргумент не применяется к этому. – Daniel

+1

@ Daniel это версия решения проблемы TSP. Если бы у вас был ответ на вопрос «какой самый дешевый маршрут TSP на графике», у вас будет ответ на «если существует маршрут TSP, который дешевле x». Отредактировал ответ, чтобы лучше отразить его. – soulcheck

+0

это правда. но наоборот нет (если я не пропущу что-то), если я знаю, что значение оптимального решения не означает, что я знаю фактическое решение. – Daniel

0

В приведенной статье предлагается полиномиальное время аппроксимация алгоритм для направленной задачи k-TSP.

Аппроксимационные алгоритмы - это те, которые гарантируют получение решений с ограниченным отклонением от оптимального значения решения. Существуют примеры алгоритмов приближения полиномиального времени для задач NP-Hard: Christofides Algorithm дает во времени O (n³) решения проблемы метрического TSP, значения которых не превосходят 3/2 значение оптимального решения.