Деревья, остовы, разрезы

Кафедра «Математика и математические методы в экономике»

А.Л. Пирозерский

Л.П. Пирозерская

МАТЕМАТИКА

Основы ДИСКРЕТНОЙ МАТЕМАТИКИ

Методические указания по изучению курса

Санкт-Петербург

Одобрены на заседании кафедры «Математика и математические методы в экономике», протокол №10 от 07.05.2002 г.

Утверждены Методическим Советом ИЭУПС, протокол №24 от 28.05.2002 г.

Математика. Основы дискретной математики.Методические указания по изучению курса. – СПб.: Изд-во СПбГАСЭ, 2004. – 39 с.

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

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

Составители: канд. физ.-мат. наук, доц. А.Л. Пирозерский;

ст. преп. Л.П. Пирозерская

Рецензент: ст. преп. И.Ю. Попова

Ó Санкт-Петербургская государственная академия сервиса и экономики

2004 г.

Содержание

Основные понятия и определения.. 4

Деревья, остовы, разрезы... 5

Ориентированные графы... 7

Уравнения и графы... 9

§5. Правила упрощения орграфов
для систем уравнений.. 11

Построение нормализованного графа.. 16

§7. Задача о кратчайшем пути на графе.
Алгоритм Дейкстры... 21

§8. Сетевое планирование.. 25

Задачи для самостоятельной работы... 35

Литература.. 39

Основные понятия и определения

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

Деревья, остовы, разрезы - student2.ru Рис. 1. Деревья, остовы, разрезы - student2.ru Рис. 2.

Ребра, имеющие одинаковые концевые вершины, называются параллельными (e2. e3 на рис.1). Ребро, концевые вершины которого совпадают, называется петлей (e7 на рис.1). Вершина и ребро называются инцидентными друг другу, если вершина является для этого ребра концевой точкой. Две вершины, являющиеся концевыми для некоторого ребра, называются смежными вершинами. Два ребра, инцидентные одной и той же вершине, называются смежными ребрами. Например, на рис. 1, вершина v3 и ребро e6 инцидентны друг другу, v1 и v2 – смежные вершины, e5 и e2 – смежные ребра.

Граф называется полным, если любые две его различные вершины соединены ребром, и он не содержит параллельных рёбер.

Маршрутом в графе называется последовательность ребер, ведущая от некоторой начальной вершины vi в конечную вершину vj, в которой каждые два соседних ребра имеют общую вершину. Маршрут называется путем, если все составляющие его ребра различны. Например, в графе, изображенном на рис. 1, последовательность ребер (e1, e4, e3, e2, e6, e7) образует путь, ведущий от вершины v1 к вершине v5. Циклом называется путь, начальная и конечная вершины которого совпадают. На рис. 1 ребра (e1, e4, e2) образуют цикл. Путь (цикл) называется простым, если он не проходит ни через одну вершину более одного раза. Длиной пути (цикла) называется число содержащихся в нем рёбер.

Граф называется связным, если для любых двух его вершин существует путь, их соединяющий. В противном случае граф называется несвязным. Любой несвязный граф Гявляется совокупностью связных графов, обладающих тем свойством, что никакая вершина одного из них не связана путем ни с какой вершиной другого. Каждый из таких графов называется компонентой графа Г. Граф, изображенный на рис. 1, является связным, а на рис. 2 – несвязный и состоит из 2 компонент.

Рассмотрим граф Г=(V,E) с множеством вершин V и множеством ребер E. Граф Г'=(V', E') называется подграфом графа Г, если V' и E' являются подмножествами V и E, причем ребро содержится в E' только в том случае, если его концевые вершины содержатся в V'.

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

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

Деревья, остовы, разрезы

Деревом называется связный граф, не содержащий циклов. Граф, не имеющий циклов и состоящий из k компонент, называется лесом из k деревьев. Можно показать, что граф Гс n вершинами является деревом тогда и только тогда, когда он связен ичисло егоребер равно (n—1).

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

Деревья, остовы, разрезы - student2.ru

Если остов выбран, то составляющие его рёбра называются ветвями, а рёбра, введение которых приводит к образованию замкнутых контуров, называются хордами. Количество хорд определяется по формуле Деревья, остовы, разрезы - student2.ru , где Деревья, остовы, разрезы - student2.ru - количество хорд, Деревья, остовы, разрезы - student2.ru - количество рёбер, Деревья, остовы, разрезы - student2.ru - количество вершин. Для приведенных выше остовов имеется по три хорды: (e1, e3, e7), (e2, e3, e7) и (e2, e4, e7), соответственно. Число хорд графа называется дефицитом графа иличислом Бетти. Число Бетти равно числу рёбер графа, которые надо удалить из него, чтобы получить дерево.

