Рёберное покрытие

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Рёберное покрытие графа — это множество рёбер C, такое, что каждая вершина графа инцидентна по меньшей мере одному ребру из C.

Пары задач покрытия/упаковки
Задачи покрытия
Задачи упаковки

Следующий рисунок показывает рёберное покрытие двух графов.

Edge-cover.svg

Наименьшее рёберное покрытие — это рёберное покрытие наименьшего размера. Число рёбер в наименьшем рёберном покрытии графа называется числом рёберного покрытия и обозначается через (в книге Свами, Тхулалирамана — ). Следующий рисунок показывает примеры наименьших рёберных покрытий.

Minimum-edge-cover.svg

Заметим, что покрытие правого графа является не только рёберным покрытием, но и паросочетанием. Более того, это паросочетание является совершенным паросочетанием — в нём каждая вершина инцидентна в точности одному ребру паросочетания. Совершенное паросочетание (если существует) всегда является наименьшим рёберным покрытием.

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

Примеры[править | править код]

  • Если в графе нет изолированных вершин (т.е. вершин со степенью 0), то множество всех рёбер является рёберным покрытием (но не обязательно наименьшим!). Если изолированные вершины есть, рёберного покрытия в этом графе не существует.
  • Полный двудольный граф Km,n имеет число рёберного покрытия max(m, n).

Свойства[править | править код]

  • Согласно второму тождеству Галлаи, в графе без изолированных вершин общее число рёбер в наименьшем рёберном покрытии и наибольшем паросочетании равно числу вершин графа.

Алгоритмы[править | править код]

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

Minimum-edge-cover-from-maximum-matching.svg

См. также[править | править код]

Примечания[править | править код]

  1. Гарей и Джонсон (Garey, Johnson 1979), стр. 79, используют рёберное покрытие и вершинное покрытие в качестве примера пары сходных задач, одна из которых может быть решена за полиномиальное время, а другая – NP-трудна. См. также стр. 190.
  2. Lawler, 2001, с. 222–223.

Литература[править | править код]