Теория графов Основные определения. Дуга Пусть имеется множество вершин V={V 1,V 2,…,V n } и пусть на нем задано бинарное отношение Г V×V, – V i Г V j.

Презентация:



Advertisements
Похожие презентации
Теория графов Основные определения. Дуга Пусть имеется множество вершин V={V 1,V 2,…,V n } и пусть на нем задано бинарное отношение Г V×V, – V i Г V j.
Advertisements

Теория графов Алгоритмы на графах. Медиана графа Медиана вершина графа, у которой сумма кратчайших расстояний от неё до вершин графа минимальная возможная.
Алгоритмы на графах Волновой метод. Постановка задачи Постановка задачи. Пусть G – неориентированный связный граф, а и b – две его вершины. Требуется.
Алгоритмы на графах Волновой метод. Постановка задачи Постановка задачи. Пусть G – неориентированный связный граф, а и b – две его вершины. Требуется.
Графы Волновой метод. Задание графов Пусть граф задан графически. Составить матрицу смежности и матрицу инцидентности для этого графа
Теория графов Основные определения. Задание графов Графический способ – Привести пример графического задания графа, состоящего из вершин А, В и С, связанных.
ХНУРЭ, кафедра ПО ЭВМ, Тел , Лекции Н.В. Белоус Факультет компьютерных наук Кафедра ПО ЭВМ, ХНУРЭ Компьютерная.
Задача о максимальном потоке в сети Алгоритм Фалкерсона-Форда.
Алгоритмы на графах. Задача о максимальном потоке в сетях Требуется от источника к стоку передать максимальное количество энергии. В условиях задачи о.
Теория графов. Теория графов – обширный самостоятельный раздел дискретной математики. Используется при проектировании компьютерных сетей, трубопроводов,
1 Лекция 6 Графы. 2 Граф – это множество вершин и соединяющих их ребер. Примеры графов:
ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ И ЕГО ЭЛЕМЕНТОВ. ГРАФОМ G = (V, X) НАЗЫВАЕТСЯ ПАРА ДВУХ КОНЕЧНЫХ МНОЖЕСТВ: МНОЖЕСТВО ТОЧЕК И МНОЖЕСТВО ЛИНИЙ, СОЕДИНЯЮЩИХ.
ПРАВОСЛАВНЫЙ СВЯТО-ТИХОНОВСКИЙ БОГОСЛОВСКИЙ УНИВЕРСИТЕТ (БОГОСЛОВСКИЙ ФАКУЛЬТЕТ) Презентация по математике на тему: Элементы теории графов.
Графы Лекция 2. Графы Неориентированным графом (графом) называется тройка (V, E, ), где V и E конечные множества и {X V : | X | = 2}. Ориентированным.
АЛГОРИТМЫ НАХОЖДЕНИЯ КРАТЧАЙШИХ ПУТЕЙ НА ГРАФАХ..
V-множество вершин, E- множество ребер Граф - G(V, Е). Л. Эйлер 1736 г. G(V, Е, f) V,E – множества, отображение инциденции f: Е V&V множества Е в V&V Основы.
Введение в теорию графов. ЗАДАЧА ПРОКЛАДКИ КОММУНИКАЦИЙ
Лекция 9 Отношения, графы Определения. Определение. Пусть а и b объекты. Через (а, b) обозначим упорядоченную пару, состоящую из объектов а и b, взятых.
Графы Комбинаторика. Планеты Между девятью планетами солнечной системы установлено космическое сообщение. Рейсовые ракеты летают по следующим маршрутам:
1. Основные понятия теории графов 1. Основные понятия теории графов 2. Степень вершины Введение 5. Ориентированные графы 6. Изоморфизм графов 7. Плоские.
Транксрипт:

Теория графов Основные определения

Дуга Пусть имеется множество вершин V={V 1,V 2,…,V n } и пусть на нем задано бинарное отношение Г V×V, – V i Г V j (V i V j ) Г – эту пару назовем дугой U k

Пример

Неориентированные графы Если бинарное отношение симметрично, то наряду с дугой (Vi,Vj) есть дуга (Vj,Vi). В этом случае чаще всего переходят к неориентированным графам.

Задание графов Матрица инцидентности A. По вертикали указываются вершины, по горизонтали - ребра. a ij =1 если вершина i инцидентна ребру j, в противном случае a ij =0. Для орграфа a ij =-1 если из вершины i исходит ребро j, a ij =1 если в вершину i входит ребро j. Если ребро - петля, то a ij =2. Список ребер. В первом столбце ребра, во втором вершины им инцидентные. Матрица смежности - квадратная симметричная матрица. По горизонтали и вертикали - все вершины. D ij = число ребер, соединяющее вершины i,j. Матрица Кирхгофа: b ij =-1, если вершины i и j смежны, b ij =0 если вершины i и j не смежны. Сумма элементов в каждой строке и каждом столбце матрицы Кирхгофа равна 0.

