Опубликован: 21.08.2007 | Уровень: специалист | Доступ: свободно | ВУЗ: Тверской государственный университет
Лекция 9:

Графы: представления, достижимость и связность

< Лекция 8 || Лекция 9: 1234 || Лекция 10 >
Аннотация: Ориентированные и неориентированные графы. Представление графа с помощью матрицы смежности, матрицы инцидентности и списов смежности. Граф достижимости (транзитивного замыкания). Отношение взаимной достижимости, компоненты сильной связности и базы ориентированного графа
Ключевые слова: вершина графа, ребро графа, граф, путь, ПО, отношение, достижимость, замыкание, компоненты сильной связности ориентированного графа, остовное дерево, поиск в глубину, поиск, Ориентированный граф, множество вершин, подмножество, множества, бинарным отношением, Неориентированный граф, инцидентность, Полустепень исхода, полустепень захода, информация, изоморфизм графов, цикл, длина, представление, матрица смежности, матрица инцидентности, списки смежности, смежность, списковая структура, рефлексивность, транзитивное замыкание, отношение эквивалентности, класс эквивалентности, связная компонента неориентированного графа, транзитивность, матрица, Единичная матрица, вычисление, равенство, значение, сильная связность, prime, отношение частичного порядка, антирефлексивность, антисимметричность, компонент, сеть, ресурс, интерпретация, связная компонента неориентированного графа

Основные понятия

Мы часто сталкиваемся с задачами, в условиях которых заданы некоторые объекты и между некоторыми их парами имеются определенные связи. Если объекты изобразить точками ( вершинам и), а связи - линиями ( ребрами ), соединяющими соответствующие пары точек, то получится рисунок, называемый графом. Историю теории графов принято исчислять с 1736 г., когда Эйлер исследовал "задачу о кенигсберских мостах": построить в графе циклический путь, проходящий по одному разу через каждое ребро. В середине 19-го века Гамильтон заинтересовался задачей построения циклического пути, проходящего по одному разу через каждую вершину графа1Интересно, что несмотря на внешнюю похожесть задача Эйлера имеет простое эффективное решение (см. задачу 11.1), а задача Гамильтона в общем случае эффективно не решается. К тому же времени относится использование графов для анализа электрических цепей ( Кирхгоф ) и химических молекул (Кэли). Развитие современной теории графов относится к 30-м годам 20-го столетия. Они нашли многочисленные применения в электротехнике, электронике, биологии, экономике, программировании и в других областях. В этой и двух следующих лекциях мы рассмотрим основные понятия теории графов и несколько широко используемых в различных приложениях типовых задач, таких, как представления графов, отношение достижимости и транзитивное замыкание графа, компоненты сильной связности ориентированного графа и его базы, деревья и их обходы, минимальные остовные деревья, поиск в глубину и поиск кратчайших путей. Основное внимание уделено алгоритмическим процедурам, решающим указанные задачи.

Приведем основные определения.

Определение 9.1. Ориентированный граф - это пара (V, E), где V - конечное множество вершин (узлов, точек) графа, а E - некоторое множество пар вершин, т.е. подмножество множества V x V или бинарное отношение на V. Элементы E называют ребрами (дугами, стрелками, связями). Для ребра e= (u,v) \in  E вершина u называется началом e, а вершина v - концом e, говорят, что ребро e ведет из u в v.

Неориентированный граф G=(V, E) - это ориентированный граф, у которого для каждого ребра (u,v) \in  E имеется противоположное ребро (v,u) \in  E, т.е. отношение E симметрично. Такая пара (u,v), (v,u) называется неориентированным ребром. Для его задания можно использовать обозначение для множества концов: {u, v}, но чаще используется указание одной из пар в круглых скобках. Если e= (u,v) \in  E, то вершины u и v называются смежными в G, а ребро e и эти вершины называются инцидентными. Степенью вершины в неориентированном графе называется число смежных с ней вершин. Вершина степени 0 называется изолированной.

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

Заметим, что в ориентированном графе может быть ребро вида (u,u), называемое петлей, а в неориентированном петель не бывает.

