Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Тексты лекций / Текст лекции 9

.pdf
Скачиваний:
0
Добавлен:
12.01.2024
Размер:
610.23 Кб
Скачать

Тема 9. «Циклы и мосты, цикломатическое число. Фундаментальная система циклов» Олейник Т.А., 2020

§ 3.2. Достижимость и компоненты связности, циклы и мосты, цикломатическое число

Пути, цепи, циклы на графе. Отношение достижимости (связности). Компоненты связности графа. Число связности. Связный граф. Мост. Цикломатическое число.

Базовые понятия и утверждения

 

1. Пути, цепи, циклы на графе. Путем длины на графе из вершины

в вершину

 

называется такая последовательность

 

 

 

 

 

 

 

 

...

 

 

вершин и ребер графа, в которой

=

(1 ≤ ≤ ).

 

 

Путь из

в

обозначают

и говорят, что он соединяет вершину

с вершиной

 

. Вершины

и

называют соответственно началом и концом пути.

 

 

Кроме того, каждую вершину считают путем длины нуль.

 

Если = , то путь называется замкнутым.

Заметим, что в обыкновенном графе путь полностью определяется последовательностью , ,..., своих вершин.

В произвольном пути любое ребро и любая вершина могут повторяться. Накладывая ограничения на число повторений вершин и ребер, приходим к следующим частным видам путей.

 

Цепь - это путь без повторяющихсяребер.Цепь, соединяющуювершину свершиной

 

, обозначают .

 

Цепь называется простой, если в ней нет повторяющихся вершин, за исключением,

быть может, совпадающих концевых.

Замкнутая цепь ненулевой длины называется циклом. Замкнутая простая цепь называется простым циклом.

Пример 1. Рассмотрим граф на рис. 3.14.

 

a

 

 

 

 

e2

 

             

  - путь из в ; его длина равна 4; дан-

d

 

e3

 

b

ный путь является цепью; эта цепь незамкнутая и не простая.

 

e1

 

 

e5

             

      - цикл длины 5, этот цикл не яв-

 

f

c

ляется простым;

 

t

 

 

 

e7

 

e8

        - простой цикл.

 

 

 

 

 

 

Лемма (о простой цепи). Если на графе существует путь

из   в  , то существует и простая цепь, соединяющая вер-

Рис. 3.14.

 

шины   и  .

 

Доказательство. Рассмотрим на графе путь наименьшей длины из в  . Покажем, что этот путь является простой цепью. Будем рассуждать от противного. Пусть в нашем пути имеется повторяющаяся вершина . Тогда, заменив часть пути от первого вхождения вершины до ее второго вхождения на одну вершину , мы получим более короткий путь из   в  . Получили противоречие. ■

Упражнение 3.9. На графе из упр. 3.3 найти: а) путь длины 7, не являющийся цепью; б) цепь длины 5, не являющуюся простой;

1

Тема 9. «Циклы и мосты, цикломатическое число. Фундаментальная система циклов» Олейник Т.А., 2020

в) цикл, не являющийся простым; г) простой цикл четной длины; д) простой цикл нечетной длины.

2.Достижимостьикомпонентысвязностиграфа. Намножествевершин графа вве-

дембинарноеотношениеотношениедостижимости(связности) (~),образованноевсеми теми парами вершин ( ,), для которых на графе есть путь из в . Таким образом, записьбудет означать, что на графе есть путь из в .

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

Очевидно, что если на графе есть путь из вершины   в вершину  , то есть и путь из   в  , т.е. если , то и . Значит, отношение достижимости симметрично.

Несложно показать, что отношение достижимости является также и транзитивным, т.е. если и , то и . Иными словами, из существования на графе путей из ви из в следует существование пути из в . Это действительно так, поскольку из пути

из в : 

...

 

, и пути из в :  

 

...

 

  можно «склеить» путь из в

:   ...

   

...

 .

 

 

 

 

Таким образом, отношение достижимости рефлексивно, симметрично и транзитивно, и, значит, является отношением эквивалентности.

