Основные понятия теории графов - В.Н. Бурков, Д.А. Новиков ЭЛЕМЕНТЫ ТЕОРИИ ГРАФОВ


Добавил:DMT
Дата создания:4 мая 2008, 0:30
Дата обновления:4 мая 2008, 0:31
Просмотров:39185 последний ---
Комментариев: 0

В.Н. Бурков, Д.А. Новиков

ЭЛЕМЕНТЫ ТЕОРИИ ГРАФОВ

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

Задача настоящего материала заключается в том, чтобы, сле­ дуя, в основном [8], изложить основные понятия и результаты теории графов, необходимые для постановки и решения задач управления организационными системами.

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

1. Основные понятия теории графов

Граф - система, которая интуитивно может быть рассмотрена как множество кружков и множество соединяющих их линий {геометрический способ задания графа - см. рисунок 1). Кружки называются вершинами графа, линии со стрелками - дугами, без стрелок -ребрами. Граф, в котором направление линий не выделя­ ется (все линии являются ребрами), называется неориентирован­ным; граф, в котором направление линий принципиально (линии являются дугами) называется ориентированным.

Теория графов может рассматриваться как раздел дискретной математики (точнее - теории множеств), и формальное определе-

1 Начало теории графов датируют 1736 г ., когда Л. Эйлер решил популярную в то время «задачу о кенигсбергских мостах». Термин «граф» впервые был введен спустя 200 лет (в 1936 г .) Д. Кенигом.

ние графа таково: задано конечное множество X , состоящее из n элементов (X = {1, 2,..., n}), называемых вершинами графа, и подмножество V декартова произведения X хХ, то есть VcX 2 , называемое множеством дуг, тогда ориентированным графом G называется совокупность ( X , V ) (неориентированным графом назы­вается совокупность множества X и множества неупорядоченных пар элементов, каждый из которых принадлежит множеству X ). Дугу между вершинами i и j , i , j еХ, будем обозначать ( i , j ). Число дуг графа будем обозначать m ( V = ( v 1, v 2,..., v m )).

Язык графов оказывается удобным для описания многих фи­зических, технических, экономических, биологических, социаль­ ных и других систем.

Приведем ряд примеров приложений теории графов.

•  «Транспортные» задачи, в которых вершинами графа явля­
ются пункты, а ребрами - дороги (автомобильные, железные и др.)
и/или другие транспортные (например, авиационные) маршруты.
Другой пример - сети снабжения (энергоснабжения, газоснабже­
ния, снабжения товарами и т.д.), в которых вершинами являются
пункты производства и потребления, а ребрами - возможные
маршруты перемещения (линии электропередач, газопроводы,
дороги и т.д.). Соответствующий класс задач оптимизации потоков
грузов, размещения пунктов производства и потребления и т.д.,
иногда называется задачами обеспечения или задачами о размеще­
нии.
Их подклассом являются задачи о грузоперевозках [7, 12].

•  «Технологические задачи», в которых вершины отражают
производственные элементы (заводы, цеха, станки и т.д.), а дуги -


потоки сырья, материалов и продукции между ними, заключаются в определении оптимальной загрузки производственных элементов и обеспечивающих эту загрузку потоков [7, 12].

•  Обменные схемы, являющиеся моделями таких явлений как
бартер, взаимозачеты и т.д. Вершины графа при этом описывают
участников обменной схемы (цепочки), а дуги - потоки матери­
альных и финансовых ресурсов между ними. Задача заключается в
определении цепочки обменов, оптимальной с точки зрения, на­
пример, организатора обмена и согласованной с интересами участ­
ников цепочки и существующими ограничениями [6, 9, 17].

•  Управление проектами^. С точки зрения теории графов про­
ект - совокупность операций и зависимостей между ними {сетевой
график -
см. ниже). Хрестоматийным примером является проект
строительства некоторого объекта. Совокупность моделей и мето­
дов, использующих язык и результаты теории графов и ориентиро­
ванных на решение задач управления проектами, получила назва­
ние календарно-сетевого планирования и управления (КСПУ)
[7, 10]. В рамках КСПУ решаются задачи определения последова­
тельности выполнения операций и распределения ресурсов между
ними, оптимальных с точки зрения тех или иных критериев (вре­
мени выполнения проекта, затрат, риска и др.).

•  Модели коллективов и групп, используемые в социологии,
основываются на представлении людей или их групп в виде вер­
шин, а отношений между ними (например, отношений знакомства,
доверия, симпатии и т.д.) - в виде ребер или дуг. В рамках подоб­
ного описания решаются задачи исследования структуры социаль­
ных групп, их сравнения, определения агрегированных показате­
лей, отражающих степень напряженности, согласованности
взаимодействия и др.

•  Модели организационных структур, в которых вершинами
являются элементы организационной системы, а ребрами или
дугами - связи (информационные, управляющие, технологические
и др.) между ними [13, 18].

Управление проектами - раздел теории управления, изучающий методы и механизмы управления изменениями (проектом называется целенаправленное изменение некоторой системы, осуществляемое в рамках ограничений на время и используемые ресурсы; характерной чертой любого проекта является его уни­ кальность, то есть нерегулярность соответствующих изменений).


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

Подграфом называется часть графа, образованная подмноже­ ством вершин вместе со всеми ребрами (дугами), соединяющими вершины из этого множества. Если из графа удалить часть ребер (дуг), то получим частичный граф.

