Установить проблему с обложкой
Проблема покрытия множеств — классический вопрос комбинаторики , информатики , исследования операций и теории сложности .
Учитывая набор элементов {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]
Существует стандартный пример, в котором жадный алгоритм достигает коэффициента аппроксимации .Вселенная состоит из элементы. Система комплектов состоит из попарно непересекающиеся множества с размерами соответственно, а также два дополнительных непересекающихся множества ,каждый из которых содержит половину элементов из каждого . На этих входных данных жадный алгоритм принимает наборы , именно в таком порядке, а оптимальное решение состоит только из и .Пример такого ввода для изображено справа.
Результаты о неаппроксимируемости показывают, что жадный алгоритм по существу является наилучшим из возможных алгоритмов аппроксимации с полиномиальным временем для покрытия множеств до членов более низкого порядка.(см. результаты о неаппроксимируемости ниже) при правдоподобных предположениях о сложности. Более тщательный анализ жадного алгоритма показывает, что коэффициент аппроксимации точно равен . [9]
Низкочастотные системы [ править ]
Если каждый элемент встречается не более чем в f наборах, то решение может быть найдено за полиномиальное время, которое аппроксимирует оптимум с точностью до коэффициента f, используя LP-релаксацию .
Если ограничение заменяется на для всех S в в целочисленной линейной программе, показанной выше , она становится (нецелочисленной) линейной L. программой Алгоритм можно описать следующим образом:
- Найдите оптимальное решение O для программы L, используя некоторый полиномиальный метод решения линейных программ.
- Выберите все наборы S , для которых соответствующая переменная x S имеет значение не менее 1/ f в решении O . [10]
Результаты неаппроксимируемости [ править ]
Когда относится к размеру Вселенной, Лунд и Яннакакис (1994) показали, что покрытие множеств не может быть аппроксимировано за полиномиальное время с точностью до коэффициента , если только NP не имеет алгоритмов с квазиполиномиальным временем . Файги (1998) улучшил эту нижнюю границу до при тех же предположениях, что по существу соответствует коэффициенту аппроксимации, полученному жадным алгоритмом. Раз и Сафра (1997) установили нижнюю границу.из , где — некоторая константа в более слабом предположении, что P НП .Аналогичный результат с более высоким значением недавно было доказано Алоном, Мошковицем и Сафрой (2006) . Динур и Стойрер (2013) показали оптимальную неаппроксимируемость, доказав, что ее нельзя аппроксимировать к если только П Э.Г.
В низкочастотных системах Динур и др. (2003) доказали, что NP-трудно аппроксимировать покрытие множества лучше, чем .Если гипотеза об уникальных играх верна, ее можно улучшить до as proven by Khot & Regev (2008) .
Тревизан (2001) доказывает, что наборы покрывают экземпляры с наборами размера не более не может быть аппроксимировано с коэффициентом лучше, чем если только П NP , тем самым делая аппроксимацию Жадный алгоритм в этом случае существенно точен.
Обложка взвешенного набора [ править ]
Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( ноябрь 2017 г. ) |
Ослабляя целочисленную линейную программу для покрытия взвешенного множества описанную выше , можно использовать рандомизированное округление, чтобы получить -факторная аппроксимация. Неутяжеленную крышку комплекта можно адаптировать к утяжеленному кейсу. [11]
Обложка дробного набора [ править ]
Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( сентябрь 2023 г. ) |
Связанные проблемы [ править ]
- Удар по сету — это эквивалентная переформулировка Set Cover.
- Покрытие вершин — это частный случай Hitting Set.
- Edge Cover — это особый случай Set Cover.
- Покрытие геометрического множества — это особый случай покрытия множества, когда вселенная представляет собой набор точек в а множества индуцируются пересечением Вселенной и геометрических фигур (например, дисков, прямоугольников).
- Упаковка комплекта
- Задача максимального покрытия состоит в том, чтобы выбрать не более k наборов, чтобы охватить как можно больше элементов.
- Доминирующее множество — это задача выбора набора вершин (доминирующего множества) в графе такого, чтобы все остальные вершины были смежны хотя бы с одной вершиной в доминирующем множестве. Было показано, что задача о доминирующем множестве является NP-полной за счет редукции от покрытия множества.
- Точная задача покрытия состоит в том, чтобы выбрать покрытие множества, в котором ни один элемент не входит более чем в одно покрывающее множество.
- Обложка красно-синего комплекта. [12]
- Похищение прикрытия .
- Монотонная дуализация — это вычислительная задача, эквивалентная перечислению всех минимальных наборов попаданий или перечислению всех покрытий минимальных множеств данного семейства множеств. [13]
Примечания [ править ]
- ^ Корте и Виген 2012 , стр. 414.
- ^ Вазирани (2001 , стр. 15)
- ^ Вазирани (2001 , стр. 108)
- ^ Вазирани (2001 , стр. 110–112)
- ^ Нильсен, Франк (6 сентября 2000 г.). «Быстрая резка коробок больших размеров» (PDF) . Теоретическая информатика . 246 (1): 53–72. дои : 10.1016/S0304-3975(98)00336-3 . ISSN 0304-3975 .
- ^ Кормен, Томас Х .; Лейзерсон, Чарльз Э .; Ривест, Рональд Л .; Стейн, Клиффорд (2009) [1990], «Упражнение 35.3-3», Введение в алгоритмы (3-е изд.), MIT Press и McGraw-Hill, стр. 1122, ISBN 0-262-03384-4
- ^ Хватал, В. (август 1979 г.), «Жадная эвристика для задачи покрытия множеств», Mathematics of Operations Research , 4 (3): 233–235, doi : 10.1287/moor.4.3.233 , JSTOR 3689577
- ^ Карпинский и Зеликовский 1998 г.
- ^ Славик Петр Подробный анализ жадного алгоритма покрытия множества . СТОЦ'96, стр. 435-441, дои : 10.1145/237814.237991
- ^ Вазирани (2001 , стр. 118–119)
- ^ Министр (2001 , глава 14)
- ^ Информация., Национальные лаборатории Сандии. Соединенные Штаты. Министерство энергетики. Соединенные Штаты. Министерство энергетики. Управление науки и техники (1999). О задаче о покрытии красно-синего множества . Соединенные Штаты. Департамент энергетики. OCLC 68396743 .
- ^ Гейнер-Дьюар, Эндрю; Вера-Ликона, Паола (2017), «Проблема генерации минимального набора попаданий: алгоритмы и вычисления», SIAM Journal on Discrete Mathematics , 31 (1): 63–100, arXiv : 1601.02939 , doi : 10.1137/15M1055024 , MR 3590650 , S2CID 9240467
Ссылки [ править ]
- Алон, Нога ; Мошковитц, Дана ; Сафра, Шмуэль (2006), «Алгоритмическое построение множеств для k-ограничений», ACM Trans. Алгоритмы , 2 (2): 153–177, CiteSeerX 10.1.1.138.8682 , doi : 10.1145/1150334.1150336 , ISSN 1549-6325 , S2CID 11922650 .
- Кормен, Томас Х .; Лейзерсон, Чарльз Э .; Ривест, Рональд Л .; Стейн, Клиффорд (2001), Введение в алгоритмы , Кембридж, Массачусетс: MIT Press и McGraw-Hill, стр. 1033–1038, ISBN. 978-0-262-03293-3
- Файги, Уриэль (1998), «Порог ln n для аппроксимации покрытия набора», Journal of the ACM , 45 (4): 634–652, CiteSeerX 10.1.1.70.5014 , doi : 10.1145/285055.285059 , ISSN 0004-5411 , S2CID 52827488 .
- Карпински, Марек; Зеликовский, Александр (1998), «Аппроксимация плотных случаев покрытия проблем», Труды семинара DIMACS по проектированию сетей: возможности подключения и расположение объектов , том. 40, Американское математическое общество, стр. 169–178, ISBN. 9780821870846
- Лунд, Карстен ; Яннакакис, Михалис (1994), «О сложности аппроксимации задач минимизации», Journal of the ACM , 41 (5): 960–981, doi : 10.1145/185675.306789 , ISSN 0004-5411 , S2CID 9021065 .
- Раз, Ран ; Сафра, Шмуэль (1997), «Тест низкой степени с субпостоянной вероятностью ошибки и характеристика NP с субпостоянной вероятностью ошибки PCP», STOC '97: Материалы двадцать девятого ежегодного симпозиума ACM по теории вычисления , ACM, стр. 475–484, ISBN. 978-0-89791-888-6 .
- Динур, Ирит ; Стойрер, Дэвид (2013), «Аналитический подход к параллельному повторению», STOC '14: Материалы сорок шестого ежегодного симпозиума ACM по теории вычислений , ACM, стр. 624–633 .
- Vazirani, Vijay V. (2001), Approximation Algorithms (PDF) , Springer-Verlag, ISBN 978-3-540-65367-7
- Корте, Бернхард ; Виген, Йенс (2012), Комбинаторная оптимизация: теория и алгоритмы (5-е изд.), Springer, ISBN 978-3-642-24487-2
- Кардосо, Нуно; Абреу, Руи (2014), «Эффективный распределенный алгоритм для вычисления минимальных наборов совпадений» (PDF) , Материалы 25-го международного семинара по принципам диагностики , Грац, Австрия, doi : 10.5281/zenodo.10037
{{citation}}
: CS1 maint: отсутствует местоположение издателя ( ссылка ) - Динур, Ирит ; Гурусвами, Венкатесан ; Хот, Субхаш ; Регев, Одед (2003), Новый многослойный PCP и твердость покрытия вершин гиперграфа , Ассоциация вычислительной техники, стр. 595–601, ISBN 1581136749
- Хот, Субхаш ; Регев, Одед (2008), Вершинное покрытие может быть трудно аппроксимировать с точностью до 2−. , Журнал компьютерных и системных наук, стр. 335–349.
- Тревизан, Лука (2001), Результаты о неаппроксимируемости задач оптимизации в экземплярах с ограниченной степенью , Ассоциация вычислительной техники, стр. 453–461.