Пусть - произвольная вершина графа = ( ,). Обозначим через [ ]~ класс эквивалентности вершины по отношению достижимости, т.е. [ ]~ = { |~ }.

Классы эквивалентности по отношению достижимости обладают рядом свойств, присущих классам эквивалентности любого бинарного отношения (см. теорему 1.1), а именно:

1)класс эквивалентности любой вершины по отношению достижимости - непустое множество;

2)классы эквивалентности любых двух вершин по отношению достижимости либо не пересекаются, либо совпадают;

3)объединение классов эквивалентности всех вершин графа по отношению достижимости совпадает с самим множеством вершин графа.

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

Определение. Подграф , порождаемый классом эквивалентности [ ]~ вершины по отношению достижимости, называют компонентой связности вершины .

Другимисловами,компонентасвязностивершины представляетсобойподграфграфа

с множеством вершин [ ]~ и множеством ребер, элементами которого являются все те ребра графа , концы которых лежат в [ ]~.

Компоненты связности графа обладают следующими свойствами:

1)каждая компонента связности - непустой подграф;

2)компоненты связности любых двух вершин либо не пересекаются, либо совпадают;

3)объединение компонент связности всех вершин графа совпадает с самим графом. Вследствиеперечисленныхсвойствсовокупностьвсехразличныхкомпонентсвязности

графа образует его дизъюнктное разбиение.

Определение. Число различных компонент связности графа называется числом связности и обозначается ( ).

2

Тема 9. «Циклы и мосты, цикломатическое число. Фундаментальная система циклов» Олейник Т.А., 2020

Если( ) = 1,тографназываетсясвязным.Инымисловами,графсвязный,если любая пара его вершин соединена путем.

Пример 2. Рассмотрим граф с вершинами ,,,,, и ребрами = , = ,

= , = (рис. 3.15).

a

e1 b

g

 

 

d

e2

3

4

 

 

c

t

 

H1

H2

H3

 

 

 

 

Рис. 3.15.

 

Перечислим классы эквивалентности вершин графа по отношению достижимости:

[ ]~ = [ ]~ = [ ]~ = { ,,}, [ ]~ = [ ]~ = { ,}, [ ]~ = { }.

Таким образом, имеем три различных класса эквивалентности и, соответственно, три

компоненты связности:

 

 

 

 

 

= ( ,

), где

= { ,,}, = { = ,

= ,

= };

 

= ( ,

), где

= { ,}, = {

= };

 

 

 

= ( ,

), где

= { }, = .

 

 

 

Упражнение 3.10. Найти все (с точностью до изоморфизма) связные обыкновенные графы с четырьмя вершинами.

Упражнение 3.11. Определить, сколько компонент связности имеет граф , задан-

ный:

 

 

 

 

 

 

 

 

а) матрицей смежности

 

 

б) матрицей инцидентностей

0

1

0

0

0

0

1

1

0

1

1

0

0

1 0 0 0 0

1 0 1 0

( ) = 0

0

0

1

1 ;

( ) = 0

0

0

1 .

0

0

1

0

1

0

0

0

1

0

0

1

1

0

0

0

0

0

 

 

 

 

 

3. Мосты и циклы графа. Ребро графа называется мостом, если ( ) < ( − ). Напомним, что − - это граф, получающийся из графа удалением ребра (концы

ребра при этом не удаляются).

Пример 3. У связного графа , представленного диаграммой на рис. 3.16, мостами являются ребра = , = , = . Действительно, при удалении каждого из этих ребер получается граф, число связности которого равно 2, что на единицу больше числа связности графа .

Если же удалить из графа ребро = (равно как и = или = ), то получится граф, у которого, так же как у графа , одна компонента связности.

На рис. 3.17 приведена диаграмма графа − , полученного из графа удалением ребра = .

3

Тема 9. «Циклы и мосты, цикломатическое число. Фундаментальная система циклов» Олейник Т.А., 2020

