Jump to content

Крышка вершины

Пример графа, у которого есть вершинное покрытие, состоящее из двух вершин (внизу), но ни одна из которых не содержит меньшего количества вершин.

В теории графов покрытие вершин (иногда покрытие узлов ) графа это набор вершин , который включает хотя бы одну конечную точку каждого ребра графа.

В информатике проблема нахождения минимального вершинного покрытия является классической задачей оптимизации . Это NP-сложная задача , поэтому ее нельзя решить с помощью алгоритма с полиномиальным временем , если P ≠ NP . Более того, ее трудно аппроксимировать — ее нельзя аппроксимировать с точностью до коэффициента меньше 2, если гипотеза об уникальных играх верна. С другой стороны, он имеет несколько простых двухфакторных аппроксимаций. Это типичный пример NP-сложной задачи оптимизации, имеющей алгоритм аппроксимации . Ее вариант решения , проблема вершинного покрытия , была одной из 21 NP-полной задачи Карпа и, следовательно, является классической NP-полной задачей в теории сложности вычислений . Более того, проблема вершинного покрытия разрешима с фиксированным параметром и является центральной проблемой параметризованной теории сложности .

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

Проблемы покрытия вершин были обобщены на гиперграфы , см. Покрытие вершин в гиперграфах .

Определение

[ редактировать ]
Примеры вершинных покрытий
Примеры минимальных вершинных покрытий

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

Минимальное вершинное покрытие — это вершинное покрытие наименьшего возможного размера. Номер покрытия вершины — размер минимального вершинного покрытия, т.е. . На нижнем рисунке показаны примеры минимальных покрытий вершин на предыдущих графиках.

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

Характеристики

[ редактировать ]
  • Множество вершин является вершинным покрытием тогда и только тогда, когда его дополнение является независимым множеством .
  • Следовательно, количество вершин графа равно его минимальному числу вершинных покрытий плюс размер максимального независимого множества. [1]

Вычислительная задача

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

Проблема минимального вершинного покрытия — это задача оптимизации поиска наименьшего вершинного покрытия в заданном графе.

ПРИМЕР: Граф
ВЫХОД: Наименьшее число такой, что имеет вершинное покрытие размера .

Если проблема сформулирована как проблема решения , она называется проблемой вершинного покрытия :

ПРИМЕР: Граф и положительное целое число .
ВОПРОС: Есть ли иметь вершинное покрытие максимального размера ?

Задача о вершинном покрытии является NP-полной задачей: это была одна из 21 NP-полной задачи Карпа . Он часто используется в теории сложности вычислений в качестве отправной точки для доказательств NP-трудности .

формулировка ILP

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

Предположим, что каждая вершина имеет связанную с ней стоимость . (Взвешенную) задачу минимального вершинного покрытия можно сформулировать как следующую целочисленную линейную программу (ILP). [2]

минимизировать    (минимизировать общую стоимость)
при условии для всех (покрыть все ребра графа),
для всех . (каждая вершина либо находится в вершинном покрытии, либо нет)

Эта ILP принадлежит к более общему классу ILP для освещения проблем . Разрыв целостности этой ПДОДИ составляет , поэтому его релаксация (позволяющая каждой переменной находиться в интервале от 0 до 1, вместо того, чтобы требовать, чтобы переменные были только 0 или 1) дает фактор- Аппроксимационный алгоритм решения задачи минимального вершинного покрытия. Более того, релаксация линейного программирования этой ILP является полуцелой , то есть существует оптимальное решение, для которого каждая запись равно 0, 1/2 или 1. 2-приблизительное вершинное покрытие можно получить из этого дробного решения, выбрав подмножество вершин, переменные которых ненулевые.

Точная оценка

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

Вариант решения задачи вершинного покрытия является NP-полным , а это означает, что маловероятно, что существует эффективный алгоритм для ее точного решения для произвольных графов. NP-полнота может быть доказана редукцией из 3-выполнимости или, как это сделал Карп, редукцией из задачи о клике . Вершинное покрытие остается NP-полным даже в кубических графах. [3] и даже в плоских графах степени не выше 3. [4]