Две вершины называются смежными, если они соединены ребром (дугой). Смежные вершины называются граничными вер­ шинами соответствующего ребра (дуги), а это ребро (дуга) - инци­ дентным соответствующим вершинам.

Путем называется последовательность дуг (в ориентирован­ном графе), такая, что конец одной дуги является началом другой дуги. Простой путь - путь, в котором ни одна дуга не встречается дважды. Элементарный путь - путь, в котором ни одна вершина не встречается дважды. Контур - путь, у которого конечная вер­ шина совпадает с начальной вершиной. Длиной пути (контура) называется число дуг пути (или сумма длин его дуг, если послед­ ние заданы).

Граф, для которого из следует называется

симметрическим. Если из следует, что то соот-

ветствующий граф называется антисимметрическим.

Цепью называется множество ребер (в неориентированном графе), которые можно расположить так, что конец (в этом распо­ложении) одного ребра является началом другого. Другое опреде­ление: цепь - последовательность смежных вершин. Замкнутая цепь называется циклом. По аналогии с простым и элементарным путем, можно определить соответственно простые и элементар­ные цепь и цикл. Любой элементарный цикл является простым, обратное утверждение в общем случае неверно. Элементарная цепь (цикл, путь, контур), проходящая через все вершины графа называ­ ется гамильтоновой цепью (соответственно - циклом, путем, кон­ туром). Простая цепь (цикл, путь, контур), содержащая все ребра (дуги) графа называется эйлеровой цепью (соответственно - цик­ лом, путем, контуром).

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


ных графов, если любые две вершины графа можно соединить путем, то граф называется сильно связным. Известно [7], что: связность графа не может быть больше, чем [2m /n], где [x] - целая часть числа x; существуют графы с n вершинами и m ребрами, имеющие связность [2m /n]; в сильно связном графе через любые две вершины проходит контур.

Связный граф, в котором существует эйлеров цикл, называет­ ся эйлеровым графом.

В неориентированном графе степенью вершины i называется число di инцидентных ей ребер. Очевидно, dj < n - l , i eX . Граф, степени всех вершин которого равны n - 1, называется полным. Граф, все степени вершин которого равны, называется однород­ ным.

Вершина, для которой не существует инцидентных ей ребер ( di = 0) называется изолированной. Вершина, для которой сущест­вует только одно инцидентное ей ребро (di = 1) называется вися­ чей.

Известно [7], что: (данное выражение называется

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

Связный граф является эйлеровым тогда и только тогда, когда степени всех его вершин четны (теорема Эйлера). Обозначим щ — число вершин, имеющих степень k, k = 0, 1, 2,... . Известно [7, 15],


что:

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

нее вершин) и полустепень захода d [ (число входящих в нее

для эйлерова графа имеет место: d * = d i ,

вершин). В дальнейшем, если не оговорено особо, будем рассмат­ ривать графы без петель, то есть без дуг, у которых начальная и конечная вершины совпадают. Известно [7, 15], что:


эйлеров граф является объединением контуров, попарно не имеющих общих ребер.

Определим матрицу смежности графа как квадратную мат­ рицу n хп, элемент a i j которой равен единице, если и нулю, если Для неориентированного графа матрица смежности всегда симметрическая.

Определим матрицу инциденций для ребер графа как прямо­ угольную матрицу n х m, элемент Гц которой равен единице, если

вершина i инцидентна ребру j , и нулю в противном случае,

Аналогично определяется матрица инциденций для дуг графа - как прямоугольная матрицу m хп, элемент Гц которой равен плюс единице, если дуга Uj исходит из вершины i , минус единице, если дуга Ц заходит в вершину i , и нулю в остальных

случаях,

Деревом называется связный граф без простых циклов, имею­щий не менее двух вершин. Для дерева m = n -1, а число висячих

вершин равно . Легко показать, что в дереве

любые две вершины связаны единственной цепью.

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

Плоским (планарным) называется граф, который можно изо­ бразить на плоскости так, что различным вершинам соответствуют различные кружки и никакие два ребра не имеют общих точек, отличных от их границ (не пересекаются). Для плоского графа существует понятие грани - части плоскости, ограниченной ребра­ ми и не содержащей внутри себя ни вершин, ни ребер. Для просто­ ты определения грани в дальнейшем в основном будем рассматри­ вать графы без висячих вершин. Например, дерево имеет всего одну внешнюю грань - всю плоскость. Степенью грани называется число ее граничных ребер (висячие ребра считаются дважды). Обозначим/? - число граней плоского графа, pk - число его граней, имеющих степень k, q i - степень г-ой грани. Можно показать, что

имеет место - формула


Эйлера [7, 15]. Данные выражения являются необходимыми усло­ виями существования плоских графов с заданными наборами чисел

Любому связному плоскому графу G можно поставить в соот­ветствие двойственный ему связный плоский граф G * , определяе­мый следующим образом: каждой грани графа G соответствует вершина графа G *, каждому ребру V графа G , являющемуся гра­ничным для граней z 1 и z 2 , соответствует ребро V * графа G *, соеди­няющее соответствующие граням z 1 и z 2 вершины. Понятие двой­ ственного графа тесно связано с понятием двойственности в линейном программировании [7].

up