v1

 

v2

v4

v5

v1

 

v2

v4

v5

 

e1

e

e5

e

 

e1

e

 

e

 

 

e

6

 

 

e

6

 

 

3

 

 

 

3

 

 

 

 

4

v6

 

 

 

4

v6

 

 

v3

 

 

 

v3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 3.16.

 

 

Рис. 3.17.

 

Далее, если из графа − удалить ребро , то

v1

e1

v2

v4

v5

получится граф ( − )− (рис. 3.18), число связ-

 

e3

e

 

ности которого равно 3, т.е. и в этом случае число

 

 

 

 

 

 

4

v6

компонент связности увеличивается на единицу.

 

 

v3

 

 

 

Перечислим свойства мостов:

 

 

 

( −

) −

1. Если ребро - мост графа , то ( − ) =

 

 

 

Рис. 3.18.

( ) + 1, т.е. при удалении моста число связности

 

 

 

 

 

графа увеличивается ровно на единицу (теорема о мостах).

2. Ребро графа является мостом тогда и только тогда, когда оно не содержится ни в одном цикле (теорема о мостах и циклах).

Доказательства этих теорем приведены во второй части параграфа.

Упражнение 3.12. Сколько ребер графа, диаграмма которого изображена на нижеуказанном рисунке, являются мостами:

а) на рис. 3.1; б) на рис. 3.2; в) на рис. 3.3?

Упражнение 3.13.Привести пример связногообыкновенногографастремя ребрами: а) ни одно ребро которого не является мостом; б) все ребра которого являются мостами.

4. Цикломатическое число графа. Число ( ) = | |− | |+ ( ) называется цикло-

матическим числом графа = ( ,).

Например, цикломатическое число графа из примера 2 равно ( ) = 4 − 6+ 3 = 1, а цикломатические числа его подграфов , , равны соответственно ( ) = 3 − 3+ 1 = 1, ( ) = 1− 2 + 1 = 0, ( ) = 0 − 1 +1 = 0.

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

1)цикломатическое число любого графа неотрицательно, т.е. ( ) ≥ 0 (теорема о знаке цикломатического числа);

2)цикломатическое число любого графа равно сумме цикломатических чисел его компонент связности, т.е. если , , …, - все компоненты связности графа , то ( ) =

( ).

Доказательство этих утверждений приведено во второй части параграфа. Упражнение 3.14. Найти цикломатическое число графа:

а) ;

б) ;

в) , ;

г) представленного на рис. 3.2.

Теоретические обоснования

Теорема 3.1 (о мостах). Если ребро - мост графа , то ( − ) = ( ) + 1.

4

Тема 9. «Циклы и мосты, цикломатическое число. Фундаментальная система циклов» Олейник Т.А., 2020

Доказательство. Доказательство проведем в два этапа: на первом этапе докажем это утверждение для связных графов, на втором - рассмотрим общий случай.

1. Докажем, что если граф - связный и его ребро - мост, то ( − ) = 2. Предположим противное, т.е. что существуют граф и мост в нем такие, что ( ) =

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

В графе − вершины , и лежат в разных компонентахсвязности,следовательно,

в нем нет путей, соединяющих с и с , а это означает, что цепи

и разорвались

при удалении ребра . Последнее указывает на то, что эти цепи ребро содержали.

Возможные цепи

и

таковы:

 

 

 

 

 

1)

:

… … ;

 

с:

… … ;

 

 

 

 

2)

:

… … ;

 

:

… … .

 

 

 

Отметим, что фрагменты цепей,

спрятанные за …, не содержат ребра и, значит, не

пострадают при его удалении.

 

 

 

 

 

 

 

 

В первом случае, склеив фрагменты

и

цепей

и

, получим - путь на

графе − . Это противоречит тому, что вершины и лежат в разных компонентах связности этого графа.

 

Во втором случае, склеивинвертированный фрагмент

цепи

и фрагмент цепи

 

, получим

