Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции по МОТС / ДИСКРЕТНАЯ МАТЕМАТИКА Графы.doc
Скачиваний:
398
Добавлен:
15.02.2014
Размер:
3.38 Mб
Скачать

Глава 11 Независимость и покрытия

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

11.1. Независимые и покрывающие множества

Прежде всего введем определения и рассмотрим основные свойства независи­мых и покрывающих множеств вершин и ребер. Эти определения и свойства используются в последующих разделах.

11.1.1. Покрывающие множества вершин и ребер

Говорят, что вершина покрывает инцидентные ей ребра, а ребро покрывает ин­цидентные ему вершины.

Множество таких вершин, которые покрывают все ребра, называется вершинным покрытием. Наименьшее число вершин во всех вершинных покрытиях называ­ется числом вершинного покрытия и обозначается а0.

Пример

Для полного графа а0р) = р - 1.

Для полного двудольного графа ао(Кт,п) = min(m,n).

Для вполне несвязного графа а0р] = 0.

Для несвязного графа a0(Gi U G2) = <*o(Gi) + a0(G2).

Множество таких ребер, которые покрывают все вершины, называется реберным покрытием. Наименьшее число ребер во всех реберных покрытиях называется числом реберного покрытия и обозначается а±.

ЗАМЕЧАНИЕ

Для графа с изолированными вершинами ai не определено.

Пример

Для четного цикла ai(K2n) = n, для нечетного цикла ai(K2n+i) = n-f 1.

Для полного графа с четным числом вершин ai(K2n) = п, для полного графа с нечетным числом вершин a1(JC2n+i) = n H-1.

Для полного двудольного графа ai(Kmin) = max(m,n).

11.1.2. Независимые множества вершин и ребер

Множество вершин называется независимым, если никакие две из них не смеж­ны. Наибольшее число вершин в независимом множестве вершин называется вершинным числом независимости и обозначается (30.

Пример

Для полного графа Ро(Кр) = 1.

Для полного двудольного графа 0о(Кт>п) = max(m,n).

Для вполне несвязного графа /Зо(лр) = р.

Для несвязного графа (30(Gi U G2) = /3o(Gi) + /30(G2).

Множество ребер называется независимым, если никакие два из них не смежны. Наибольшее число ребер в независимом множестве ребер называется реберным числом независимости и обозначается /9j.

ЗАМЕЧАНИЕ -

Независимое множество ребер называется также паросочетанием.

Пример

Для четного цикла /3i(K^n) = п, для нечетного цикла f3i(K2n+i) = n-l.

Для полного графа с четным числом вершин ^(К^п} = п, для полного графа с нечетным числом вершин /^(.ft^n+i) = n — l.

3. Для полного двудольного графа (3i(Km^n) = min(m,n).

11.1.3. Связь чисел независимости и покрытий

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

ТЕОРЕМА Для любого нетривиального связного графа

«о + А> = р = ai + /3i

доказательство

Покажем, что имеют место четыре неравенства, из которых следуют два требуе­мых равенства.

«о +Р

Пусть Мо — наименьшее вершинное покрытие, то есть \М0 = а0. Рассмотрим V\M0. Тогда V\M0 — независимое множество, так как если бы в множестве V\M0 были смежные вершины, то М0 не было .бы покрытием. Имеем |V \ М0| ^ /30, следовательно,

«о + А) ^ Р '• Пусть nq — наибольшее независимое множество вершин, то есть \N0\= /30. Рассмотрим V\N0. Тогда V\NQ — вершинное покрытие, так как нет ребер, инцидентных только вершинам из N0, стало быть, любое ребро инцидентно вершине (или вершинам) из V\M0. Имеем \V \ N0 Js а0, следовательно, р = \N0\ + \V\ N0\ ^ /30 + а0.

&i+pi ^ Р '• Пусть mi — наименьшее реберное покрытие, то есть |Mi = a\. Множество mi не содержит цепей длиной больше 2. Действитель­но, если бы в mi была цепь длиной 3, то среднее ребро этой цепи можно было бы удалить из М\ и это множество все равно осталось бы покрытием. Следовательно, mi состоит из звезд. (Звездой на­зывается граф, диаметр которого не превосходит двух, D(G) < 2.) Пусть этих звезд т. Имеем |Mi| = YSiLi пг> гДе пг ~ число ребер в г-й звезде. Заметим, что звезда из щ ребер покрывает п» + 1 верши­ну. Имеем: р = Y^Li(ni + 1) = "г + Y^=i пг - то + l-^il- Возьмем по одному ребру из каждой звезды и составим из них множество X. Тогда \Х\ = т, множество X — независимое, то есть \Х\ < (3\. Следовательно, р = \Мг \ + т = \Мг + \Х\ ^ qi + /Зь

Qi + /?i ^ Р '• Пусть ni — наибольшее независимое множество ребер, то есть \Ni = fa. Построим реберное покрытие Y следующим образом. Множество ni покрывает 2\Ni\ вершин. Добавим по одному ре­бру, инцидентному непокрытым р - 2\Ni\ вершинам, таких ребер p-2\Ni\. Тогда множество У" — реберное покрытие, то есть \Y\ < ai n\Y\ = \Ni +p- 2\Ni\ = р - \Ni\. Имеем:

\ = \Y\

Р = Р -

ЗАМЕЧАНИЕ -

Условия связности и нетривиальности гарантируют, что все четыре инварианта определе­ны. Однако это условие является достаточным, но не является необходимым. Например, для графа Кп U Кп заключение теоремы остается справедливым, хотя условие не выпол­нено

ОТСТУПЛЕНИЕ

Задача отыскания экстремальных независимых и покрывающих множеств возникает во многих практических случаях. Например, пусть есть множество процессов, использующих неразделяемые ресурсы. Соединим ребрами вершины, соответствующие процессам, кото­рым требуется один и тот же ресурс. Тогда f3o будет определять количество возможных параллельных процессов.