В теории вычислимости и теории сложности вычислений , особенно в изучении алгоритмов приближения , редукция, сохраняющая приближение, — это алгоритм преобразования одной задачи оптимизации в другую, такой, что расстояние решений от оптимального сохраняется в некоторой степени. Редукция, сохраняющая приближение, является подмножеством более общих редукций в теории сложности; разница в том, что редукция, сохраняющая приближение, обычно делает утверждения о задачах приближения или задачах оптимизации , в отличие от задач принятия решений .
Интуитивно, задача A сводится к задаче B посредством сведения, сохраняющего приближение, если, имея экземпляр задачи A и (возможно, приближенный) решатель для задачи B, можно преобразовать экземпляр задачи A в экземпляр задачи B, применить решатель для задачи B и восстановить решение для задачи A, которое также имеет некоторую гарантию приближения.
В отличие от редукций в задачах принятия решений, редукции, сохраняющие приближение, должны сохранять больше, чем истину экземпляров задачи при редукции от одной задачи к другой. Она также должна поддерживать некоторую гарантию на связь между стоимостью решения и стоимостью оптимума в обеих задачах. Формализовать:
Пусть A и B — задачи оптимизации.
Пусть x будет экземпляром задачи A с оптимальным решением . Пусть обозначает стоимость решения y для экземпляра x задачи A. Это также метрика, используемая для определения того, какое решение считается оптимальным.
Сведение , сохраняющее приближение, представляет собой пару функций (которые часто должны быть вычислимы за полиномиальное время), таких, что:
Существует много различных типов редукций, сохраняющих приближение, все из которых имеют различную гарантию (третий пункт в определении выше). Однако, в отличие от других редукций, редукции, сохраняющие приближение, часто пересекаются в том, какие свойства они демонстрируют в задачах оптимизации (например, принадлежность к классу сложности или полнота, или неаппроксимируемость). Различные типы редукций используются вместо этого как различные методы редукции, в которых используется применимая редукция, которая наиболее легко адаптируется к задаче.
Не все типы сокращений, сохраняющих приближение, могут быть использованы для демонстрации принадлежности ко всем классам сложности аппроксимации, наиболее примечательными из которых являются PTAS и APX . Сокращение ниже сохраняет принадлежность к классу сложности C, если, учитывая задачу A, которая сводится к задаче B с помощью схемы сведения, и B находится в C, то A также находится в C. Некоторые сокращения, показанные ниже, сохраняют принадлежность только к APX или PTAS, но не к другому. Из-за этого необходимо делать тщательный выбор при выборе сокращений, сохраняющих приближение, особенно с целью доказательства полноты задачи в классе сложности.
Крещенци предполагает, что тремя наиболее идеальными стилями редукции, как с точки зрения простоты использования, так и с точки зрения доказательной силы, являются PTAS-редукция, AP-редукция и L-редукция. [1] Приведенные ниже описания редукции взяты из обзора Крещенци редукций, сохраняющих аппроксимацию.
Строгая редукция — это простейший тип редукции, сохраняющей приближение. В строгой редукции отношение приближения решения y' к экземпляру x' задачи B должно быть не лучше, чем отношение приближения соответствующего решения y к экземпляру x задачи A. Другими словами:
Строгая редукция является наиболее простой: если существует строгая редукция от задачи A к задаче B, то задача A всегда может быть приближена по крайней мере к такому же хорошему отношению, как задача B. Строгая редукция сохраняет членство как в PTAS, так и в APX.
Существует похожая концепция S-редукции, для которой и оптимумы двух соответствующих экземпляров должны иметь одинаковую стоимость. S-редукция является очень частным случаем строгой редукции и является еще более ограничивающей. По сути, две проблемы A и B должны находиться в почти идеальном соответствии друг с другом. Существование S-редукции подразумевает не только существование строгой редукции, но и любой другой редукции, перечисленной здесь.
L-редукции сохраняют членство в PTAS, а также в APX (но только для задач минимизации в случае последнего ). В результате они не могут быть использованы в общем случае для доказательства результатов полноты об APX, Log-APX или Poly-APX, но тем не менее они ценятся за их естественную формулировку и простоту использования в доказательствах. [1]
PTAS-редукция — еще одна часто используемая схема редукции. Хотя она сохраняет членство в PTAS, она не делает этого для APX. Тем не менее, полнота APX определяется в терминах редукций PTAS.
PTAS-редукции являются обобщением P-редукций, показанных ниже, с той лишь разницей, что функция g может зависеть от коэффициента аппроксимации r .
A-редукция и P-редукция — это похожие схемы редукции, которые можно использовать для демонстрации членства в APX и PTAS соответственно. Обе вводят новую функцию c , определенную на числах больше 1, которая должна быть вычислимой.
В A-редукции мы имеем, что
В P-редукции мы имеем, что
Существование P-редукции подразумевает существование PTAS-редукции.
E-редукция, которая является обобщением строгой редукции, но подразумевает как A-редукцию, так и P-редукцию, является примером менее ограничительного стиля редукции, который сохраняет членство не только в PTAS и APX, но и в более крупных классах Log-APX и Poly-APX . E-редукция вводит два новых параметра: полином p и константу . Ее определение следующее.
В E-редукции мы имеем, что для некоторого полинома p и константы ,
Чтобы получить A-редукцию из E-редукции, пусть , а чтобы получить P-редукцию из E-редукции, пусть .
AP-редукции используются для определения полноты в классах Log-APX и Poly-APX . Они являются частным случаем PTAS-редукции, удовлетворяющим следующим ограничениям.
В AP-редукции мы имеем, что для некоторой константы ,
с дополнительным обобщением, что функция g может зависеть от коэффициента аппроксимации r , как в PTAS-редукции.
AP-редукция также является обобщением E-редукции. На самом деле для AP-редукции необходимо наложить дополнительное ограничение, чтобы сохранить членство Log-APX и Poly-APX, как это делает E-редукция: для фиксированного размера задачи время вычисления f, g не должно увеличиваться с увеличением коэффициента аппроксимации.
Сокращение разрыва — это тип сокращения, который, хотя и полезен для доказательства некоторых результатов неаппроксимируемости, не похож на другие сокращения, показанные здесь. Сокращение разрыва имеет дело с проблемами оптимизации в контейнере задач принятия решений, созданных путем изменения цели задачи для различения оптимального решения и решений с некоторым мультипликативным фактором хуже оптимума.