Jump to content

Установить проблему с обложкой

(Перенаправлено из набора ударов )
Пример примера проблемы с покрытием набора.

Проблема покрытия множеств — классический вопрос комбинаторики , информатики , исследования операций и теории сложности .

Учитывая набор элементов {1, 2, …, n } (называемый вселенной ) и коллекцию S из m подмножеств, объединение которых равно вселенной, задача покрытия множества состоит в том, чтобы идентифицировать наименьшую подколлекцию S , объединение которой равно Вселенная. Например, рассмотрим вселенную U = {1, 2, 3, 4, 5} и набор множеств S = { {1, 2, 3}, {2, 4}, {3, 4}, {4, 5} }. Очевидно, что объединение S есть U . Однако мы можем охватить все элементы только двумя наборами: { {1, 2, 3}, {4, 5} } ‍ ; см. картинку. Следовательно, решение задачи о покрытии множеств имеет размер 2.

Более формально, учитывая вселенную и семья подмножеств , обложка множества — это подсемейство множеств, объединение которых есть .

  • множества покрытий В задаче решения входными данными является пара и целое число ; вопрос есть ли в комплекте чехол размера или меньше.
  • покрытия набора В задаче оптимизации входными данными является пара , и задача состоит в том, чтобы найти обложку набора, в которой используется наименьшее количество наборов.

Вариант решения покрытия множества NP-полный . Это одна из 21 NP-полной задачи Карпа, которая, как было показано в 1972 году, является NP-полной . Версия покрытия множества для оптимизации/поиска является NP-трудной . [1] Это проблема, «чье исследование привело к разработке фундаментальных методов для всей области» аппроксимационных алгоритмов . [2]

Варианты

[ редактировать ]

В задаче о покрытии взвешенного множества каждому набору присваивается положительный вес (представляющий его стоимость), и цель состоит в том, чтобы найти покрытие множества с наименьшим весом. Обычная (невзвешенная) обложка набора соответствует всем наборам, имеющим вес 1.

В задаче о покрытии дробных множеств допускается выбирать дробные части множеств, а не целые множества. Покрытие дробного множества — это присвоение дроби (числа в [0,1]) каждому множеству в , такой, что для каждого элемента x во вселенной сумма дробей множеств, содержащих x, равна как минимум 1. Цель состоит в том, чтобы найти покрытие дробного множества, в котором сумма дробей будет как можно меньше. Обратите внимание, что (обычное) покрытие множества эквивалентно покрытию дробного множества, в котором все дроби равны 0 или 1; следовательно, размер наименьшего дробного покрытия не превышает размера наименьшего покрытия, но может быть меньше. Например, рассмотрим вселенную U = {1, 2, 3} и набор множеств S = { {1, 2}, {2, 3}, {3, 1} }. Наименьшее покрытие набора имеет размер 2, например { {1, 2}, {2, 3} }. Но существует дробное покрытие набора размером 1,5, в котором от каждого набора берется 0,5 дроби.

Формулировка линейной программы

[ редактировать ]

Задачу покрытия множества можно сформулировать в виде следующей целочисленной линейной программы (ЦЛП). [3]

минимизировать (минимизировать количество подходов)
при условии для всех (охватить каждый элемент вселенной)
для всех . (каждый набор либо в обложке набора, либо нет)

Для более компактного представления ограничения покрытия можно определить матрицу инцидентности , где каждая строка соответствует элементу, а каждый столбец соответствует набору, и если элемент e находится в наборе s, и в противном случае. Тогда ограничение покрытия можно записать как .

Покрытие взвешенного множества описывается программой, идентичной приведенной выше, за исключением того, что целевая функция, которую нужно минимизировать, равна , где это вес комплекта .

Покрытие дробного множества описывается программой, идентичной приведенной выше, за исключением того, что может быть нецелым, поэтому последнее ограничение заменяется на .

Эта линейная программа принадлежит к более общему классу ЛП для покрытия задач , поскольку все коэффициенты целевой функции и обе стороны ограничений неотрицательны. Разрыв целостности ПДОДИ составляет не более (где это размер Вселенной). Показано, что его релаксация действительно дает фактор- аппроксимационный алгоритм решения задачи о покрытии минимального множества. [4] см. в разделе рандомизированное округление#setcover Подробное объяснение .