- путь на графе − . А это противоречит тому, что вершины и лежат

в разных компонентах связности этого графа.

 

 

 

Таким образом, наше предположение, что ( −) ≥ 3

было неверным и ( − ) =

2.

 

 

 

 

 

2. Пусть теперь граф имеет несколько компонент связности. Так как каждое ребро

содержится ровно в одной компоненте связности графа , то при удалении моста точно одна компонента связности графа, согласно пункту 1, распадется на две компоненты связности графа − . Следовательно, при удалении моста число компонент связности графа увеличится ровно на единицу. ■

Теорема 3.2 (о мостах и циклах). Ребро графа является мостом тогда и только тогда, когда оно не содержится ни в одном цикле.

Доказательство. Необходимость. Пусть на графе ребро = - мост. Покажем, что оно не содержится ни в одном цикле. Будем рассуждать от противного. Предположим,

что найдется цикл, в котором содержится мост :     … . Пусть и - произвольная пара связных вершин графа . Тогда на этом графе найдется простая цепь из в . Есть двевозможности:1)этацепьнесодержитребра ; 2)этацепьребро содержит.Впервом случае при удалении e цепь не нарушается, так что вершины и остаются связными. Во втором случае при удалении ребра цепь нарушается, но есть возможность заменить участок цепи (или ) на фрагмент (или инвертированный фрагмент) рассматриваемого цикла, в результате чего получится новый путь из в , т.е. и в этом случае при удалении ребра вершины и останутся связными. Следовательно, при удалении ребра число компонент связности графа не изменится, а это противоречит тому, что - мост.

5

Тема 9. «Циклы и мосты, цикломатическое число. Фундаментальная система циклов» Олейник Т.А., 2020

Достаточность. Пусть ребро = не содержится ни в одном цикле. Надо показать, что оно является мостом. Будем рассуждать от противного. Предположим, что - не мост. Тогда компонента связности графа, содержащая ребро , после удаления этого ребра останется связным подграфом, и, значит, в графе − найдется цепь, соединяющая и . Склеив эту цепь с ребром , получим в графе цикл, содержащий . Таким образом, пришли к противоречию с условием; следовательно, предположение было неверным и ребро - мост. ■

Теорема 3.3 (о знаке цикломатического числа). Цикломатическое число любого графа неотрицательно:

( ) = | |− | |+ ( ) ≥ 0.

Доказательство. Доказательство проведем по принципу математической индукции, взяв в качестве параметра число ребер графа.

Базис индукции. Пусть | | = 0. Тогда ( ) = | | и ( ) = 0 − | |+ | | = 0.

Индуктивный переход. Предположим, что неравенство ( ) ≥ 0 выполнено для любого графа, у которого число ребер меньше или равно . Докажем, что тогда оно справедливо и для графа = ( ,), у которого | | = + 1.

Удалим произвольное ребро графа , т.е. перейдем к графу − = ( ,\{ }). Число ребер графа − равно |\{ }| = | | − 1 = , следовательно, по предположению индук-

ции, для этого графа выполнено условие ( − ) ≥ 0, т.е. |\{ }|− | |+ ( − ) ≥ 0.

Возможны два случая:

1)удаленное ребро - не мост;

2)удаленное ребро - мост.

Впервом случае ( − ) = ( ). Следовательно, | | − 1 − | |+ ( ) ≥ 0 или | | − | |+ ( ) ≥ 1.

Во втором случае по теореме о мостах ( − ) = ( )+ 1. Следовательно, | | − 1− | |+ ( ) + 1 ≥ 0 или | | − | |+ ( ) ≥ 0.

Вобоих случаях показано, что цикломатическое число графа неотрицательно. Таким образом, справедливость индуктивного перехода обоснована. ■

 

Задачи повышенной сложности

 

 

3.11. Пусть = ( ,) - обыкновенный граф, ( ) - матрица смежности этого графа,

отвечающая некоторой нумерации вершин , , …, .

 

 

а) Доказать, что элемент, стоящий на пересечении -й строки и