Многие важные задачи, возникающие, например, при изучении потоков в сетях (см. §7), приводят к понятию разреза. Перед тем, как дать его формальное определение, введем более общее понятие. Пусть Г=(V, Е) – связный граф и Деревья, остовы, разрезы - student2.ru – некоторое подмножество его рёбер. При этом F называется разделяющим множеством тогда и только тогда, когда подграф Г'=(V, Е-F) несвязен. Здесь через Е-F обозначено множество ребер, которые принадлежат Е, но не принадлежат F. Разделяющие множества всегда существуют (если граф Г имеет, по крайней мере, две вершины), так как всегда можно положить F=E.

В общем случае, если задан связный граф Г=(V, Е),и множество его вершин разбито на два непустых подмножества W и W', то множество ребер, соединяющих W и W', называется разрезом. Для любого W это множество ребер будет непусто в силу связности графа Г, и следовательно, разрез определен.

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

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

Деревья, остовы, разрезы - student2.ru

Рис. 3.

На рис. 3 дуги (e1, e4, e5) образуют цепь, а дуги (e1, e2, e5) – путь. Последовательность дуг (e1, e2, e3) составляет цикл, а последовательность (e1, e2, e4) не является циклом.

Каждая дуга считается положительно инцидентной для своей конечной вершины и отрицательно инцидентной для начальной. Число дуг, положительно инцидентных вершине v, называется положительной степенью vи обозначается δ+(v). Аналогично определяется отрицательная степень δ(v). Например, на рис. 3 ребро e3 положительно инцидентно вершине v1,рёбра e1, e4 – отрицательно, следовательно, δ+(v)=1, δ(v)=2.

При решении задач, связанных с графами, на компьютере, графическое задание орграфа оказывается неудобным. Вместо него используются так называемые матрицы инцидентности, которые определяются следующим образом. Пусть некоторый граф Г имеет m вершин v1… vmи n рёбер e1… en. Матрица инцидентности будет состоять из m строк и n столбцов, каждая строка соответствует вершине, столбец – ребру. Элемент aij, соответствующий вершине vi и ребру ej, равен +1, если вершина является начальной для ребра, -1 – если конечной, 2 – если и то и другое (т.е. если ej – петля в вершине vi), 0 –в остальных случаях. Таким образом, в каждом столбце имеется один или два отличных от нуля элемента. Например, для графа, изображенного на рис. 3, матрица инцидентности имеет вид:

    e1 e2 e3 e4 e5  
v1 Деревья, остовы, разрезы - student2.ru -1 Деревья, остовы, разрезы - student2.ru
v2 -1
v3 -1 -1
v4 -1

Матрицей инцидентности можно задавать и неориентированный граф, в этом случае для каждого ребра обеим концевым вершинам ставится в соответствие 1 , остальным – 0.

При использовании терминов «дерево», «лес», «разделяющее множество», «разрез» без специальной оговорки считается, что направления дуг не учитываются и рассматривается соответствующий неориентированный граф. Ориентированным деревом, растущим из корня v0 , называется ориентированный граф, если: (1) он образует дерево в неориентированном смысле, и (2) единственная цепь между v0 и любой другой вершиной w является путем из v0 в w. Очевидно, что любое дерево может иметь не более одного корня, и, вообще говоря, деревья орграфа могут быть неориентированными.

Аналогичным образом вводится понятие ориентированного покрывающего дерева. Например, для графа на рис. 3 единственное ориентированное покрывающее дерево имеет следующий вид:

Деревья, остовы, разрезы - student2.ru (корнем является вершина v3 )

Сетью называется связный ориентированный граф G без петель, каждой дуге ej которого поставлено в соответствие некоторое число Деревья, остовы, разрезы - student2.ru (или несколько чисел), т.е. на множестве ребер орграфа задана некоторая числовая функция Деревья, остовы, разрезы - student2.ru , которая обычно считается неотрицательной. Число Деревья, остовы, разрезы - student2.ru в зависимости от контекста называется либо длиной, либо весом, либо пропускной способностью дуги. При изображении сети Деревья, остовы, разрезы - student2.ru проставляется рядом с дугой ej. Подробно сети будут рассматриваться ниже в §7.

Уравнения и графы