Для двудольных графов эквивалентность между покрытием вершин и максимальным сопоставлением, описанная теоремой Кенига, позволяет решить проблему покрытия двудольных вершин за полиномиальное время .

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

Управляемость с фиксированными параметрами

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

Алгоритм исчерпывающего поиска может решить проблему за время 2. к н О (1) , где k — размер вершинного покрытия. Таким образом, покрытие вершин является управляемым с фиксированными параметрами , и если нас интересуют только малые k , мы можем решить проблему за полиномиальное время . Один алгоритмический прием, который здесь работает, называется алгоритмом ограниченного дерева поиска , и его идея состоит в том, чтобы многократно выбирать некоторую вершину и рекурсивно разветвляться, с двумя случаями на каждом шаге: помещать либо текущую вершину, либо всех ее соседей в вершинное покрытие. Алгоритм решения вершинного покрытия, обеспечивающий наилучшую асимптотическую зависимость от параметра, выполняется во времени. . [5] Значение klam этой временной границы (оценка наибольшего значения параметра, которое можно решить за разумное время) составляет примерно 190. То есть, если не будут найдены дополнительные алгоритмические улучшения, этот алгоритм подходит только для случаев, вершина которых номер обложки 190 или меньше. При разумных предположениях теории сложности, а именно гипотезе экспоненциального времени , время работы не может быть улучшено до 2 хорошо ) , даже когда является .

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

Примерная оценка

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

Можно найти аппроксимацию с коэффициентом 2 , неоднократно помещая обе конечные точки ребра в покрытие вершин, а затем удаляя их из графа. Иначе говоря, мы находим максимальное паросочетание M с помощью жадного алгоритма и строим вершинное покрытие C , состоящее из всех концов ребер в M . На следующем рисунке максимальное паросочетание M отмечено красным, а покрытие вершин C отмечено синим.

Построенное таким образом множество C является вершинным покрытием: предположим, что ребро e не покрыто C ; тогда M ∪ { e } — паросочетание и e M , что противоречит предположению, что M максимально. Более того, если e = { u , v } ∈ M , то любое вершинное покрытие, включая оптимальное вершинное покрытие, должно содержать u или v (или оба); в противном случае ребро e не будет покрыто. То есть оптимальное покрытие содержит хотя бы одну конечную точку каждого ребра в M ; в сумме множество C не более чем в 2 раза превышает оптимальное вершинное покрытие.

Этот простой алгоритм был независимо открыт Фаникой Гаврил и Михалисом Яннакакисом . [8]

Более сложные методы показывают, что существуют алгоритмы аппроксимации с немного лучшим коэффициентом аппроксимации. Например, алгоритм аппроксимации с коэффициентом аппроксимации известно. [9] Задачу можно аппроксимировать коэффициентом аппроксимации в - плотные графы. [10]

Неприближаемость

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

Неизвестен лучший алгоритм аппроксимации с постоянным коэффициентом, чем приведенный выше. Задача о минимальном вершинном покрытии является APX-полной , то есть ее нельзя аппроксимировать сколь угодно хорошо, если только P = NP . Используя методы теоремы PCP , Динур и Сафра доказали в 2005 году, что минимальное покрытие вершин не может быть аппроксимировано с точностью до коэффициента 1,3606 для любой достаточно большой степени вершины, если только P = NP . [11] Позже этот коэффициент был улучшен до для любого . [12] Более того, если гипотеза об уникальных играх верна, то минимальное вершинное покрытие не может быть аппроксимировано ни с каким постоянным коэффициентом лучше 2. [13]

Хотя нахождение вершинного покрытия минимального размера эквивалентно нахождению независимого множества максимального размера, как описано выше, эти две проблемы не эквивалентны с точки зрения сохранения аппроксимации: проблема независимого множества не имеет аппроксимации с постоянным коэффициентом, если только P = NP .