-го столбца матрицы

 

равен числу путей длины из в .

 

 

б)Каквслучаесвязногообыкновенногографапоматрице ( )определитьдлинукрат-

чайшего пути между вершинами и ( ≠ )?

 

3.12.Доказать, что замкнутый путь нечетной длины содержит простой цикл. Верно ли аналогичное утверждение для замкнутых путей произвольной длины?

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

а) объединение любых двух различных цепей, соединяющих две вершины, содержит простой цикл;

б) объединение двух различных простых цепей, соединяющих две вершины, содержит простой цикл.

6

Тема 9. «Циклы и мосты, цикломатическое число. Фундаментальная система циклов» Олейник Т.А., 2020

3.14.Граф = ( ,) связен тогда и только тогда, когда для любого разбиения множества на два подмножества и существует ребро графа , соединяющее некоторую вершину из с некоторой вершиной из .

3.15.Показать, что связный граф с вершинами содержит не менее − 1 ребер.

3.16.Доказать, что в связном графе любые две простые цепи максимальной длины имеют по крайней мере одну общую вершину.

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

сти имеет не более ( )( ) ребер.

3.18. Доказать, что обыкновенный граф, имеющий более ( )( ) ребер ( ≥ 2), является связным.

3.19.Сколько существует попарно-неизоморфных обыкновенных графов с 16 вершинами и 118 ребрами?

3.20.Пусть , , …, - все компоненты связности графа . Доказать, что ( ) =

( ).

Ответы и указания к упражнениям

3.9.

а)

Например,

 

 

 

 

 

 

 

;

 

б)

например,

 

 

; в) не существует; г) например,

 

 

 

 

 

 

 

; д) не суще-

ствует. 3.10. Таких графов всего 6.

 

3.11. а) две; б) три. 3.12. а) одно; б) одно; в) четыре.

3.14. а) 3; б) 6; в) 2; г) 3.

 

 

 

 

 

 

 

 

 

 

 

§ 3.7. Фундаментальная система циклов графа

Абстрактный цикл. Обобщенный цикл. Пространство циклов. Фундаментальная система циклов (базис пространства циклов).

Базовые понятия и утверждения

Пусть - произвольный граф. На множестве циклов графа введем бинарное отношение, которое назовем отношением равенства и определим следующим условием: будем считать, что два цикла равны, если множества их ребер совпадают.

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

Пример 1. Граф , представленный диаграммой на рис. 3.72, имеет следующие абстрактные циклы:

 

= { , , },

= { , , },

 

 

 

 

 

= {

,

,

},

= { ,

,

,

},

 

e1

e6

 

 

 

= { , , , },

 

 

 

 

e3

 

 

 

 

 

 

 

= {

, ,

,

,

, }, = {

,

,

, ,

}.

 

 

e7

Обобщенным циклом будем называть абстрактный цикл или объ-

e5

 

единение непересекающихся

абстрактных

циклов.

В число

Рис. 3.72.

 

 

 

 

 

 

 

 

 

 

7

Тема 9. «Циклы и мосты, цикломатическое число. Фундаментальная система циклов» Олейник Т.А., 2020

обобщенных циклов включим также цикл без ребер; назовем его пустым циклом и обозначим символом .

На множестве всех обобщенных циклов графа введем две операции:

а) операцию сложения по модулю 2: суммой обобщенных циклов и назовем обобщенный цикл с множеством ребер

 

 

( ) ( ) (

) ( )

(здесь

и

- множества ребер обобщенных циклов

и соответственно);

б) операцию умножения на 0 и 1: 0 = ; 1 = . Например, для обобщенных циклов графа из примера 1 имеем:

= , = , = .

Множество всех обобщенных циклов графа с операциями сложения по модулю 2 и умножения на 0 и 1 образуют линейное пространство (убедиться в выполнении восьми аксиом линейного пространства несложно).

Операция естественным образом распространяется на любое конечное число обоб-

