NP-полнота задачи о вершинном покрытии
НЕТ ВОЙНЕ |
24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян. Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием. Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей. Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить. Антивоенный комитет России |
Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению. |
meduza.io, Популярная политика, Новая газета, zona.media, Майкл Наки. |
Содержание
Определение
Вершинным покрытием графа
называется такое множество его вершин, что у любого ребра в хотя бы одна из вершин лежит в . Размер вершинного покрытия - это число входящих в него вершин.Формулировка
Языком COVER называется множество пар NP-полной.
, где - неориентированный граф, - натуральное число. Слово принадлежит языку COVER, если ли граф содержит вершинное покрытие размера . Задача о вершинном покрытии являетсяДоказательство NP-полноты
Для доказательства NP-полноты задачи о вершинном покрытии покажем, что она является NP-трудной и принадлежит классу NP.
Задача о вершинном покрытии является NP-трудной
Для доказательства сведем по Карпу задачу о независимом множестве к нашей.
Докажем сначала, что вершинное покрытие и независимое множество являются дополнениями друг друга. Пусть в графе
выбрано независимое множество вершин . Тогда у любого ребра из хотя бы одна из вершин не лежит в , так как иначе какие-то две вершины в были бы соединены ребром. Значит дополнение - вершинное покрытие. Пусть теперь в графе выбрано вершинное покрытие . Любому ребру в инциндентна хотя бы одна вершина из , значит никакое ребро не может соединять две вершины из дополнения , поэтому дополнение - независимое множество.Пусть в графе
c вершинами необходимо найти независимое множество размера . По доказанному выше оно существует тогда и только тогда, когда в есть вершинное покрытие размера . Данное сведение можно выполнить за полиномиальное времяЗадача о вершинном покрытии принадлежит классу NP
В качестве сертификата возьмем набор из
вершин. Если в графе рёбер, то за время можно проверить, что для каждого ребра одна из инциндентных ему вершин лежит в данном наборе.