Упаковка комплекта
Упаковка множеств — это классическая NP-полная задача теории сложности вычислений и комбинаторики , а также одна из 21 NP-полной задачи Карпа . Предположим, у вас есть множество S и список подмножеств S конечное . Затем задача упаковки множеств спрашивает, являются ли некоторые k подмножеств в списке попарно непересекающимися (другими словами, никакие два из них не имеют общего элемента).
Более формально, учитывая вселенную и семья подмножеств , упаковка — это подсемейство множеств таких, что все множества в попарно не пересекаются. Размер упаковки составляет . В задаче об упаковке множества входными данными является пара и целое число ; вопрос в том, является лиесть комплектная упаковка нужного размера или больше. упаковки наборов В задаче оптимизации входными данными является пара , и задача состоит в том, чтобы найти упаковку множеств, в которой используется наибольшее количество множеств.
Проблема явно в NP , поскольку, учитывая подмножеств, мы можем легко проверить, что они попарно не пересекаются за полиномиальное время .
Оптимизационная версия задачи — упаковка максимального набора — требует максимального количества попарно непересекающихся множеств в списке. Это задача максимизации, которую естественным образом можно сформулировать как целочисленную линейную программу , принадлежащую классу задач упаковки .
Формулировка целочисленной линейной программы
[ редактировать ]Задачу упаковки максимального множества можно сформулировать в виде следующей целочисленной линейной программы .
максимизировать | (максимизировать общее количество подмножеств) | ||
при условии | для всех | (выбранные множества должны быть попарно непересекающимися) | |
для всех . | (каждый комплект либо в комплектной упаковке, либо нет) |
Сложность
[ редактировать ]Задача упаковки множеств не только NP-полна, но ее оптимизационная версия (общая задача упаковки максимального множества) оказалась столь же трудной для аппроксимации, как и задача максимальной клики ; в частности, его нельзя аппроксимировать с точностью до какого-либо постоянного коэффициента. [1] Самый известный алгоритм аппроксимирует его с точностью до коэффициента . [2] Взвешенный вариант также может быть аппроксимирован. [3]
Упаковка наборов ограниченного размера
[ редактировать ]У проблемы есть более разрешимый вариант. Для любого положительного целого числа k ≥3 k проблема упаковки -множеств представляет собой вариант упаковки множеств, в котором каждый набор содержит не более k элементов.
Когда k =1, проблема тривиальна. Когда k = 2, проблема эквивалентна поиску паросочетания максимальной мощности , которое можно решить за полиномиальное время.
Для любого k ≥3 проблема является NP-сложной, поскольку она более общая, чем трехмерное сопоставление . Однако существуют алгоритмы аппроксимации с постоянным коэффициентом :
- Cygan [4] представил алгоритм, который для любого ε>0 достигает аппроксимации ( k +1+ε)/3. Время выполнения является полиномиальным по количеству множеств и элементов, но дважды экспоненциальным по 1/ε.
- Furer and Yu [5] представил алгоритм, который достигает того же приближения, но с одноэкспонентой времени выполнения от 1/ε.
Упаковочные множества ограниченной степени
[ редактировать ]В другом, более удобном варианте, если ни один элемент не встречается более чем в d подмножеств, ответ можно аппроксимировать с точностью до d . Это справедливо и для взвешенной версии.
Связанные проблемы
[ редактировать ]Эквивалентные проблемы
[ редактировать ]Сопоставление гиперграфов эквивалентно упаковке множеств: множества соответствуют гиперребрам.
Задача независимом множестве о также эквивалентна упаковке множеств — между ними происходит полиномиальное сокращение времени один к одному:
- Учитывая заданную проблему упаковки в коллекции , построим график, где для каждого набора есть вершина , и есть грань между и если только . Каждому независимому набору вершин в сгенерированном графе соответствует упаковка множеств в .
- Дана независимая задача о множестве вершин на графе , создайте коллекцию множеств, где для каждой вершины есть набор содержащий все ребра, примыкающие к . Каждая упаковка множеств в сгенерированной коллекции соответствует независимому множеству вершин в .
Это также двунаправленное сокращение PTAS , и оно показывает, что обе проблемы одинаково трудно аппроксимировать.
В частном случае, когда каждое множество содержит не более k элементов ( проблема упаковки k-множеств ), граф пересечений ( k +1) -свободен от клешней . Это связано с тем, что если множество пересекает некоторые k +1 множеств, то по крайней мере два из этих множеств пересекаются, поэтому не может быть ( k +1)-клешни. Итак, максимальное независимое множество в графах без когтей [6] можно рассматривать как обобщение максимальной упаковки k -множеств.
Особые случаи
[ редактировать ]Сопоставление графов — это частный случай упаковки множеств, при котором размер всех множеств равен 2 (множества соответствуют ребрам). В этом особом случае совпадение максимального размера может быть найдено за полиномиальное время.
Трехмерное сопоставление — это частный случай, когда размер всех наборов равен 3, кроме того, элементы разбиты на 3 цвета и каждый набор содержит ровно по одному элементу каждого цвета. Этот частный случай по-прежнему NP-труден, хотя в нем используются лучшие алгоритмы аппроксимации с постоянным коэффициентом, чем в общем случае.
Другие сопутствующие проблемы
[ редактировать ]В задаче о множестве покрытий нам дано семейство подмножеств вселенной , и цель состоит в том, чтобы определить, можем ли мы выбрать t наборов, которые вместе содержат каждый элемент . Эти наборы могут перекрываться. Версия оптимизации находит минимальное количество таких наборов. Упаковка максимального комплекта не обязательно должна охватывать все возможные элементы.
В задаче о точном покрытии каждый элемент должно содержаться ровно в одном из подмножеств. Нахождение такого точного покрытия является NP-полной задачей даже в особом случае, когда размер всех множеств равен 3 (этот особый случай называется точным 3-покрытием или X3C ). Однако если мы создадим одиночный набор для каждого элемента S и добавим их в список, возникшая проблема будет такой же простой, как и упаковка набора.
Первоначально Карп показал NP-полную упаковку множеств посредством редукции задачи о клике .
Примечания
[ редактировать ]- ^ Хазан, Элад; Сафра, Шмуэль; Шварц, Одед (2006), «О сложности аппроксимации k упаковки -множеств», Computational Complexity , 15 (1): 20–39, CiteSeerX 10.1.1.352.5754 , doi : 10.1007/s00037-006-0205-6 , МР 2226068 , S2CID 1858087 . См., в частности, стр. 21: «Максимальная клика (и, следовательно, максимальное независимое множество и упаковка максимального множества) не может быть аппроксимирована с точностью до если только NP ⊂ ZPP».
- ^ Халлдорссон, Магнус М.; Краточвил, Ян; Телле, Ян Арне (1998). Независимые множества с ограничениями на доминирование . 25-й Международный коллоквиум по автоматам, языкам и программированию. Конспекты лекций по информатике. Том. 1443. Шпрингер-Верлаг. стр. 176–185.
- ^ Халлдорссон, Магнус М. (1999). Аппроксимации взвешенных задач независимого множества и наследственных подмножеств . 5-я ежегодная международная конференция по вычислительной технике и комбинаторике. Конспекты лекций по информатике. Том. 1627. Шпрингер-Верлаг. стр. 261–270.
- ^ Циган, Марек (октябрь 2013 г.). «Улучшенное приближение для трехмерного сопоставления посредством локального поиска с ограниченной шириной пути» . 54-й ежегодный симпозиум IEEE по основам информатики , 2013 г. стр. 509–518. arXiv : 1304.1424 . дои : 10.1109/FOCS.2013.61 . ISBN 978-0-7695-5135-7 . S2CID 14160646 .
- ^ Фюрер, Мартин; Ю, Хуэйвэнь (2014). «Аппроксимация задачи упаковки k -множеств путем локальных улучшений» . В Фуйу, Пьер; Гувейя, Луис Эдуардо Невес; Махджуб, А. Рида; Пашос, Вангелис Т. (ред.). Комбинаторная оптимизация . Конспекты лекций по информатике. Том. 8596. Чам: Springer International Publishing. стр. 408–420. дои : 10.1007/978-3-319-09174-7_35 . ISBN 978-3-319-09174-7 . S2CID 15815885 .
- ^ Нойвонер, Майке (2021). «Улучшенный алгоритм аппроксимации для задачи независимого множества о максимальном весе в графах без d- когтей». В Блазере, Маркус; Монмеге, Бенджамин (ред.). 38-й Международный симпозиум по теоретическим аспектам информатики, STACS 2021, 16–19 марта 2021 г., Саарбрюккен, Германия (виртуальная конференция) . ЛИПИ. Том 187. Замок Дагштуль - Центр информатики Лейбница. стр. 53:1–53:20. arXiv : 2106.03545 . doi : 10.4230/LIPICS.STACS.2021.53 .
Ссылки
[ редактировать ]- Упаковка максимального набора , Вигго Канн.
- « набор упаковки ». Словарь алгоритмов и структур данных , редактор Пол Э. Блэк, Национальный институт стандартов и технологий. Обратите внимание, что определение здесь несколько иное.
- Стивен С. Скиена. « Упаковка комплекта ». Руководство по проектированию алгоритмов .
- Пьерлуиджи Крещенци, Вигго Канн, Магнус Халлдорссон, Марек Карпински и Герхард Вегингер . « Упаковка максимального комплекта ». Сборник задач оптимизации NP . Последнее изменение 20 марта 2000 г.
- Майкл Р. Гари и Дэвид С. Джонсон (1979). Компьютеры и трудноразрешимые проблемы: Руководство по теории NP-полноты . У. Х. Фриман. ISBN 978-0-7167-1045-5 . А3.1: СП3, стр.221.
- Vazirani, Vijay V. (2001). Approximation Algorithms . Springer-Verlag. ISBN 978-3-540-65367-7 .
Внешние ссылки
[ редактировать ]- [1] : Программа на языке Паскаль для решения проблемы. Из «Алгоритмов дискретной оптимизации с программами на языке Паскаль» , Макей М. Сысло, ISBN 0-13-215509-5 .
- Тесты со скрытыми оптимальными решениями для покрытия сетов, упаковки сетов и определения победителей
- Решение проблемы упаковки в PHP
- Оптимизация трехмерной упаковки в контейнеры