Пример 9.2. На рис.9.1 приведены примеры ориентированного графа G1=(V1, E1) и не ориентированного графа G2=(V2, E2). Здесь V1={ a,b,c,d}, E1={ (a,b), (a,c), (b,b), (b,d), (d,a)}, V2={ a,b,c,d}, E2={ (a,b), (a,c), (a,d), (b,d)}. В графе G1 ребро (b,b) является петлей, полустепень исхода вершины a равна 2, а полустепень захода для нее равна 1. В графе G2 степень вершины a равна 3, вершин b и d - 2, вершины c - 1, а вершины e - 0, т.е. вершина e является изолированной,

Ориентированный граф G1 и неориентированный граф G2

Рис. 9.1. Ориентированный граф G1 и неориентированный граф G2

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

Определение 9.2. Размеченный граф - это ориентированный или неориентированный граф G= (V, E), снабженный одной или двумя функциями разметки вида: l: V -> M и c: E -> L, где M и L - множества меток вершин и ребер, соответственно.

Упорядоченный граф - это размеченный граф G= (V, E), в котором ребра, выходящие из каждой вершины v \in  V, упорядочены, т.е. помечены номерами 1, ..., kv, где kv - полустепень исхода v, т.е. k_{v} =|\{  w |  (v,w) \in  E\} |.

В качестве множества меток ребер L часто выступают числа, задающие "веса", "длины", "стоимости" ребер. Графы с такой разметкой часто называют взвешенными.

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

Определение 9.3. Изоморфизм графов. Два графа G1= (V1, E1) и G2= (V2, E2) называются изоморфными, если между их вершинам и существует взаимно однозначное соответствие \varphi : V_{1} \to  V_{2} такое, что для любой пары вершин u, v из V1 ребро (u,v) \in  E_{1} \Leftrightarrow ребро (\varphi (u), \varphi (v)) \in  E_{2}.

Для изоморфизма размеченных графов требуется также совпадение меток соответствующих вершин : l_{1}(v) = l_{2}(\varphi (v)) и/или ребер: c_{1}((u,v)) = c_{2}((\varphi (u), \varphi (v)) ).

Многие приложения графов связаны с изучением путей между их вершинами.

Определение 9.4. Путь в ориентированном или неориентированном графе - это последовательность ребер вида (v1,v2),(v2,v3), ... , (vn-1,vn). Этот путь ведет из начальной вершины v1 в конечную вершину vn и имеет длину n-1. В этом случае будем говорить, что vn достижима из v1. Будем считать, что каждая вершина достижима сама из себя путем длины 0. Путь можно также определять как соответствующую последовательность вершин: (v1,v2,v3, ... , vn-1,vn), где (v_{i},v_{i+1})\in  E при i=1,2,..., n-1.

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

Циклом в ориентированном графе называется путь, в котором начальная вершина совпадает с конечной и который содержит хотя бы одно ребро. Цикл (v1,v2, ... , v_{n-1},vn=v1) называется простым, если в нем нет одинаковых вершин, кроме первой и последней, т.е. если все вершины v2, ... , v_{n-1} различны.

В неориентированном графе путь (v1,v2, ... , vn-1,vn=v1) называется циклом, если n >= 4 и все ребра (vi, vi+1) различны.

Если в графе нет циклов, то он называется ациклическим.

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

Лемма 9.1. Если в графе G ( ориентированном или неориентированном ) имеется путь из u в v, то в нем имеется и простой путь из u в v.

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

Представления графов

Из определения графа следует, что каждый граф G=(V,E) можно задать, непосредственно перечислив его множество вершин V и множество ребер E. Однако такое представление неудобно для решения многих задач о графах. Например, чтобы проверить наличие ребра между двумя вершинам и, придется, вообще говоря, просмотреть все множество E. Хорошее представление, по крайней мере, должно позволить легко переходить от вершины к ее соседу и перечислять всех ее соседей.

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

< Лекция 8 || Лекция 9: 1234 || Лекция 10 >
Елена Алексеевская
Елена Алексеевская

Это в лекции 3.

Татьяна Дембелова
Татьяна Дембелова

Почему в вводной лекции курса Основы дискретной математики одним из свойств отношения частичного порядка упоминается антирефлексивность? Посмотрела в других источниках, там -0  рефлексивность... http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BA%D0%B0

Вадим Нижегородцев
Вадим Нижегородцев
Россия, Самара