Псевдокод

[ редактировать ]
APPROXIMATION-VERTEX-COVER(G)
C = 
E'= G.E

while E'  :
    let (u, v) be an arbitrary edge of E'
    C = C  {u, v}
    remove from E' every edge incident on either u or v

return C

[14] [15]

Приложения

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

Оптимизация вершинного покрытия служит моделью для многих реальных и теоретических задач. Например, коммерческое предприятие, заинтересованное в установке наименьшего количества камер замкнутого контура , охватывающих все коридоры (края), соединяющих все комнаты (узлы) на этаже, может смоделировать задачу как задачу минимизации вершинного покрытия. Эта проблема также использовалась для моделирования устранения повторяющихся последовательностей ДНК в приложениях синтетической биологии и метаболической инженерии . [16] [17]

См. также

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

Примечания

[ редактировать ]
  1. ^ Май 1959 года .
  2. ^ Вазирани 2003 , стр. 121–122
  3. ^ Гари, Джонсон и Стокмейер, 1974 г.
  4. ^ Гари и Джонсон 1977 ; Гари и Джонсон 1979 , стр. 190 и 195.
  5. ^ Чен, Кандж и Ся, 2006 г.
  6. ^ Демейн и др. 2005 г.
  7. ^ Флум и Гроэ (2006 , стр. 437)
  8. ^ Пападимитриу и Стейглиц 1998 , с. 432, упоминает и Гаврила, и Яннакакиса. Гари и Джонсон 1979 , с. 134, цитирует Гаврила.
  9. ^ Каракостас 2009 г.
  10. ^ Карпинский и Зеликовский 1998 г.
  11. ^ Закусочная и медицина, 2005 г.
  12. ^ Хот, Минцер и Сафра 2017 ; Динур и др. 2018 ; Хот, Минцер и Сафра 2018
  13. ^ Khot & Regev 2008
  14. ^ Кормен, Томас Х .; Лейзерсон, Чарльз Э .; Ривест, Рональд Л .; Штейн, Клиффорд (2001) [1990]. «Раздел 35.1: Проблема вершинного покрытия». Введение в алгоритмы (2-е изд.). MIT Press и McGraw-Hill. стр. 1024–1027. ISBN  0-262-03293-7 .
  15. ^ Чакрабарти, Амит (зима 2005 г.). «Алгоритмы аппроксимации: покрытие вершин» (PDF) . Информатика 105 . Дартмутский колледж . Проверено 21 февраля 2005 г.
  16. ^ Хоссейн, Аяан; Лопес, Эриберто; Халпер, Шон М.; Цетнар, Дэниел П.; Рейс, Александр К.; Стрикленд, Девин; Клавинс, Эрик; Салис, Ховард М. (13 июля 2020 г.). «Автоматическое проектирование тысяч неповторяющихся деталей для создания стабильных генетических систем» . Природная биотехнология . 38 (12): 1466–1475. дои : 10.1038/s41587-020-0584-2 . ISSN   1087-0156 . ПМИД   32661437 . S2CID   220506228 .
  17. ^ Рейс, Александр К.; Халпер, Шон М.; Везо, Грейс Э.; Цетнар, Дэниел П.; Хоссейн, Аяан; Клауэр, Филипп Р.; Салис, Ховард М. (ноябрь 2019 г.). «Одновременная репрессия нескольких бактериальных генов с использованием неповторяющихся сверхдлинных массивов sgRNA» . Природная биотехнология . 37 (11): 1294–1301. дои : 10.1038/s41587-019-0286-9 . ISSN   1546-1696 . ОСТИ   1569832 . ПМИД   31591552 . S2CID   203852115 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 56b308cc7e28e9dbe5a9620df91df4de__1716636180
URL1:https://arc.ask3.ru/arc/aa/56/de/56b308cc7e28e9dbe5a9620df91df4de.html
Заголовок, (Title) документа по адресу, URL1:
Vertex cover - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)