1294
правки
Irina (обсуждение | вклад) м (→Применение) |
KVN (обсуждение | вклад) |
||
(не показано 6 промежуточных версий 1 участника) | |||
Строка 18: | Строка 18: | ||
Из теоремы 1 следует, что с точки зрения параметризованной сложности [2, 3, 16] эти алгоритмы представляют собой ''алгоритмы с фиксированными параметрами'', принимая за параметр число внутренних точек k – и, следовательно, задача принадлежит к классу разрешимых с фиксированным параметром. (Время выполнения алгоритма с фиксированным параметром составляет O(f(k)poly(n)), где n – размер входных данных, k – параметр, а <math>f: \mathbb{N} \to \mathbb{N}</math> – произвольная вычислимая функция. Например, алгоритм с временем выполнения <math>O(5^k n) \;</math> является алгоритмом с фиксированным параметром, тогда как алгоритм с временем выполнения <math>O(n^k) \;</math> не является таковым). Заметим, что второй алгоритм дает точное решение с полиномиальным временем выполнения при k = O(log n). | Из теоремы 1 следует, что с точки зрения параметризованной сложности [2, 3, 16] эти алгоритмы представляют собой ''алгоритмы с фиксированными параметрами'', принимая за параметр число внутренних точек k – и, следовательно, задача принадлежит к классу разрешимых с фиксированным параметром. (Время выполнения алгоритма с фиксированным параметром составляет <math>O(f(k) poly(n)) \;</math>, где n – размер входных данных, k – параметр, а <math>f: \mathbb{N} \to \mathbb{N}</math> – произвольная вычислимая функция. Например, алгоритм с временем выполнения <math>O(5^k n) \;</math> является алгоритмом с фиксированным параметром, тогда как алгоритм с временем выполнения <math>O(n^k) \;</math> не является таковым). Заметим, что второй алгоритм дает точное решение с полиномиальным временем выполнения при k = O(log n). | ||
Строка 42: | Строка 42: | ||
Пусть имеется n точек на евклидовой плоскости. Необходимо найти разбиение выпуклой оболочки этих точек на минимальное количество выпуклых областей, содержащих некоторые точки в качестве вершин. | Пусть имеется n точек на евклидовой плоскости. Необходимо найти разбиение выпуклой оболочки этих точек на минимальное количество выпуклых областей, содержащих некоторые точки в качестве вершин. | ||
Грантсон и Левкопулос [ ] предложили алгоритм с временем выполнения O( | Грантсон и Левкопулос [9] предложили алгоритм с временем выполнения <math>O(k^{6k - 5} 2^{16k} n) \;</math>. Позднее Спиллнер [19] улучшил эту временную сложность до <math>O(2^k k^3 n^3) \;</math>. | ||
Строка 50: | Строка 50: | ||
Грантсон | Грантсон [5] предложил алгоритм с временем выполнения <math>O(k^{6k - 5} 2^{16k} n) \;</math>. Позднее Спиллнер [19] улучшил эту временную сложность до <math>O(2^k k^3 n^3) \;</math>. () | ||
'''Задача построения остовного дерева без пересечений ребер''' | '''Задача построения остовного дерева без пересечений ребер''' | ||
Пусть дан геометрический граф с n вершинами (т.е. граф на евклидовой плоскости, каждое ребро которого является отрезком прямой, соединяющим две точки). Необходимо определить, имеется ли у него остовное дерево, ребра которого не пересекаются. Дженсен и Вегингер [11] доказали, что эта задача является NP-полной | Пусть дан геометрический граф с n вершинами (т. е. граф на евклидовой плоскости, каждое ребро которого является отрезком прямой, соединяющим две точки). Необходимо определить, имеется ли у него [[остовное дерево]], ребра которого не пересекаются. Дженсен и Вегингер [11] доказали, что эта задача является NP-полной. | ||
Кнауэр и Спиллнер [12] предложили алгоритмы с временем выполнения <math>O(175^k k^2 n^3) \;</math> и <math>O(2^{33 \sqrt{k} \; log \; k} k^2 n^3)</math>. | |||
Метод, разработанный Кнауэром и Спиллнером [ ], можно применить и к задаче коммивояжера. Согласно их результату, наилучшая известная на данный момент временная сложность алгоритма для TSP составляет | |||
Метод, разработанный Кнауэром и Спиллнером [12], можно применить и к задаче коммивояжера. Согласно их результату, наилучшая известная на данный момент временная сложность алгоритма для TSP составляет <math>2^{O(\sqrt{k} \; log \; k)} poly(n).</math> | |||
== Открытые вопросы == | == Открытые вопросы == | ||
На данный момент не найдено нижней границы временной сложности. В частности, возможно ли при наличии разумных теоретико-сложностных предположений доказать невозможность существования алгоритма решения задачи коммивояжера с временем выполнения | На данный момент не найдено нижней границы временной сложности. В частности, возможно ли при наличии разумных теоретико-сложностных предположений доказать невозможность существования алгоритма решения задачи коммивояжера с временем выполнения <math>2^{O(\sqrt{k})} poly(n)</math>? | ||
== См. также == | == См. также == | ||
О задаче коммивояжера: | О задаче коммивояжера: | ||
* [[Евклидова задача коммивояжера]] | |||
* [[Гамильтоновы циклы в случайных графах пересечений]] | |||
* [[Конкурс по реализации эвристик для задачи коммивояжера]] | |||
* [[Метрическая задача коммивояжера]] | |||
Об алгоритмах с фиксированными параметрами: | Об алгоритмах с фиксированными параметрами: | ||
* [[Нахождение ближайшей подстроки]] | |||
* [[Параметризованная задача выполнимости КНФ]] | |||
* [[Кернелизация вершинного покрытия]] | |||
* [[Вершинное покрытие и деревья поиска]] | |||
О других вопросах: | О других вопросах: | ||
* [[Триангуляция с минимальным весом]] | |||
== Литература == | == Литература == | ||
Строка 120: | Строка 124: | ||
19. Spillner, A.: Optimal convex partitions of point sets with few inner points. In: Proceedings of the 17th Canadian Conference on Computational Geometry (CCCG), 2005, pp. 34-37 | 19. Spillner, A.: Optimal convex partitions of point sets with few inner points. In: Proceedings of the 17th Canadian Conference on Computational Geometry (CCCG), 2005, pp. 34-37 | ||
[[Категория: Совместное определение связанных терминов]] |