Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii-DM-Logika-Grafy.pdf
Скачиваний:
108
Добавлен:
30.05.2015
Размер:
1.71 Mб
Скачать

245

Глава 8

Цикломатика графов

8.1 Цикломатическое число

Важной числовой характеристикой графа G = (X; U; P ), не зависящей от ориентации и инвариантной относительно изоморфизма является цикломатическое число ¸(G), которое определяется следующим образом:

¸(G) = m(G) ¡ n(G) + ·(G);

где n(G) = n = jXj – число вершин; m(G) = m = jUj – число ребер; ·(G) = · – число компонент связности графа G:

Назовем ребро цикловым, если оно содержится хотя бы в одном цикле; в противном случае назовем его перешейком.

Лемма 3 Пусть G0 = (X; U n u; P ) – cуграф, полученный из G уда-

лением ребра u. Тогда

8

< ·(G); если u – цикловое ребро, ·(G0) = : ·(G) + 1; если u – перешеек.

Д о к а з а т е л ь с т в о . 1. Пусть ребро u соединяет вершины x; y и входит в некоторый цикл

C = x0 u1 x1 : : : x u y : : : x1 ul x0

Если удалить ребро u, то можно построить цепь

x : : : x1 u1 x0 ul x1 : : : y;

соединяющую те же вершины x и y и не содержащую u. Следовательно, удаление u не увеличило числа компонент, и граф G0 связен, то есть ·(G0) = ·(G):

246 Глава 8. Цикломатика графов

2. Пусть ребро u не входит ни в какой цикл графа G: Тогда очевидно, при удалении ребра u из любой цепи, соединяющей вершины x; y; в графе G не найдется ни одной цепи, соединяющей эти же вершины и ·(G0) = ·(G) + 1: £

Так как n(G0) = n(G); m(G0) = m(G) ¡ 1; получим

8

< ¸(G); если u – перешеек,

¸(G0) = : ¸(G) + 1; если u – цикловое ребро.

Теорема 8.1

1: ¸(G) ¸ 0:

2: ¸(G) = 0 тогда и только тогда, когда граф G не содержит циклов.

Д о к а з а т е л ь с т в о . 1. Пусть граф содержит циклы, по крайней мере одно цикловое ребро. Удалив это ребро, мы уменьшим ¸ на единицу. Если в оставшемся суграфе еще есть циклы, то снова удалим цикловое ребро и т.д. При этом · остается без изменения. В конце концов придем к графу без циклов G?, у которого

¸(G?) < ¸(G): Отсюда ¸(G) > 0:

Пусть теперь в графе нет циклов. Тогда последовательное удаление ребер, не изменяя ¸, превратит граф в пустой (безреберный) En, для которого m = 0, и n = ·; откуда

¸ = m ¡ n + · = 0 ¡ n + n = 0:

Таким образом, ¸(G) ¸ 0:

2. В одну сторону равенство уже доказано (если в графе нет циклов, то ¸(G) = 0).

Пусть теперь ¸(G) = 0: Покажем, что G не содержит циклов ( ¸(G) = 0 – неотрицательно).

При удалении ребра ¸ может только уменьшиться, но не более чем до нуля:

0 = m ¡ n + · или · = n ¡ m:

При удалении любого ребра будет

¸0 = 0; m0 = m ¡ 1; n0 = n; ·0 = · + 1;

то есть это любое ребро – перешеек, что и означает, что в графе нет циклов. £

Следствие. Если ¸(G) > 0; то всякий суграф, полученный из G удалением менее ¸ ребер, содержит циклы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]