Полустепень вершины Для ориентированных графов: полустепенью исхода вершины |Г(V i )| будем называть число дуг, исходящих из вершины V i ; полустепенью захода вершин |Г -1 (V i )| будем называть число дуг, заходящих в вершину. В орграфе две локальных степени вершины v: deg(v)+ и deg(v) - (число ребер с началом и концом в v). Для неориентированных графах говорят только о степени. Следствие 2 из леммы о рукопожатиях. Число ребер в полном графе n(n-1)/2.

Достижимость Матрица достижимости R={r ij }, {r ij }=1, если V j достижима из V i, {r ij }=0 в противном случае. R=E+A+А 2 +…+A k В степенях используется «булевское» умножение матриц (строк на столбец, но 1+1=1, 0+1=1,0+0=0, 1+0=0). K – такое число, при котором дальнейшее сужение степеней не меняет матрицу R.

Алгоритм Краскалла Составляется список ребер в порядке увеличения весов. В искомое дерево добавляем, начиная с первого элемента списка по порядку этого списка ветви до те пор, пока не встречаем ветвь, образующую с ранее включенной цикл. Данную ветвь вычеркиваем из списка. Затем продолжаем аналогичные действия до (n-1) ветви.

Алгоритм Дейкстры Пусть имеется направленный ориентированный граф с двумя выделенными вершинами V s и V t. Найти минимальный направленный путь из V s в V t. Помечаем вершину V s, и присваиваем ей вес q s :=0, а всем остальным присваиваем временный вес q i = Полагаем i=s – номер последней отмеченной вершины Для каждой неотмеченной вершины V j выполняется следующий оператор q j :=min(q j, q i +p ij ), где p ij – вес ветви, ведущей из i-той вершины в j-тую, если нет p ij, считаем p ij =

Алгоритм Дейкстры Проверяем, есть ли среди только что отмеченных q j конечное значение. Если таких вершин нет, то мы завершаем алгоритм, пути из s в t не существует. Если же конечное значение q j найдется, то из них выбирается минимальная. Пусть это вершина j 0, тогда мы помечаем эту вершину, а так же помечаем ту дугу, по которой мы добирались в вершину V j0, при получении этого минимального значения. I=j o Проверяем условие i=t. Если это так, алгоритм завершается, L(s-t)=q j0. Сам же минимальный путь считается, начиная с вершины Vt по выделенным дугам в обратном порядке. Если же it, возвращаемся к пункту 3.

Медиана графа Медиана вершина графа, у которой сумма кратчайших расстояний от неё до вершин графа минимальная возможная. p-медиана

Внешнее передаточное число p(ik) – длина кратчайшего пути из i в k φ i – сумма длин из вершины i в другие вершины, внешнее передаточное число этой вершины

Внутреннее передаточное число Ψ i -сумма длин от всех вершин до данной, внутреннее передаточное число i-той вершины.

Медиана Внешней медианой называется такая вершина, для которой внешнее передаточное число минимально. i 0 =arg min φ i. Внутренней медианой называется такая вершина, для которой внутреннее передаточное число минимально. j 0 =arg min Ψ i. Медиана – это вершина, в которой сумма Ψ и φ минимальна. Q= Ψ i + φ i.

Волновой метод Постановка задачи Постановка задачи. Пусть G – неориентированный связный граф, а и b – две его вершины. Требуется найти цепь, соединяющую вершины а и b и содержащую наименьшее число ребер.

Волновой метод Алгоритм решения задачи волновым методом. Алгоритм решения задачи волновым методом. 1. Помечаем вершину а индексом Вершины, смежные с а и соединенные с а, дугами, инцидентными вершине а, помечаем индексами Вершины, смежные с помеченными индексами 1 и соединенные с ними инцидентными вершинам 1 дугами, помечаем индексами 2.

Волновой метод 4. Аналогично помечаем вершины индексами 3, 4, … 5. Совокупность вершин, помеченных индексом m, обозначим A m. 6. В некоторой момент будет помечена вершина b, пусть b A n. Останавливаем процесс индексации.

Волновой метод 7. По построению можно найти вершину b 1 A n-1, смежную с b, по тем же соображениям существует вершина b 2 A n-2, смежная с b 1, и т.д. 8. Искомая цепь с наименьшим числом ребер получается теперь как последовательность вершин (b, b 1, b 2, …, b n =a), где b i A n-i, то есть нужно двигаться, начиная от конечной вершины b в сторону убывания индекса вершины.