Формулировка набора ударов

[ редактировать ]

Покрытие множества эквивалентно проблеме попадания в множество . В этом можно убедиться, заметив, что случай покрытия множества можетможно рассматривать как произвольный двудольный граф , в котором вселенная представлена ​​вершинами слева, а множества — вершинами слева.справа и ребра, обозначающие принадлежность элементов множествам. Тогда задача состоит в том, чтобы найти подмножество левых вершин минимальной мощности, которое имеет нетривиальное пересечение с каждой из правых вершин, что и является проблемой множества попаданий.

В области вычислительной геометрии набор ударов для набора геометрических объектов также называется набором ударов или набором прокалывания . [5]

Жадный алгоритм

[ редактировать ]

Существует жадный алгоритм полиномиальной аппроксимации покрытия множеств, который выбирает множества по одному правилу: на каждом этапе выбирается то множество, которое содержит наибольшее количество непокрытых элементов. Этот метод может быть реализован во времени, линейном по сумме размеров входных наборов, с использованием очереди сегментов для определения приоритетов наборов. [6] Он достигает коэффициента аппроксимации , где - это размер набора, который необходимо покрыть. [7] Другими словами, он находит покрытие, которое может быть раз больше минимального, где это номер гармоники :

Этот жадный алгоритм фактически достигает коэффициента аппроксимации где - это набор максимальной мощности . Для плотные примеры, однако существует -алгоритм аппроксимации для каждого . [8]

Плотный пример жадного алгоритма с k=3

Существует стандартный пример, в котором жадный алгоритм достигает коэффициента аппроксимации .Вселенная состоит из элементы. Система комплектов состоит из попарно непересекающиеся множества с размерами соответственно, а также два дополнительных непересекающихся множества ,каждый из которых содержит половину элементов из каждого . На этих входных данных жадный алгоритм принимает наборы , именно в таком порядке, а оптимальное решение состоит только из и .Пример такого ввода для изображено справа.

Результаты о неаппроксимируемости показывают, что жадный алгоритм по существу является наилучшим из возможных алгоритмов аппроксимации с полиномиальным временем для покрытия множеств до членов более низкого порядка.(см. результаты о неаппроксимируемости ниже) при правдоподобных предположениях о сложности. Более тщательный анализ жадного алгоритма показывает, что коэффициент аппроксимации точно равен . [9]

Низкочастотные системы

[ редактировать ]

Если каждый элемент встречается не более чем в f наборах, то решение может быть найдено за полиномиальное время, которое аппроксимирует оптимум с точностью до коэффициента f, используя LP-релаксацию .

Если ограничение заменяется на для всех S в в целочисленной линейной программе, показанной выше , она становится (нецелочисленной) линейной L. программой Алгоритм можно описать следующим образом:

  1. Найдите оптимальное решение O для программы L, используя некоторый полиномиальный метод решения линейных программ.
  2. Выберите все наборы S , для которых соответствующая переменная x S имеет значение не менее 1/ f в решении O . [10]

Результаты неаппроксимации

[ редактировать ]

Когда относится к размеру Вселенной, Лунд и Яннакакис (1994) показали, что покрытие множеств не может быть аппроксимировано за полиномиальное время с точностью до коэффициента , если только NP не имеет алгоритмов с квазиполиномиальным временем . Файги (1998) улучшил эту нижнюю границу до при тех же предположениях, что по существу соответствует коэффициенту аппроксимации, полученному жадным алгоритмом. Раз и Сафра (1997) установили нижнюю границу.из , где — некоторая константа в более слабом предположении, что P НП .Аналогичный результат с более высоким значением недавно было доказано Алоном, Мошковицем и Сафрой (2006) . Динур и Стойрер (2013) показали оптимальную неаппроксимируемость, доказав, что ее нельзя аппроксимировать к если только П Э.Г.

В низкочастотных системах Динур и др. (2003) доказали, что NP-трудно аппроксимировать покрытие множества лучше, чем .Если гипотеза об уникальных играх верна, ее можно улучшить до as proven by Khot & Regev (2008) .

