О СНО ВНЫ Е ТИПЫ ГРАФОВ Г раф ом назы вается совокупность,состоящ ая из конечного м нож ества V точек, назы ваем ы х вершинами, и м нож ества неупорядоченны х пар различны х верш ин из V ,назы ваем ы х ребрами. М нож ество верш ин: V = { v 1 , v 2 ,… , v n } . Ребра: ( v i , v j ) или x ij , или x k ( k = 1,2 ,… , m ). X -м нож ество ребер. G ( V, X ) или G = ( V, X ). П усть V = { v 1 , v 2 , v 3 , v 4 }, Х = { (v 1 ,v 2 ), (v 1 ,v 4 ), (v 2 ,v 3 ), (v 2 ,v 4 ) } тогда диаграмма граф а : Помеченный граф Непомеченные граф ы с 3 верш инам и v 2 v 3 v 1 v 4
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
ОСНОВНЫЕ ТИПЫ ГРАФОВ
Графом называется совокупность, состоящая из конечного множества V точек, называемых вершинами, и множества неупорядоченных пар различных вершин из V, называемых ребрами.
Множество вершин: V = { v1, v2 ,…, vn }. Ребра: ( vi , vj ) или xij , или xk ( k = 1, 2 ,…, m ). X - множество ребер.
G ( V, X ) или G = ( V, X ).
Пусть V = { v1, v2, v3, v4 } , Х = { (v1 ,v2 ), (v1 ,v4 ), (v2 ,v3 ), (v2 ,v4 ) } тогда
диаграмма графа :
Помеченный граф Непомеченные графы с 3 вершинами
v2 v3
v1 v4
ОСНОВНЫЕ ТИПЫ ГРАФОВ - 2
Если x = ( vi , vj ) ребро , то vi и vj – смежные вершины; вершины vi и vj называются инцидентными ребру x, ребро х считается инцидентным вершинам vi и vj.
Если два различных ребра x и y инцидентны одной и той
же вершине, то они наз-ся смежными.
Граф с n вершинами и m ребрами называется ( n, m ) - графом.
( 1, 0 ) граф называется тривиальным.
Граф, в котором вершины могут соединяться более чем одним ребром, называется мультиграфом.
v1 v3
v4 v2
x1 x3
x2
ОРГРАФЫ Орграфом или ориентированным графом наз-ся совокупность, состоящая из конечного множества V точек, называемых вершинами, и множества упорядоченных пар различных вершин из V, называемых дугами. G = ( V, X ) .
Дуги v, u и u, v считаются симметричными дугами. v u
Направленный орграф – орграф без симметричных дуг.
Граф, в котором есть дуги и рёбра, наз-ся смешанным графом.
Граф G = ( V, X ), состоящий только из вершин, наз-ся нуль - графом.
Граф G = ( V, X ), в котором любые две вершины соединены ребром, называется полным. Полный граф с n вершинами обозначают
через Кn . а) б) в) г) К3
ОСНОВНЫЕ ТИПЫ ГРАФОВ
Подграф графа G = ( V, X ) - граф G = ( V, X ), V V , а ребрами - часть ребер графа G, оба конца которых лежат в множестве V. Остовный подграф графа G = ( V, X ) - граф G = ( V, X* ), V = V , X* X . Дополнение графа G = ( V, X ) - граф )X ,V (G , V = V , а X = дополнению Х до множества всех неупорядоченных пар вершин из V. G = ( V, X ) : )X ,V (G : Объединение G1 = ( V1, X1 ) и G2 = ( V2 , X2 ) - граф G ( V1 V2 , X1 X2 ).
G xj G \ xj G
vi G \ vi
ДВУДОЛЬНЫЙ ГРАФ
Граф G = ( V, X ) называется двудольным, если разбиение V на два непересекающихся подмножества V1 и V2 так, что V = V1 V2 и ребро графа G соединяет вершины из разных множеств.
Двудольный граф называется полным двудольным графом, если вершина из V1 соединена ребром с вершиной из V2.
Если |V1| = m и |V2| = n, то полный двудольный граф обоз-ся Km ,n .
Если число ребер графа мало, то в этом случае лучше задать его с помощью списков смежностей вершин.
v4
v3 v1
v2 S ( v1 ) = { v2, v4 }; S ( v2 ) = { v1, v3, v4 }; S ( v3 ) = { v2, v4 }; S ( v4 ) = { v1, v2, v3 }.
v1 v2 v3
v4 v5 v6
u2 u6
u1 u5
u4 u3
ИЗОМОРФИЗМ ГРАФОВ
Графы G1 = ( V1 , X1 ) и G2 = ( V2 , X2 ) наз-ся изоморфными, если между их множествами вершин существует взаимно однозначное соответствие, сохраняющее смежность вершин.
vi ↔ ui Отношение изоморфизма рефлексивно, симметрично и транзитивно, след-но, это отношение эквивалентности и порождает разбиение множества всех графов на классы изоморфных графов.
ЧИСЛО РЕБЕР ГРАФА
Число ребер инцидентных вершине v обозначают deg ( v ) и называют локальной степенью ( степенью вершины ) v .
Число ребер графа равно:
m = ∑n
ii )v( deg
1=2
1. (1)
2 m = ∑n
ii )v( deg
1=. (2)
Теорема. Число ребер графа равно половине суммы локальных степеней его вершин.
Нечетные вершины v, если степени deg ( v ) нечетные, и четные вершины v*, если deg ( v* ) четные.
Теорема. Число нечетных вершин любого графа четно.
( G ) - минимальная степень вершин графа G , ( G ) - максимальная.
Если ( G ) = ( G ) = r, то граф G наз-ся регулярным или однородным степени r и пишут deg ( G ) = r.
v- изолированная вершина
v – висящая вершина
ЧИСЛО ДУГ ОРГРАФА
Дуга x называется инцидентной вершине v, если она заходит в эту вершину или исходит из нее.
Для орграфа G для вершины v вводятся deg + ( v ) и deg - ( v ), равные соответственно числу входящих и выходящих дуг для v. Эти числа называются полустепенями захода и исхода вершины v.
Число дуг орграфа: m = Viv
deg - ( vi ) = Viv
deg + ( vi ).
Ориентированный граф называется однородным степени r, если для
Цепь в графе G : v0 , х1 , v1 , х2 , v2 ,…, vn-1 , хn , vn ,…, в которой каждое ребро хi есть ( vi-1 , vi ).
Если v0 - начальная вершина цепи, vn конечная вершина, тогда Z = Z ( v0 , vk ).
Нуль-цепь – цепь, не содержащая никаких ребер.
Нетривиальная цепь – это цепь, содержащая хотя бы одно ребро.
Простая цепь – это цепь, все вершины которой, кроме быть может, первой и последней, различны и все ребра различны.
Вершина u графа G называется достижимой из вершины v, если цепь Z ( v, u ), соединяющая эти вершины.
Если vk = v0 , то цепь называется циклической или замкнутой.
Замкнутая цепь наз-ся простым циклом, если все его n вершин различны и n 3.
ПУТИ И КОНТУРЫ В ОРГРАФЕ Путь в орграфе: v0 , х1 , v1 , х2 , v2 ,…, vk-1 , хk , vk ,…,
в которой каждая дуга хi есть vi-1 , vi . Каждый путь ориентирован от начальной вершины к последующей.
Простой путь в орграфе – это путь, все вершины которого, кроме быть может, первой и последней, попарно различны.
Замкнутый путь это путь такой, что v0 = vk .
Контур – нетривиальный замкнутый путь, у которого все вершины различны за исключением первой и последней.
Если в орграфе G существует путь из вершины v в вершину u, то считается, что u достижима из v.
В графе G ( V, X ) каждому ребру х = ( v, u ) может приписываться число ( v, u ), которое называется длиной или весом ребра.
Граф, для каждого ребра которого определена длина (вес), называется взвешенным графом.
СВЯЗНОСТЬ ГРАФА. КОМПОНЕНТЫ СВЯЗНОСТИ
Вершины v и u наз-ся связанными, если цепь Z ( v, u ). Граф называется связным, если пара вершин связана. Отношение связанности обладает свойствами симметричности, транзитивности и рефлексивности, сл-но, является отношением эквивалентности. Тогда множество V вершин графа разбивается единственным образом на попарно не пересекающиеся подмножества
Vi , V = i
iV и : G = i
i ) V ( G , где G ( Vi ) - компоненты связности
или компоненты.
Теорема. Каждый граф представляется единственным образом как объединение своих компонент связности.
Теорема. Если в графе G ровно две вершины v и u имеют нечетную локальную степень, то эти вершины связанные.
Граф с двумя компонентами.
Граф с шестью компонентами.
Связный граф
МАТРИЦА СМЕЖНОСТИ
Матрицей смежности графа, мультиграфа или псевдографа G с данной нумерацией вершин v1 , v2 ,…, vn наз-ся n n матрица A = ( aij ) в которой aij равен числу ребер в G, соединяющих vi c vj .
0110
1010
1101
0010
A
2443
2
4
4
3
0110
1021
1201
0111
A
v1
v2
v3
v4
v2
v1
v3
v4
МАТРИЦА СМЕЖНОСТИ ОРГРАФА Для орграфа G матрица смежности есть n n матрица А = ( aij ), где aij – число дуг, идущих из vi в vj .
1310
1
0
1
3
0100
0000
0100
1110
A
Сумма элементов i – й строки матрицы равна полустепени исхода i – й вершины орграфа, а сумма элементов j – го столбца – полустепени захода j – й вершины.
Матрица смежности А орграфа не является симметричной.
v1
v2
v3
v4
ОПЕРАЦИИ НАД МАТРИЦАМИ СМЕЖНОСТЕЙ 1. Умножению матрицы смежности А на целое число соответствует тому, что в графе каждое ребро заменяется ребрами. 2. Сложение.
Теорема. Пусть матрице A соответствует граф G1 = ( V, X1 ), а матрице B – граф G2 = ( V, X2 ). Тогда матрице А + В соответствует граф, полученный объединением ребер (дуг) графов G1 и G2 на том же множестве вершин V.
3. Умножение.
Теорема. Пусть матрице A соответствует граф G1 = ( V, X1 ), а матрице B – граф G2 = ( V, X2 ). Тогда матрице А В отвечает мультиграф, построенный следующим образом: вершины vi и vj соединяет столько ребер, сколько существует различных цепей из vi в vj, составленных из двух ребер, первое из которых принадлежит графу G1 , а второе G2.
ОПЕРАЦИИ НАД МАТРИЦАМИ СМЕЖНОСТЕЙ - 2
Теорема. Пусть матрице Ai соответствует граф Gi = ( V, Xi ), 1 i N. Тогда матрице А = А1 А2 … АN отвечает мультиграф, построенный следующим образом: вершины vi и vj соединены стольким числом ребер, сколько существует цепей из vi в vj, составленных из N ребер, первое из которых принадлежит G1 , второе - G2 и т.д., N - е – GN.
Следствие 1. Если А r = 0, то в графе, соответствующем матрице А, нет цепи длины r.
Следствие 2. Если G – связный граф с матрицей смежности А, то расстояние между vi и vj для i j равно наименьшему из целых чисел r, для которых ( i, j ) - ый элемент матрицы А r отличен от нуля.
Следствие 3. Пусть G - граф с матрицей смежности А. Тогда ( i, j ) - й элемент матрицы A r равен числу цепей длины r из vi в vj .
ПРИМЕР ИСПОЛЬЗОВАНИЯ МАТРИЦЫ СМЕЖНОСТЕЙ
Пусть имеем граф G1 : Матрица смежности А1 :
А1 =
010
101
011
и элемент а13 = 0.
Вычислим
010
101
011
010
101
01121 A =
101
021
112
. Элемент а13 матрицы 21А равен 1, след-но, d (v1 , v3 ) = 2.
v2 v1 v3 б) в)
ПРИМЕР ИСПОЛЬЗОВАНИЯ МАТРИЦЫ СМЕЖНОСТЕЙ - 2
А2 =
0100
1010
0101
0010
. 22A =
0100
1010
0101
0010
0100
1010
0101
0010
=
=
1010
0201
1020
0101
. Для 22A ( 1, 4 ) – й элемент равен 0,
поэтому вычисляем 32A =
1010
0201
1020
0101
0100
1010
0101
0010
=
0201
2030
0302
1020
.
Для 3
2A ( 1, 4 ) – й элемент равен 1, след-но, d (v1 , v4 ) = 3 и имеется
ровно одна цепь длины 3, ибо ( 1, 4 ) - й элемент матрицы 32A равен 1.
v2 v1 v3 v4
ПРИМЕР ИСПОЛЬЗОВАНИЯ МАТРИЦЫ СМЕЖНОСТЕЙ - 3
Матрица смежности : А =
0101
1010
0101
1010
.
А2 =
2020
0202
2020
0202
, А3 =
0404
4040
0404
4040
. По матрице А2 можно
определить, что из v1 до v3 имеется две цепи длины 2:
v1 - v2 - v3 и v1 - v4 - v3.
По матрице А3 можно определить, что из v1 до v2 имеется четыре цепи длины 3:
Теорема ( критерий изоморфизма графов ). Графы G = ( V, X ) и G =( V, X ) с матрицами смежностей ( ai j ) и ( ai j ) соответственно изоморфны тогда и только тогда, когда: 1) число вершин в V и V совпадает ( и равны, например, n ); 2) существует такое взаимно однозначное соответствие множества { 1, 2,…, n } на себя, что ai j = а ( i ) ( j ) .
Количество взаимно однозначных отображений мн-ва { 1, 2 ,…, n } на себя равно числу перестановок, т.е. равно n! ( 6! = 720 ).
Построение графа соответствия для данных орграфов G и G.
v1 v2 v3
v4 v5 v6
u5
u1
u6
u2
u4 u3
(1,2) v1
(2,1) v2
(3,0) v3
(0,3) v4
(1,2) v5
(2,1) v6
u1(1,2)
u2(1,2)
u3(3,0)
u4 0,3)
u5(2,1)
u6 2,1)
ПОСТРОЕНИЕ ГРАФА СООТВЕТСТВИЯ
1)
i
i
u
v
614352
654321;
2) 524361
654321;
3) 514362
654321;
4) 624351
654321.
При отображении 1) : а51 = 1, но а’12 = 0, поэтому 1) не изоморфизм. При отображении 2) : а25 = 1, но а’62 = 0, следовательно, тоже не
выполнено условие 2) теоремы 5.8 и 2) не изоморфизм. При отображении 3) : а51 = 1, но а’12 = 0, следовательно, 3) не
Отображение 4 ) является изоморфизмом данных графов.
v1
v2
v3
v4
x1 x2
x3
МАТРИЦА ИНЦИДЕНЦИЙ
Пусть G = ( V, X ) - граф с V = { v1 , v2 ,…, vn } и X = { x1 , x2 ,…, xm }. Графу G ставим в соответствие матрицу инциденций А = ( ai j ) размером n m, ( i, j ) – й элемент которой равен:
0
1=
,
, аij
010
100
011
101321
4
3
2
1
xxx
v
v
vv
А
Каждая строка матрицы А равна сумме по модулю 2 всех остальных строк.
если i - я вершина инцидентна j - му ребру,
если i - я вершина не инцидентна j - му ребру.
МАТРИЦА ИНЦИДЕНЦИЙ
Пусть граф состоит из трёх компонент связности.
Теорема. Ранг матрицы инциденций p - компонентного графа с n вершинами равен n - p при условии, что арифметические операции производятся по модулю 2.
А =
011000
110000
101000
000100
000100
000010
000011
000001
8
7
6
5
4
3
2
11
x x x x x x
v
v
v
v
v
v
vv
65432
.
v1 x1 v2
x2
v3
v4
v5
x3
x5
x4 x6
v8 v7
v6
МАТРИЦА ИНЦИДЕНЦИЙ ОРГРАФА
Матрица инциденций орграфа с n вершинами и m дугами это n m матрица, ( i, j ) – й элемент которой равен:
1
=
, 0
, 1-
,
а ji
А =
11000
10100
01111
00011
4
3
2
1
54321
v
v
v
v
xxxxx
Для орграфа ранг А тоже равен n - p.
v2 x3 v3 x2 x1 x4 x5
v1 v4
если из i – й вершины исходит j - я дуга,
если в i – ю вершину входит j - я дуга,
если i – я вершина не инцидентна j - й дуге.
ДЕРЕВЬЯ
Связный граф без циклов наз-ся деревом. Граф без циклов наз-ся ациклическим, или лесом.
Теорема.
1. В дереве любые две вершины соединены единственной простой цепью.
2. Число ребер у дерева с n вершинами равно n - 1. 3. Число различных помеченных деревьев, которые можно
построить на n вершинах, равно nn-2. 4. В любом нетривиальном дереве имеются, по крайней мере, две
висячие вершины. Корневое дерево, обход графа по глубине, по ширине.
ЗАДАЧА О МИНИМАЛЬНОМ СОЕДИНЕНИИ
G ( V, X ) - связный взвешенный граф, для ребра u = ( v, u ) определен вес ( длина ) ( v, u ). Требуется построить остовный подграф ( дерево ) Т чтобы его мера
( T ) = T)u,v( ( v, u ) была минимальной.
Алгоритм Краскала ( Kruskal ). Вход: список Х ребер графа G с их длинами. Выход: множество Т ребер кратчайшего остова.
begin Т := . Упорядочить Х в порядке возрастания длин k := 1 {номер рассматриваемого ребра} for i from 1 to m - 1 do while добавление ребра Е(k) образует цикл в Т do k:=k+1 {пропустить это ребро} end while T:=T {E(k)} {добавить это ребро в T} end
Сложность алгоритма Краскала 0 ( m log2 m ), где m – число ребер. Время работы алгоритма Дейкстры - Прима зависит от того, как организована очередь и равна 0 ( m log2 m ) либо 0 ( m + n log2 n ).
ЗАДАЧА О МИНИМАЛЬНОМ СОЕДИНЕНИИ - 2
Пусть 4 города расположены в вершинах квадрата с единичной стороной.
1. Если граф имеет ребрами только стороны квадрата, то ( Т ) = 3.
2. Введем новую вершину на пересечении диагоналей квадрата.
Тогда ( Т ) = 2 2 = 2,828.
3. Если ввести две новые вершины, то ( Т ) = 2,732.
v1 v2 v1 v2 v1 v2
v3 v4 v3 v4 v3 v4
1200 1200
ЦЕНТР ДЕРЕВА
Эксцентриситет вершины v :
е ( v ) : е ( v ) = Gu
max
d ( v, u ).
Диаметр графа G : d ( G ) = Gu,v
max
d ( v, u ).
Радиус графа G : r ( G ) = Gu
min
e ( u ).
Вершина v центральная вершина графа G, если e ( v ) = r ( G ).
Центр графа G – это множество всех центральных вершин.
Теорема. Каждое дерево имеет центр, состоящий или из одной вершины, или из двух смежных вершин.
u
v
v u
ОРИЕНТИРОВАННЫЕ ДЕРЕВЬЯ
Ориентированным деревом ( или ордеревом, или корневым деревом ) называется орграф со следующими свойствами:
1) существует единственная вершина, полустепень захода которой равна 0. Она называется корнем ордерева;
2) полустепень захода всех остальных вершин равна 1;
3) каждая вершина достижима из корня.
ОРИЕНТИРОВАННЫЕ ДЕРЕВЬЯ - 2
Теорема. Ордерево обладает следующими свойствами:
1) m = n – 1;
2) если в ордереве отменить ориентацию ребер, то получится дерево;
3) в ордереве нет контуров;
4) для каждой вершины существует единственный путь, ведущий в эту вершину из корня;
5) подграф, определяемый множеством вершин, достижимых из некоторой вершины v данного ордерева, является ордеревом с корнем v (это ордерево называется поддеревом вершины v );
6) если в свободном дереве любую вершину назначить корнем и ввести ориентацию ребер от корня к концевым вершинам, то получится ордерево.
ОРИЕНТИРОВАННЫЕ ДЕРЕВЬЯ – 3
Лист, ветвь, высота ветви, уровень вершины, ярус дерева. «Генеалогическая» терминология:
Если k > j , то vk потомок вершины vj , а vj предок для vk ; Если u и v - смежные вершины, то u называют отцом ( родителем )
для v, а v - сыном ( дитём ) для u. Бинарное, бинарное полное дерево.
v0 - корень 0 - ой ярус v1 1 - ый ярус
v2 2 - ой ярус v3 3 - ий ярус v4
ЭЙЛЕРОВЫ ГРАФЫ
Цикл С, содержащий все ребра графа, причем каждое ребро в точности по одному разу наз-ся эйлеровым циклом, а граф, обладающий эйлеровым циклом – эйлеровым графом.
Теорема. Конечный граф G является эйлеровым графом тогда и только тогда, когда: 1) G связен; 2) все его локальные степени четны.
D
А С В
u v
ПОСТРОЕНИЕ ЭЙЛЕРОВОГО ЦИКЛА
Строим цикл С и если надо цикл С* . Тогда: С1 = S ( v, u ) С* S ( v, u ) Если С1 не является эйлеровым циклом, то построение продолжается.
Теорема. Для того чтобы на связном графе имелась цепь S ( v, u ), содержащая все его ребра в точности по одному разу, необходимо и достаточно, чтобы v и u были единственными вершинами нечетной степени для этого графа.
Теорема. На любом связном графе с 2k нечетными вершинами имеется семейство из k цепей, которые в совокупности содержат все ребра графа в точности по одному разу.
ГАМИЛЬТОНОВЫ ГРАФЫ
Цикл называется гамильтоновым, если он проходит через каждую вершину графа один и только один раз.
Гамильтоновым графом называется граф, содержащий гамильтонов цикл.
Гамильтоновой цепью в графе называется простая цепь, проходящая через каждую вершину графа один и только один раз.
Пусть d i = deg ( vi ), i = 1, 2 ,…, n.
Теорема ( Хватал, 1972 г.). Пусть граф G имеет n вершин v1 , v2 , …, vn , d1 d2 … dn и n 3. Если для любого k верна импликация
dk k < n / 2 dn-k n - k, то граф G гамильтонов.
ГАМИЛЬТОНОВЫ ГРАФЫ - 2 Следствие. Пусть граф G имеет n вершин v1 , v2 , …, vn , d1 d2 … dn и n 3. Граф G гамильтонов, если выполнено одно из условий:
1) dk n / 2 для любого k = 1, 2,…, n ( теорема Дирака, 1952 );
2) deg ( u ) + deg ( v ) n для любых двух различных несмежных вершин u и v графа G ( теорема Оре, 1960 );
3) dk k для любого натурального числа k такого, что 1 k n /2.
Орцикл орграфа, проходящий через каждую его вершину, называется гамильтоновым орциклом. Орграф называется гамильтоновым, если он обладает гамильтоновым орциклом.
Теорема ( Гуйя – Ури ). Пусть G – орсвязный граф с n вершинами. Если deg+ ( v ) n / 2 и deg - ( v ) n / 2 для любой его вершины v, то G - гамильтонов орграф.
ПЛАНАРНЫЕ ГРАФЫ
ПЛАНАРНЫЕ ГРАФЫ - 3
Плоским графом называется граф, изображенный на плоскости так, что никакие два его ребра не пересекаются нигде, кроме инцидентной им обоим вершины .
Граф изоморфный плоскому графу, наз-ся планарным графом.
К5 – полный граф с пятью вершинами .
К3,3 – полный двудольный граф с шестью вершинами.
Теорема. Графы К5 и К3,3 непланарны.
v1 v6 v5
v2 v3 v4
v1 v5 v2 v4 v3
ПЛАНАРНЫЕ ГРАФЫ - 4
Два графа гомеоморфны, если они могут быть получены из одного и того же графа включением в его ребра новых вершин степени 2.
Теорема ( теорема Куратовского – Понтрягина ). Граф планарен тогда и только тогда, когда он не содержит подграфа, гомеоморфного К5 или К3,3.
Операция включения в ребра графа новых вершин со степенями 2 называется расширением графа.
ПЛАНАРНЫЕ ГРАФЫ - 5
Определим операцию стягивания графа.
Теорема ( Вагнер, Харари, Татт ). Граф планарен тогда и только тогда, когда он не содержит подграфов, стягиваемых к К5 или к К3,3.
v x u v=u q q t
s t s G1
*G1
v
v=u u
G2 *G2
ЗАДАЧА О КРАТЧАЙШЕЙ ЦЕПИ МЕЖДУ ПРОИЗВОЛЬНЫМИ ВЕРШИНАМИ ГРАФА
Дан взвешенный связный граф G ( V, X ). Каждому ребру х приписан его вес ( длина ) ( х ). Требуется для произвольных вершин v и u графа G найти цепь Z ( v, u ) наименьшей длины.
1 – ый этап : нахождение длины кратчайшей цепи. Пусть v = v0 , u = v 7 .
v1 12 v2 3 v0 2 3 2 v3 7 v 7 4 8 4 3 v4 3 5 v6 v5
0
2
3
5
7
10
8
11
ЗАДАЧА О КРАТЧАЙШЕЙ ЦЕПИ МЕЖДУ ПРОИЗВОЛЬНЫМИ ВЕРШИНАМИ ГРАФА
Пусть длина кратчайшей цепи найдена ( в примере равна 10 ).
2 – ой этап : нахождение кратчайшей цепи :
v1 12 v2 3 v0 2 3 2 v3 7 v7 4 8 4 3 v4 3 5 v6 v5
0
2
3
5
7
10
8
11
ПОТОКИ В СЕТЯХ
Сетью ( транспортной сетью ) S называется орграф, если:
1) существует единственная вершина v0 , называемая входом или источником, в которую не заходит ни одна дуга;
2) существует единственная вершина vk , называемая выходом или стоком, из которой не исходит никакая дуга;
3) каждой дуге х поставлено в соответствие неотрицательное действительное число ( х ), называемое пропускной способностью дуги.
Вершины в S, отличные от источника и стока, называются промежуточными.
ПОТОКИ В СЕТЯХ - 2
Потоком в сети называется действительнозначная функция , определенная на множестве дуг графа и удовлетворяющая свойствам:
1) для любой дуги х, ( х ) 0;
2) ( х ) ( х ) – поток по любой дуге х не превосходит ее пропускной способности;
3) для любой промежуточной вершины v выполняется равенство:
vUx vUx
)x()x( 0 , где vv U ,U - множество дуг
графа, соответственно заходящих в промежуточную вершину v и выходящих из нее.
Дуга называется насыщенной, если поток по ней равен её пропускной способности.
ПОТОКИ В СЕТЯХ - 3
Притоком на выходе vk сети называется величина kvUx
kv )x( .
Пусть A V - такое подмножество вершин сети, что v0 A, vk A. Разрезом сети
AU относительно множества вершин А называют множество дуг, исходящих из вершин, не принадлежащих А, и заходящих в вершины А.
Разрез с минимальной пропускной способностью называется минимальным разрезом.
Поток в сети называется максимальным, если его величина принимает максимальное значение по сравнению с другими допустимыми потоками в данной сети.
Теорема. Для любой (транспортной) сети величина максимального потока равна наименьшей пропускной способности разрезов.
АЛГОРИТМ НАХОЖДЕНИЯ МАКСИМАЛЬНОГО ПОТОКА Пусть поток в сети и пропускные способности дуг принимают целочисленные значения.
Шаг 1. Полагаем, что начальный поток равен нулю, т. е. для любой дуги х сети ( х ) = 0. Полагаем S* = S.
Шаг 2. Удаляем из орграфа S* все дуги, являющиеся насыщенными при потоке в сети S*. Полученный орграф вновь обозначим через S*.
Шаг 3. Ищем в S* простой путь Z ( v0 , vk ) из v0 в vk . Если такого пути нет, то - искомый поток в сети S. Иначе идем к следующему шагу.
Шаг 4. Увеличиваем поток ( х ) на каждой дуге х из Z ( v0 , vk ) на одинаковую величину а, a > 0, такую, что, по крайней мере, одна дуга из Z ( v0 , vk ) оказывается насыщенной, а потоки по остальным дугам из Z ( v0 , vk ) не превышают их пропускных способностей. При этом величина потока также увеличивается на а и поток остается в S допустимым. После этого переходим к шагу 2.