Рассмотрим систему, состоящую из нескольких узлов, каждому из которых соответствует некоторый узловой сигнал (воздействие) Деревья, остовы, разрезы - student2.ru . Узлы связаны направленными линиями, по которым они могут принимать или передавать сигналы другим узлам. Каждая линия характеризуется величиной, которая называется передачей,иопределяется как отношение сигнала на выходе линии к сигналу на ее входе. Узел называется зависимым, если имеет одну или несколько входящих линий. Узловой сигнал предполагается равным сумме входных сигналов. Наличие выходящихлиний из узла Деревья, остовы, разрезы - student2.ru не влияет на сигнал этого узла Деревья, остовы, разрезы - student2.ru (они влияют на сигналы других узлов).

Такую систему можно представить в виде некоторого орграфа (сети), в котором узлам системы соответствуют вершины, линиям связи – дуги, направление которых соответствует направлению передачи сигнала. Вершины удобно обозначать их узловыми сигналами Деревья, остовы, разрезы - student2.ru , дуги – парами чисел Деревья, остовы, разрезы - student2.ru , где Деревья, остовы, разрезы - student2.ru – номер узла, из которого выходит данная линия, Деревья, остовы, разрезы - student2.ru – в который входит. Передача дуги Деревья, остовы, разрезы - student2.ru обозначается Деревья, остовы, разрезы - student2.ru . Например:

Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru

Первому из этих орграфов соответствует простейшее уравнение Деревья, остовы, разрезы - student2.ru , второму – система уравнений Деревья, остовы, разрезы - student2.ru

Рассмотрим систему трех уравнений: Деревья, остовы, разрезы - student2.ru

Ее граф имеет вид:

Деревья, остовы, разрезы - student2.ru

Здесь два контура обратной связи: петля Деревья, остовы, разрезы - student2.ru и цикл ( Деревья, остовы, разрезы - student2.ru , Деревья, остовы, разрезы - student2.ru ).

Существует три типа вершин:

1) источники – вершины, которые имеют только выходящие дуги;

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

3) стоки – вершины, имеющие только входящие дуги.

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

Например, рассмотрим граф, показанный на рис. 4:

Деревья, остовы, разрезы - student2.ru Рис. 4. Деревья, остовы, разрезы - student2.ru Рис. 5.

Он выражает следующие уравнения: Деревья, остовы, разрезы - student2.ru .

Так как имеются лишь один источник и один сток, которые связаны только прямыми путями (т.е. такими, вдоль которых номера вершин возрастают), то можно построить простой граф, задающий Деревья, остовы, разрезы - student2.ru как функцию Деревья, остовы, разрезы - student2.ru . Такой упрощенный граф (см. рис. 5) называется приведенным относительно исходного графа.

Искомую передачу легко определить, выразив в уравнениях Деревья, остовы, разрезы - student2.ru и Деревья, остовы, разрезы - student2.ru через Деревья, остовы, разрезы - student2.ru : Деревья, остовы, разрезы - student2.ru , откуда Деревья, остовы, разрезы - student2.ru .

§5. Правила упрощения орграфов
для систем уравнений

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

Рассмотрим основные правила упрощения орграфов.

1. Передача последовательно соединенных рёбер равна произведению передач этих рёбер (рис.6). Действительно, Деревья, остовы, разрезы - student2.ru , Деревья, остовы, разрезы - student2.ru , откуда Деревья, остовы, разрезы - student2.ru .

2. Передача двух параллельных одинаково направленных рёбер равна сумме передач этих рёбер (рис.7).

Деревья, остовы, разрезы - student2.ru => Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru => Деревья, остовы, разрезы - student2.ru
Рис. 6. Рис. 7.

3. Устранение простой вершины(не входящей в контур обратной связи).

Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru
Рис. 8. Рис. 9.

Действительно, Деревья, остовы, разрезы - student2.ru , Деревья, остовы, разрезы - student2.ru , откуда Деревья, остовы, разрезы - student2.ru (рис. 8). Аналогично, для рис. 9, находим: Деревья, остовы, разрезы - student2.ru , Деревья, остовы, разрезы - student2.ru , Деревья, остовы, разрезы - student2.ru , откуда Деревья, остовы, разрезы - student2.ru , Деревья, остовы, разрезы - student2.ru .

4. Устранение контура на пути (рис. 10).

Имеем: Деревья, остовы, разрезы - student2.ru , Деревья, остовы, разрезы - student2.ru , следовательно, Деревья, остовы, разрезы - student2.ru .

Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru
Рис. 10. Рис. 11.

5. Исключение петли, когда к узлу подходит и из него отходит по одной ветви (рис. 11).

Очевидно, Деревья, остовы, разрезы - student2.ru , Деревья, остовы, разрезы - student2.ru . Из первого равенства Деревья, остовы, разрезы - student2.ru , тогда Деревья, остовы, разрезы - student2.ru (предполагается, что Деревья, остовы, разрезы - student2.ru ).

