Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДМ_Глава3_Графы.doc
Скачиваний:
19
Добавлен:
15.11.2019
Размер:
2.36 Mб
Скачать

§ 3.3. Циклы на графе

3.3.1. Цикломатическое число графа. Пространство циклов

Цикломатическим числом графа называется число

(6)

Это число обладает следующими свойствами:

  1. для любого графа

  2. если – разложение графа на компоненты связности, то

  3. – лес.

Упражнение 3.18. Найти количество компонент связности леса, имеющего 18 вершин и 10 рёбер.

Решение. Пусть – данный граф. Так как – лес, то По формуле (6) получаем: Отсюда Таким образом, имеет 8 компонент связности.

Упражнение 3.19. Сколько рёбер может быть у графа, имеющего 12 вершин и состоящего из 3 компонент связности?

Решение. Наименьшее количество рёбер можно получить из неравенства Имеем: Отсюда Ровно 9 рёбер будет у графа, все компоненты связности которого являются деревьями: например, если одна из компонент – цепь из 9 вершин, а две другие – изолированные точки.

Найдём наибольшее значение Р. Начнём с общего рассуждения. Пусть, к примеру, граф с вершинами состоит из двух не соединяющихся между собой подграфов и Если и то наибольшее число рёбер графа равно (это соответствует случаю, когда и – полные графы. Так как то наибольшее количество рёбер в равно Это выражение является квадратичной функцией от с положительным коэффициентом перед поэтому наибольшее значение эта функция будет принимать при крайних значениях т.е. когда или Аналогичный результат получится и в случае, когда граф разбивается на 3 или большее число частей. В нашем случае наибольшее число рёбер у графа будет, когда одна компонента связности – полный граф с 10 вершинами, а две другие – изолированные точки. В этом случае число рёбер равно Таким образом, мы имеем: Покажем, что любое число из этого диапазона будет числом рёбер некоторого графа. Действительно, если одна компонента связности – цепь с 10 вершинами, а две другие – изолированные точки, то Возьмём эту цепь и будем добавлять к ней по одному ребру, пока не получится полный граф. Тогда количество рёбер будет принимать все значения 9, 10, …, 45.

В этом разделе мы будем называть циклами как обычные циклы, так и объединения обычных циклов (иногда их называют “циклами” (в кавычках) или обобщёнными циклами). Сложение циклов осуществляется следующим образом: берём все рёбра, входящие в эти циклы, и удаляем общие рёбра (см. рис. 3.24).

Пусть дан граф Тогда все циклы (в широком смысле) этого графа будут образовывать линейное пространство над полем если рассматривать операцию сложения циклов и умножение на элементы поля

Определим теперь двоичную запись циклов графа. Пусть – граф и – все его рёбра. Тогда каждый цикл представляется в виде строчки из 0 и 1 длины где

Нетрудно видеть, что сложение циклов при таком кодировании будет соответствовать покомпонентному сложению строк по модулю 2. Приведём пример. Пусть дан граф, изображённый на рисунке 3.25.

Р ассмотрим его циклы Так как в графе 7 рёбер, то циклы будут записываться в виде двоичных последовательностей длины 7. Так как состоит из рёбер то в 1-й, 2-й и 3-й позициях будут стоять 1, а в остальных нули. Таким образом, Аналогично получаем: Сложим и

что соответствует правилу сложения циклов.

Рассмотрим теперь линейное пространство циклов графа Так как граф конечный, то пространство имеет конечный базис, т.е. совокупность циклов которые обладают свойствами:

1) линейно независимы;

2) любой цикл данного графа является линейной комбинацией циклов с коэффициентами 0 или 1:

где Число элементов базиса называется размерностью пространства и обозначается Оказывается, что число совпадает с цикломатическим числом графа.

Теорема. Пусть – граф и – его цикломатическое число. Тогда:

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

Для связного графа справедливо следующее утверждение.

Следствие. Если – связный граф и то в графе найдутся рёбер таких, что – дерево.

Дерево называется остовным деревом графа Остовное дерево выбирается неоднозначно. Например, в графе на рисунке 25 – остовные деревья.

Приведём алгоритм построения базиса пространства циклов графа Пусть

Если то – лес, и искомый базис – пустое множество. Пусть Тогда в есть хотя бы один непустой цикл. Обозначим его через Возьмём любое ребро из этого цикла: Удалим это ребро из графа Получим граф У него Если то – базис пространства Если то находим в графе цикл его ребро и т.д. В конце концов мы получим циклы образующие базис пространства и рёбра удовлетворяющие требуемым условиям.

Упражнение 3.20. Построить базис пространства циклов графа

Решение. Граф изображён на рисунке 5. Сделаем другой, более удобный рисунок 3.26.

У этого графа поэтому Следовательно, нам надо найти 4 базисных цикла. Проверим, что это будут циклы В двоичной записи Составим из координат этих векторов матрицу

Минор этой матрицы, составленный из элементов первых 4 столбцов, равен

поэтому строки матрицы линейно независимы. Это означает, что векторы пространства линейно независимы над полем а так как размерность пространства равна 4, то – его базис. Любой цикл является линейной комбинацией базисных. Например, если то

Упражнение 3.21. Сколько всего циклов имеет граф у которого

Решение. Пусть – пространство циклов. Тогда Таким образом, у графа имеется 5 базисных циклов Все остальные циклы – линейные комбинации базисных с коэффициентами 0 или 1. Например, Общий вид циклов такой: где Значит, всего циклов Среди них могут быть “ненастоящие” циклы, т.е. циклы, являющиеся объединениями простых циклов, и обязательно будет пустой цикл – цикл, у которого нет ни одного ребра.