Введение

Класс алгоритмов, находящих приближенные решения задач оптимизации. В информатике и исследованиях операций, алгоритмы приближения — это эффективные алгоритмы, которые находят приближенные решения задач оптимизации (в частности, NP-трудных задач) с доказуемыми гарантиями относительно расстояния найденного решения до оптимального. Алгоритмы приближения естественно возникают в области теоретической информатики как следствие широко распространенного предположения P ≠ NP. В соответствии с этим предположением, широкий класс задач оптимизации не может быть решен точно за полиномиальное время. Поэтому область алгоритмов приближения стремится понять, насколько близко можно приблизить оптимальные решения таких задач за полиномиальное время. В подавляющем большинстве случаев гарантия таких алгоритмов выражается в виде множительной, определяемой отношением или коэффициентом приближения, то есть оптимальное решение всегда гарантированно находится в пределах (заранее заданного) множителя от найденного решения. Однако существует также множество алгоритмов приближения, предоставляющих аддитивную гарантию качества найденного решения. Ярким примером алгоритма приближения, предоставляющего оба типа гарантий, является классический алгоритм Ленстры, Шмойса и Тардоса для планирования на разнородных параллельных машинах. Разработка и анализ алгоритмов приближения критически включают математическое доказательство, подтверждающее качество найденных решений в худшем случае. Стремление понять сложные задачи оптимизации с точки зрения возможности их приближения обусловлено открытием удивительных математических связей и широко применимых методов для разработки алгоритмов для сложных задач оптимизации. Одним из известных примеров является алгоритм Гоманса — Уильямсона для задачи о максимальном разрезе, который решает задачу теории графов, используя геометрию высоких размерностей.

Введение

Простой пример алгоритма приближения — это алгоритм для задачи о минимальном вершинном покрытии, где цель состоит в выборе наименьшего множества вершин, так чтобы каждое ребро во входном графе содержало хотя бы одну выбранную вершину. Один из способов найти вершинное покрытие — повторять следующий процесс: найти непокрытое ребро, добавить обе его конечные точки в покрытие и удалить из графа все рёбра, инцидентные любой из этих вершин. Поскольку любое вершинное покрытие входного графа должно использовать различную вершину для покрытия каждого ребра, которое рассматривалось в процессе (поскольку они образуют сопоставление), полученное вершинное покрытие, следовательно, не более чем в два раза больше оптимального. Иными словами, это алгоритм приближения с постоянным коэффициентом, с коэффициентом приближения 2. Согласно недавней гипотезе об уникальных играх, этот коэффициент является даже наилучшим возможным. NP-трудные задачи сильно различаются по своей приближаемости; некоторые, такие как задача о рюкзаке, могут быть приближены с точностью до мультипликативного фактора ε для любого фиксированного ε, и, следовательно, дают решения, произвольно близкие к оптимальному (такое семейство алгоритмов приближения называется полиномиальной схемой аппроксимации времени, или PTAS). Другие невозможно приблизить с точностью до любого постоянного или даже полиномиального коэффициента, если P = NP, как в случае задачи о максимальной клике. Поэтому важное преимущество изучения алгоритмов приближения — это детальная классификация сложности различных NP-трудных задач, выходящая за рамки классификации, предоставляемой теорией NP-полноты. Другими словами, хотя NP-полные задачи могут быть эквивалентны (при полиномиальном сведении) друг другу с точки зрения точных решений, соответствующие задачи оптимизации ведут себя очень по-разному с точки зрения приближённых решений.

Гарантии a posteriori

Хотя алгоритмы приближения всегда предоставляют априорную гарантию в худшем случае (будь то аддитивная или мультипликативная), в некоторых случаях они также предоставляют апостериорную гарантию, которая зачастую значительно лучше. Это часто справедливо для алгоритмов, работающих путем решения выпуклого ослабления задачи оптимизации для данного входного набора данных. Например, существует другой алгоритм приближения для задачи о минимальном вершинном покрытии, который решает релаксацию линейного программирования для нахождения вершинного покрытия, размер которого не превышает в два раза значение релаксации. Поскольку значение релаксации никогда не больше размера оптимального вершинного покрытия, это дает еще один 2-аппроксимационный алгоритм. Хотя это похоже на априорную гарантию предыдущего алгоритма приближения, гарантия последнего может быть намного лучше (особенно когда значение LP-релаксации значительно отличается от размера оптимального вершинного покрытия).

Твердость приближения

Приближенные алгоритмы как область исследований тесно связаны с теорией неприближенности и опираются на её результаты, где доказывается невозможность существования эффективных алгоритмов с определенными коэффициентами приближения (при условии верности широко распространенных гипотез, таких как P ≠ NP) с помощью сведения. В случае метрической задачи коммивояжера, наилучший известный результат о неприближенности исключает алгоритмы с коэффициентом приближения меньше 123/122 ≈ 1.008196, если только P = NP (Karpinski, Lampis, Schmied). В сочетании со знанием о существовании алгоритма Кристофидеса с коэффициентом приближения 1.5, это позволяет заключить, что порог приближения для метрической задачи коммивояжера (если он существует) находится где-то между 123/122 и 1.5. Хотя результаты о неприближенности получались с 1970-х годов, они были получены ad hoc методами, и в то время не было доступно систематического понимания. Лишь после работы Файге, Голдвассера, Ловаса, Сафры и Сегеди в 1990 году о неприближенности задачи о независимом множестве и знаменитой теоремы PCP были открыты современные инструменты для доказательства результатов о неприближенности. Например, теорема PCP показывает, что алгоритмы приближения Джонсона 1974 года для задач Max SAT, покрытия множества, независимого множества и раскраски достигают оптимального коэффициента приближения, при условии P ≠ NP.

Практичность

Не все алгоритмы приближения подходят для непосредственного практического применения. Некоторые требуют решения нетривиальных задач линейного программирования / полуопределённых релаксаций (которые сами могут использовать эллипсоидный метод), сложных структур данных или изощрённых алгоритмических приёмов, что приводит к трудностям при реализации или улучшению времени работы (по сравнению с точными алгоритмами) лишь для непрактически больших входных данных. Помимо проблем реализации и времени работы, гарантии, предоставляемые алгоритмами приближения, могут оказаться недостаточно сильными, чтобы оправдать их практическое применение. Несмотря на невозможность использования "из коробки" в практических задачах, идеи и принципы, лежащие в основе разработки таких алгоритмов, часто могут быть использованы другими способами в практических алгоритмах. Таким образом, изучение даже очень сложных алгоритмов не является чисто теоретическим, поскольку оно может приносить ценные знания. В других случаях, даже если первоначальные результаты представляют собой лишь теоретический интерес, со временем, с углублением понимания, алгоритмы могут быть усовершенствованы и стать более практическими. Примером является первоначальный PTAS для евклидовой задачи коммивояжёра, разработанный Сандживом Аророй (и независимо Джозефом Митчеллом), который имел неприемлемое время работы для приближения. Однако в течение года эти идеи были включены в алгоритм с почти линейным временем работы для любого фиксированного ε.