Тревизан (2001) доказывает, что наборы покрывают экземпляры с наборами размера не более не может быть аппроксимировано с коэффициентом лучше, чем если только П NP , тем самым делая аппроксимацию Жадный алгоритм в этом случае существенно точен.

Утяжеленная крышка комплекта

[ редактировать ]

Ослабляя целочисленную линейную программу для покрытия взвешенного множества описанную выше , можно использовать рандомизированное округление, чтобы получить -факторная аппроксимация. Неутяжеленную крышку комплекта можно адаптировать к утяжеленному кейсу. [11]

Крышка дробного набора

[ редактировать ]
[ редактировать ]
  • Удар по сету — это эквивалентная переформулировка Set Cover.
  • Покрытие вершин — это особый случай Hitting Set.
  • Edge Cover — это особый случай Set Cover.
  • Покрытие геометрического множества — это особый случай Покрытия множества, когда вселенная представляет собой набор точек в а множества индуцируются пересечением Вселенной и геометрических фигур (например, дисков, прямоугольников).
  • Упаковка комплекта
  • Задача максимального покрытия состоит в том, чтобы выбрать не более k наборов, чтобы охватить как можно больше элементов.
  • Доминирующее множество — это проблема выбора набора вершин (доминирующего множества) в графе так, чтобы все остальные вершины были смежны хотя бы с одной вершиной в доминирующем множестве. Было показано, что задача о доминирующем множестве является NP-полной за счет редукции от покрытия множества.
  • Точная задача покрытия состоит в том, чтобы выбрать покрытие множества, в котором ни один элемент не входит более чем в одно покрывающее множество.
  • Обложка красно-синего комплекта. [12]
  • Похищение прикрытия .
  • Монотонная дуализация — это вычислительная задача, эквивалентная перечислению всех минимальных наборов попаданий или перечислению всех покрытий минимальных множеств данного семейства множеств. [13]

Примечания

[ редактировать ]
  1. ^ Корте и Виген 2012 , стр. 414.
  2. ^ Вазирани (2001 , стр. 15)
  3. ^ Вазирани (2001 , стр. 108)
  4. ^ Вазирани (2001 , стр. 110–112)
  5. ^ Нильсен, Франк (6 сентября 2000 г.). «Быстрая резка коробок больших размеров» (PDF) . Теоретическая информатика . 246 (1): 53–72. дои : 10.1016/S0304-3975(98)00336-3 . ISSN   0304-3975 .
  6. ^ Кормен, Томас Х .; Лейзерсон, Чарльз Э .; Ривест, Рональд Л .; Стейн, Клиффорд (2009) [1990], «Упражнение 35.3-3», Введение в алгоритмы (3-е изд.), MIT Press и McGraw-Hill, стр. 1122, ISBN  0-262-03384-4
  7. ^ Хватал, В. (август 1979 г.), «Жадная эвристика для задачи покрытия множеств», Mathematics of Operations Research , 4 (3): 233–235, doi : 10.1287/moor.4.3.233 , JSTOR   3689577
  8. ^ Карпинский и Зеликовский 1998 г.
  9. ^ Славик Петр Подробный анализ жадного алгоритма покрытия множества . СТОЦ'96, стр. 435-441, дои : 10.1145/237814.237991
  10. ^ Вазирани (2001 , стр. 118–119)
  11. ^ Министр (2001 , глава 14)
  12. ^ Информация., Национальные лаборатории Сандии. Соединенные Штаты. Министерство энергетики. Соединенные Штаты. Министерство энергетики. Управление науки и техники (1999). О задаче о покрытии красно-синего множества . Соединенные Штаты. Департамент энергетики. OCLC   68396743 .
  13. ^ Гейнер-Дьюар, Эндрю; Вера-Ликона, Паола (2017), «Проблема генерации минимального набора попаданий: алгоритмы и вычисления», SIAM Journal on Discrete Mathematics , 31 (1): 63–100, arXiv : 1601.02939 , doi : 10.1137/15M1055024 , MR   3590650 , S2CID   9240467
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 86a65913468a0dbb795b476cdd37dbdc__1723005300
URL1:https://arc.ask3.ru/arc/aa/86/dc/86a65913468a0dbb795b476cdd37dbdc.html
Заголовок, (Title) документа по адресу, URL1:
Set cover problem - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)