В информатике и исследовании операций аппроксимационные алгоритмы являются эффективными алгоритмами , которые находят аппроксимированные решения задач оптимизации (в частности, NP-трудных задач) с доказуемыми гарантиями расстояния возвращаемого решения до оптимального. [1] Аппроксимационные алгоритмы естественным образом возникают в области теоретической информатики как следствие широко распространенной гипотезы P ≠ NP . Согласно этой гипотезе, широкий класс задач оптимизации не может быть решен точно за полиномиальное время . Поэтому область аппроксимационных алгоритмов пытается понять, насколько близко можно аппроксимировать оптимальные решения таких задач за полиномиальное время. В подавляющем большинстве случаев гарантия таких алгоритмов является мультипликативной, выраженной как отношение аппроксимации или коэффициент аппроксимации, т. е. оптимальное решение всегда гарантированно находится в пределах (предопределенного) мультипликативного множителя возвращаемого решения. Однако существует также много аппроксимационных алгоритмов, которые предоставляют аддитивную гарантию качества возвращаемого решения. Ярким примером аппроксимационного алгоритма, который обеспечивает оба варианта, является классический аппроксимационный алгоритм Ленстры , Шмойса и Тардоса [2] для планирования на несвязанных параллельных машинах.
Разработка и анализ алгоритмов аппроксимации в решающей степени включают математическое доказательство , подтверждающее качество возвращаемых решений в худшем случае. [1] Это отличает их от эвристик, таких как отжиг или генетические алгоритмы , которые находят достаточно хорошие решения на некоторых входных данных, но не дают четкого указания на начальном этапе, когда они могут быть успешными или потерпеть неудачу.
В теоретической информатике широко распространен интерес к лучшему пониманию пределов, до которых мы можем аппроксимировать некоторые известные задачи оптимизации. Например, одним из давних открытых вопросов в информатике является определение того, существует ли алгоритм, который превосходит 2-аппроксимацию для задачи Steiner Forest Агравала и др. [3] Желание понять сложные задачи оптимизации с точки зрения аппроксимируемости мотивировано открытием удивительных математических связей и широко применимых методов разработки алгоритмов для сложных задач оптимизации. Одним из известных примеров является алгоритм Гоэманса–Вильямсона для максимального разреза , который решает задачу теории графов с использованием высокоразмерной геометрии. [4]
Простым примером алгоритма приближения является алгоритм для задачи минимального покрытия вершин , где цель состоит в том, чтобы выбрать наименьший набор вершин таким образом, чтобы каждое ребро во входном графе содержало по крайней мере одну выбранную вершину. Один из способов найти покрытие вершин — повторить следующий процесс: найти непокрытое ребро, добавить обе его конечные точки к покрытию и удалить все ребра, инцидентные любой вершине из графа. Поскольку любое покрытие вершин входного графа должно использовать отдельную вершину для покрытия каждого ребра, которое рассматривалось в процессе (поскольку оно образует соответствие ) , полученное покрытие вершин, таким образом, не более чем в два раза больше оптимального. Другими словами, это алгоритм приближения с постоянным множителем с множителем приближения 2. Согласно недавней гипотезе уникальных игр , этот множитель является даже наилучшим возможным. [5]
NP-трудные задачи сильно различаются по своей аппроксимируемости; некоторые, такие как задача о рюкзаке , могут быть аппроксимированы с помощью мультипликативного множителя для любого фиксированного и, следовательно, дают решения, произвольно близкие к оптимуму (такое семейство алгоритмов аппроксимации называется схемой аппроксимации за полиномиальное время или PTAS). Другие невозможно аппроксимировать с помощью любого постоянного или даже полиномиального множителя, если только P = NP , как в случае задачи о максимальной клике . Поэтому важным преимуществом изучения алгоритмов аппроксимации является мелкозернистая классификация сложности различных NP-трудных задач, выходящая за рамки той, которую предоставляет теория NP-полноты . Другими словами, хотя NP-полные задачи могут быть эквивалентны (при редукции за полиномиальное время) друг другу с точки зрения точных решений, соответствующие задачи оптимизации ведут себя совершенно по-разному с точки зрения приближенных решений.
На сегодняшний день существует несколько устоявшихся методов разработки алгоритмов аппроксимации. К ним относятся следующие.
В то время как алгоритмы аппроксимации всегда предоставляют априорную гарантию наихудшего случая (будь то аддитивная или мультипликативная), в некоторых случаях они также предоставляют апостериорную гарантию, которая часто намного лучше. Это часто бывает в случае алгоритмов, которые работают, решая выпуклую релаксацию задачи оптимизации на заданном входе. Например, существует другой алгоритм аппроксимации для минимального покрытия вершин, который решает релаксацию линейного программирования , чтобы найти покрытие вершин, которое не больше, чем в два раза больше значения релаксации. Поскольку значение релаксации никогда не больше размера оптимального покрытия вершин, это дает еще один алгоритм 2-аппроксимации. Хотя это похоже на априорную гарантию предыдущего алгоритма аппроксимации, гарантия последнего может быть намного лучше (действительно, когда значение релаксации LP далеко от размера оптимального покрытия вершин).
Алгоритмы приближения как область исследований тесно связаны с теорией неаппроксимируемости и опираются на нее , где несуществование эффективных алгоритмов с определенными коэффициентами приближения доказывается (при условии широко распространенных гипотез, таких как гипотеза P ≠ NP) с помощью редукций . В случае метрической задачи коммивояжера наиболее известный результат неаппроксимируемости исключает алгоритмы с коэффициентом приближения менее 123/122 ≈ 1,008196, если только P = NP, Карпински, Лампис, Шмид. [6] В сочетании со знанием о существовании алгоритма приближения 1,5 Кристофидеса это говорит нам, что порог аппроксимируемости для метрической задачи коммивояжера (если он существует) находится где-то между 123/122 и 1,5.
Хотя результаты по неаппроксимируемости были доказаны с 1970-х годов, такие результаты были получены ad hoc средствами, и в то время не было никакого систематического понимания. Только после результата 1990 года Фейге, Голдвассера, Ловаса, Сафры и Сегеди о неаппроксимируемости независимого множества [7] и знаменитой теоремы PCP [8] были обнаружены современные инструменты для доказательства результатов по неаппроксимируемости. Например, теорема PCP показывает, что алгоритмы аппроксимации Джонсона 1974 года для Max SAT , покрытия множеств , независимого множества и раскраски достигают оптимального отношения аппроксимации, предполагая, что P ≠ NP. [9]
Не все алгоритмы приближения подходят для прямого практического применения. Некоторые из них включают решение нетривиального линейного программирования / полуопределенных релаксаций (которые сами могут вызывать алгоритм эллипсоида ), сложные структуры данных или сложные алгоритмические методы, что приводит к сложным проблемам реализации или улучшению производительности времени выполнения (по сравнению с точными алгоритмами) только на непрактично больших входных данных. Помимо проблем реализации и времени выполнения, гарантии, предоставляемые алгоритмами приближения, сами по себе могут быть недостаточно сильными, чтобы оправдать их рассмотрение на практике. Несмотря на их невозможность использования «из коробки» в практических приложениях, идеи и идеи, лежащие в основе разработки таких алгоритмов, часто могут быть включены другими способами в практические алгоритмы. Таким образом, изучение даже очень дорогих алгоритмов не является полностью теоретическим занятием, поскольку они могут дать ценные идеи.
В других случаях, даже если первоначальные результаты представляют чисто теоретический интерес, со временем, с улучшением понимания, алгоритмы могут быть улучшены, чтобы стать более практичными. Одним из таких примеров является первоначальный PTAS для евклидовой TSP Санджива Ароры (и независимо Джозефа Митчелла ), который имел запретительное время выполнения для приближения. [10] Тем не менее, в течение года эти идеи были включены в алгоритм почти линейного времени для любой константы . [11]
Дана задача оптимизации:
где — задача аппроксимации, набор входных данных и набор решений, мы можем определить функцию стоимости:
и набор возможных решений:
поиск наилучшего решения для задачи максимизации или минимизации:
,
При наличии допустимого решения , при , мы хотели бы получить гарантию качества решения, то есть производительности, которая должна быть гарантирована (коэффициент аппроксимации).
В частности, имея , алгоритм имеет коэффициент аппроксимации (или отношение аппроксимации ), равный , если , то мы имеем:
Можно доказать, что приближение является узким ( узкое приближение ), показав, что существуют случаи, когда алгоритм работает на пределе приближения, что указывает на плотность границы. В этом случае достаточно построить входной экземпляр, разработанный для того, чтобы заставить алгоритм работать в наихудшем сценарии.
Для некоторых алгоритмов приближения можно доказать определенные свойства приближения оптимального результата. Например, алгоритм ρ -приближения A определяется как алгоритм, для которого доказано, что значение/стоимость, f ( x ), приближенного решения A ( x ) для экземпляра x не будет больше (или меньше, в зависимости от ситуации), чем фактор ρ, умноженный на значение, OPT, оптимального решения.
Фактор ρ называется относительной гарантией производительности . Алгоритм приближения имеет абсолютную гарантию производительности или ограниченную ошибку c , если для каждого экземпляра x доказано, что
Аналогично, гарантия производительности R ( x, y ) решения y для экземпляра x определяется как
где f ( y ) — это значение/стоимость решения y для экземпляра x . Очевидно, что гарантия производительности больше или равна 1 и равна 1 тогда и только тогда, когда y является оптимальным решением. Если алгоритм A гарантирует возврат решений с гарантией производительности не более r ( n ), то говорят, что A является алгоритмом r ( n )-аппроксимации и имеет коэффициент аппроксимации r ( n ). Аналогично, задача с алгоритмом r ( n )-аппроксимации называется r ( n ) - аппроксимируемой или имеет коэффициент аппроксимации r ( n ). [12] [13]
Для задач минимизации две разные гарантии дают одинаковый результат, а для задач максимизации относительная гарантия производительности ρ эквивалентна гарантии производительности . В литературе распространены оба определения, но ясно, какое определение используется, поскольку для задач максимизации ρ ≤ 1, а r ≥ 1.
Абсолютная гарантия производительности некоторого аппроксимационного алгоритма A , где x относится к экземпляру задачи, а — гарантия производительности A на x (т.е. ρ для экземпляра задачи x ), равна:
То есть это самая большая граница коэффициента аппроксимации, r , которую можно увидеть среди всех возможных случаев проблемы. Аналогично, асимптотический коэффициент производительности равен:
То есть, это то же самое, что и абсолютное отношение производительности , с нижней границей n на размер проблемных экземпляров. Эти два типа отношений используются, поскольку существуют алгоритмы, где разница между ними существенна.
В литературе отношение аппроксимации для задачи максимизации (минимизации) c - ϵ (min: c + ϵ) означает, что алгоритм имеет отношение аппроксимации c ∓ ϵ для произвольного ϵ > 0, но это отношение не было (или не может быть) показано для ϵ = 0. Примером этого является оптимальное отношение неаппроксимируемости — отсутствия аппроксимации — 7 / 8 + ϵ для выполнимых экземпляров MAX-3SAT, полученное Йоханом Хостадом . [14] Как упоминалось ранее, когда c = 1, говорят, что задача имеет схему аппроксимации с полиномиальным временем .
ϵ-член может появиться, когда алгоритм аппроксимации вводит мультипликативную ошибку и постоянную ошибку, в то время как минимальный оптимум экземпляров размера n стремится к бесконечности, как и n . В этом случае отношение аппроксимации равно c ∓ k / OPT = c ∓ o(1) для некоторых констант c и k . При произвольном ϵ > 0 можно выбрать достаточно большое N , так что член k / OPT < ϵ для каждого n ≥ N. Для каждого фиксированного ϵ экземпляры размера n < N можно решить методом грубой силы, тем самым показывая отношение аппроксимации — существование алгоритмов аппроксимации с гарантией — c ∓ ϵ для каждого ϵ > 0.
{{cite book}}
: CS1 maint: multiple names: authors list (link)