Пример

Первая итерация 01 1

Вторая итерация

Третья итерация

Четвертая итерация

Пятая итерация

Определяем путь , 3, 4, 7, 8, 9 1, 2, 4, 7, 8, , 6, 7, 8, 9

Волновой метод В случае ориентированного графа волновой метод позволяет решить две задачи: – Найти длины кратчайших путей от вершины а до остальных вершин графа; – Найти длины кратчайших путей от каждой вершины графа до вершины а. При этом в основном алгоритме изменяется только построение множества А n.

Условный радиус вершины Если мы не будем останавливать индексацию, то через некоторое количество шагов все вершины графа будут снабжены индексами, причем наибольший из них является условным радиусом графа G относительно вершины а. r a =max d(a, b)

Центр и диаметр графа Расстоянием между вершинами a и b называется длина кратчайшей цепи из a в b. Радиус графа определяется как наименьший из условных радиусов вершин графа. Центром графа G называется такая вершина a, что максимальное расстояние между a и любой другой вершиной является наименьшим из всех возможных. Это расстояние называется радиусом графа. Диаметром d связного графа называется максимальное возможное расстояние между любыми двумя его вершинами. Если расстояние между двумя вершинами равно диаметру графа, то кратчайший путь, соединяющий эти вершины, называется диаметральным путем, а подграф, образованный вершинами и ребрами этого пути, – диаметральной цепью.

Алгоритм Флойда Построим матрицу D 0 размерности |V| x |V|, элементы которой определяются по правилу: d ii 0 = 0; d ij 0 = Weight(v i, v j ), где ij, если в графе существует ребро (дуга) (v i, v j ); d ij 0 = бесконечность, где ij, если нет ребра (дуги) (v i, v j ). m=0

Пример V1V1 V2V2 V3V3 V4V4 V5V5 V1V1 0х332 V2V2 50ххх V3V3 х20х3 V4V4 хх20х V5V5 ххх10 V1 V2 V3 V4 V

Основная часть алгоритма 1. Построим матрицу D m+1 по D m, вычисляя ее элементы следующим образом: – d ij m+1 =min{d ij m, d i(m+1) m + d (m+1)j m }, где ij; d ii m+1 =0 (*). Если d im m + d mi m < 0 для какого-то i, то в графе существует цикл (контур) отрицательной длины, проходящий через вершину v i. 2. m:=m+1; если m

Пример m=0 V1V1 V2V2 V3V3 V4V4 V5V5 V1V1 0х332 V2V2 50ххх V3V3 х20х3 V4V4 хх20х V5V5 ххх10 V1V1 V2V2 V3V3 V4V4 V5V5 V1V1 0х332 V2V хх V3V3 х20х3 V4V4 хх20х V5V5 ххх10 V1 V2 V3 V4 V

Пример m=1 V1V1 V2V2 V3V3 V4V4 V5V5 V1V1 0х332 V2V V3V3 х20х3 V4V4 хх20х V5V5 ххх10 V1V1 V2V2 V3V3 V4V4 V5V5 V1V1 0х332 V2V V3V х3 V4V4 хх20х V5V5 ххх10 V1 V2 V3 V4 V

Пример m=2 V1V1 V2V2 V3V3 V4V4 V5V5 V1V1 0х332 V2V V3V V4V4 хх20х V5V5 ххх10 V1V1 V2V2 V3V3 V4V4 V5V5 V1V V2V V3V V4V4 хх20х V5V5 ххх10 V1 V2 V3 V4 V

Пример m=3 V1V1 V2V2 V3V3 V4V4 V5V5 V1V V2V V3V V4V V5V5 ххх10 V1V1 V2V2 V3V3 V4V4 V5V5 V1V V2V V3V V4V V5V5 9+1хх10 V1 V2 V3 V4 V

Пример m=4 V1V1 V2V2 V3V3 V4V4 V5V5 V1V V2V V3V V4V V5V V1V1 V2V2 V3V3 V4V4 V5V5 V1V V2V V3V V4V V5V V1 V2 V3 V4 V

Пример m=5 V1V1 V2V2 V3V3 V4V4 V5V5 V1V V2V V3V V4V V5V

Пример V1V1 V2V2 V3V3 V4V4 V5V5 V1V V2V V3V V4V V5V φ 1 =13 Ψ 1 =31 Q 1 =44 φ 2 =28 Ψ 2 =16 Q 2 =44 φ 3 =16 Ψ 3 =16 Q 3 =32 φ 4 =20 Ψ 4 =16 Q 4 =36 φ 5 =19 Ψ 5 =17 Q 5 =36 Q 3 – медиана.