6. Исключение петли, когда к узлу подходят и из него выходят несколько рёбер.

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

Деревья, остовы, разрезы - student2.ru

Для первого графа: Деревья, остовы, разрезы - student2.ru или Деревья, остовы, разрезы - student2.ru , откуда

Деревья, остовы, разрезы - student2.ru и Деревья, остовы, разрезы - student2.ru . Для второго графа: Деревья, остовы, разрезы - student2.ru , Деревья, остовы, разрезы - student2.ru , Деревья, остовы, разрезы - student2.ru и

Деревья, остовы, разрезы - student2.ru . Таким образом, при исключении петли передачи всех входящих рёбер умножаются на Деревья, остовы, разрезы - student2.ru , а исходящие ветви остаются без изменения.

7. Замена двух и большего числа петель одной петлей.

Деревья, остовы, разрезы - student2.ru

8. Удлинение (растяжение) вершину.

В некоторых случаях при преобразованиях графов оказывается полезным «удлинить» вершину. Пусть, например, надо удлинить вершину 2 графа, приведенного на рис. 12:

Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru
Рис. 12. Рис. 13.

Для этого:

1) вершину 2 подразделяют на две: на старую вершину 2, от которой отходят те же ветви, что и в первоначальном графе, и на новую вершину Деревья, остовы, разрезы - student2.ru , к которому подходят те же ветви, что подходили к вершине 2 в исходном графе;

2) узлы 2 и Деревья, остовы, разрезы - student2.ru соединяют ребром, передача которого равна 1.

В результате получим граф, изображенный на рис. 13. Справедливость преобразования проверить самостоятельно.

9. Инверсия пути.

Рассмотрим уравнение: Деревья, остовы, разрезы - student2.ru . Соответствующий ему граф показан на рис. 14. Здесь Деревья, остовы, разрезы - student2.ru – зависимая переменная. Можно разрешить это уравнение относительно переменной Деревья, остовы, разрезы - student2.ru или Деревья, остовы, разрезы - student2.ru . Например, Деревья, остовы, разрезы - student2.ru . Ему соответствует граф (см. рис. 15), в котором осуществлена инверсия пути по сравнению с исходным графом.

Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru
Рис. 14. Рис. 15.

Рассмотрим несколько примеров.

Пример 1. Построить граф по заданной системе уравнений Деревья, остовы, разрезы - student2.ru ; исключить вершину Деревья, остовы, разрезы - student2.ru и написать соответствующую систему уравнений.

Данной системе уравнений соответствует граф, показанный на рис. 16.

Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru
Рис. 16. Рис. 17.

После исключения узла Деревья, остовы, разрезы - student2.ru получим граф, изображенный на рис. 17. Ему соответствует система уравнений Деревья, остовы, разрезы - student2.ru .

Пример 2. Исключить петлю и упростить граф, изображенный на рис. 18.

Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru
Рис. 18. Рис. 19.

Сначала исключим петлю, применив правило 5 (рис. 19). Затем, в соответствии с правилом 1, исключим x3 (рис. 20) и применим правило 2 (рис. 21).

Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru
Рис. 20. Рис. 21.

Таким образом, Деревья, остовы, разрезы - student2.ru .

Пример 3. Исключить петлю и упростить граф, изображенный на рисунке:

Деревья, остовы, разрезы - student2.ru

Применим правило 1 (рис. 22), затем правила 5 и 1 (рис. 23).

Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru
Рис. 22. Рис. 23.

Таким образом, Деревья, остовы, разрезы - student2.ru .

Пример 4. Упростить граф, изображенный на рисунке:

Деревья, остовы, разрезы - student2.ru

Первый способ: Второй способ:
Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru
Окончательно получим: Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru .
       

Пример 5. Упростить граф, изображенный на рисунке:

Деревья, остовы, разрезы - student2.ru

Последовательные преобразования графа показаны на рис. 24 – рис. 26.

Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru
Рис. 24. Рис. 25.
Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru .
Рис. 26.

Пример 6. Дана система уравнений Деревья, остовы, разрезы - student2.ru . Построить ее полный граф и упрощенный граф, в котором переменная Деревья, остовы, разрезы - student2.ru выражена через Деревья, остовы, разрезы - student2.ru .

Полный граф системы показан на рис. 27. Преобразовав его, получим упрощенный граф (рис. 28).

Деревья, остовы, разрезы - student2.ru Деревья, остовы, разрезы - student2.ru
Рис. 27. Рис. 28.

Таким образом, Деревья, остовы, разрезы - student2.ru .

Наши рекомендации