Жадные алгоритмы покрытия множества: различия между версиями

Перейти к навигации Перейти к поиску
м
Строка 48: Строка 48:


== Другие результаты ==
== Другие результаты ==
Было показано, что коэффициент аппроксимации жадного алгоритма составляет ln n - ln ln n + O(1) [12]. Для специального случая систем множеств, дополнения которых имеют конечную [https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%92%D0%B0%D0%BF%D0%BD%D0%B8%D0%BA%D0%B0_%E2%80%94_%D0%A7%D0%B5%D1%80%D0%B2%D0%BE%D0%BD%D0%B5%D0%BD%D0%BA%D0%B8%D1%81%D0%B0 размерность Вапника - Червоненкиса] (VC-размерность), другие алгоритмы демонстрируют заметно лучший коэффициент аппроксимации [1]. Известны алгоритмы аппроксимации с постоянным коэффициентом для тесно связанных с ними геометрических вариантов таких задач, как метод k-медиан и задача о размещении объектов.
Было показано, что коэффициент аппроксимации жадного алгоритма составляет ln n - ln ln n + O(1) [12]. Для специального случая систем множеств, дополнения которых имеют конечную [https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%92%D0%B0%D0%BF%D0%BD%D0%B8%D0%BA%D0%B0_%E2%80%94_%D0%A7%D0%B5%D1%80%D0%B2%D0%BE%D0%BD%D0%B5%D0%BD%D0%BA%D0%B8%D1%81%D0%B0 размерность Вапника - Червоненкиса] (VC-размерность), другие алгоритмы демонстрируют заметно лучший коэффициент аппроксимации [1]. Известны алгоритмы аппроксимации с постоянным коэффициентом для геометрических вариантов таких родственных задач, как метод k-медиан и задача о размещении объектов.




Жадный алгоритм можно естественным образом обобщить на множество задач. Например, для определенной выше задачи минимизации линейной функции относительно субмодулярных ограничений естественное расширение жадного алгоритма дает решение с Hk-аппроксимацией, где k = maxs2Sf(fsg) f(;), в предположении, что f является целочисленной функцией[10].
Жадный алгоритм можно естественным образом обобщить на множество задач. Например, для определенной выше задачи минимизации линейной функции относительно субмодулярных ограничений естественное расширение жадного алгоритма дает решение с <math>H_k \;</math>-аппроксимацией, где <math>k = max_{s \in S} f( \{s \}) - f(\empty) \;</math>, в предположении, что f является целочисленной функцией [10].




Обобщая задачу о покрытии множества, можно потребовать, чтобы каждый элемент x содержался в произвольном числе множеств rx; только в этом случае он будет считаться элементом покрытия. Для этого обобщения существует алгоритм O(log n)-аппроксимации с полиномиальным временем выполнения [8].
Обобщая задачу о покрытии множества, можно потребовать, чтобы каждый элемент x содержался в произвольном числе множеств <math>r_x \;</math>; только в этом случае он будет считаться элементом покрытия. Для этого обобщения существует алгоритм O(log n)-аппроксимации с полиномиальным временем выполнения [8].




Для специального случая, когда каждый элемент принадлежит не более чем к r множествам, имеется более простой алгоритм r-аппроксимации ([15] § 15.2). Если множества имеют однородные веса (ws = 1), алгоритм сводится к следующему: выбрать любой максимальный набор элементов, никакие два из которых не содержатся в одном множестве; вернуть все множества, содержащие выбранный элемент.
Для специального случая, когда каждый элемент принадлежит не более чем к r множествам, имеется более простой алгоритм r-аппроксимации ([15] § 15.2). Если множества имеют однородные веса (<math>w_s = 1 \;</math>), алгоритм сводится к следующему: выбрать любой максимальный набор элементов, никакие два из которых не содержатся в одном множестве; вернуть все множества, содержащие выбранный элемент.




4430

правок

Навигация