щенных циклов.

 

 

 

Линейной комбинацией обобщенных циклов , ,...,

назовем выражение

... , где {0,1}.

 

 

 

Говорят, что система обобщенных циклов , ,...,

 

зависима, если найдется набор

чисел , ,..., , не все из которых равны 0, такой, что

 

... =

. В противном случае систему обобщенных циклов ,

,...,

называют независимой.

Система обобщенных циклов , ,..., графа образует базис линейного пространства циклов, если она удовлетворяет двум условиям:

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

2)любой обобщенный цикл графа может быть представлен в виде линейной комбинации обобщенных циклов , ,..., .

Базис линейного пространства циклов называют фундаментальной системой циклов. Из курса линейной алгебры нам известно, что в линейном пространстве может быть несколько базисов, но все они состоят из одного числа векторов линейного пространства

(напомним, что это число называют размерностью линейного пространства). Представляют интерес два вопроса: 1) из скольких циклов состоит фундаментальная

система циклов произвольного графа и 2) как найти фундаментальную систему циклов графа?

Ответ напервыйвопросдает следующее утверждение: числоцикловв любойфундамен-

тальной системе циклов графа равно его цикломатическому числу.

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

1-й шаг. Находим в графе какой-либо обобщенный цикл и удаляем из него ребро(«разрываем» цикл). Получаем граф .

-й шаг. В графе , построенном на ( − 1)-м шаге, находим какой-либо обобщенный цикл и удаляем из него произвольное ребро . Получаем граф .

Если в графе циклов нет, то , ,..., - искомая фундаментальная система циклов. Если в графе обобщенные циклы остались, то повторяем -й шаг.

Пример 2. Построим фундаментальную систему циклов графа из примера 1.

1-й шаг. Возьмем цикл = { , , } и удалим из него одно ребро, пусть это будет ребро . Получим граф (рис. 3.73).

8

Тема 9. «Циклы и мосты, цикломатическое число. Фундаментальная система циклов» Олейник Т.А., 2020

2-й шаг. В графе

возьмем цикл

= { ,

,

} и удалим из него одно ребро, пусть

это будет ребро

. Получим граф

(см.

рис. 3.73).

 

3-й шаг. В графе

возьмем цикл

= { ,

,

} и удалим из него одно ребро, пусть

это будет ребро

. Получим граф

(рис. 3.73), в котором нет циклов.

 

e6

 

 

 

 

 

e

e

e3

 

 

 

e6

 

3

 

 

e3

 

 

 

 

e

 

 

 

 

 

 

7

 

 

 

 

 

 

 

e5

 

 

 

e

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 3.73.

 

 

 

Следовательно, , , - фундаментальная система циклов (или, что то же самое, базис пространства циклов) графа . Все остальные обобщенные циклы графа - линейные комбинации базисных циклов. Например, = 0 1 1 .

Заметим, что действия по алгоритму не строго детерминированы: на каждом шаге мы имели несколько вариантов выбираемого цикла и удаляемого из него ребра. Если бы наш выборбылиным,томынашлибыдругуюфундаментальнуюсистемуциклов.Однакочисло циклов в этой другой фундаментальной системе тоже было бы равно трем. Например,, , также является фундаментальной системой циклов графа .

Задачи повышенной сложности

3.37.Найти фундаментальную систему циклов следующих графов: а) графа, представленного диаграммой на рис. 3.2; б) графа , представленного диаграммой на рис. 3.6.

3.38.Подсчитать, сколько циклов входит в фундаментальную систему циклов следующих графов:

а) графа, все ребра которого мосты; б)графа,имеющего11 вершин,10реберисостоящегоизчетырехкомпонентсвязности.

3.39.Подсчитать, сколько циклов входит в фундаментальную систему циклов следующих графов:

а) ;

б) , ;

в) ;

г) , ;

д) .

 

3.40. Сколько всего обобщенных циклов имеет граф , если ( ) = 6?

9

Соседние файлы в папке Тексты лекций