Автор: Пользователь скрыл имя, 07 Декабря 2011 в 21:38, курсовая работа
Цель моей курсовой работы – научиться решать классические задачи, касающиеся различных матриц в теории графов.
Задачами данной работы будут:
изучить основные матрицы графов и их теоремы;
научиться строить матрицы по графическому рисунку графа и графы по данной матрице;
изучить метрические характеристики графов, связанные с матрицами;
научиться находить пути графа по матрице (минимальные и максимальные).
ВВЕДЕНИЕ 3
ГЛАВА I. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 4
Основные понятия 4
Способы задания графов 6
1.2.1 Латинская матрица. 6
1.2.2 Матрица смежностей. 7
1.2.3 Матрица инциденций. 11
1.2.4 Матрицы связности и достижимости. Матрица
контрдостижимости. 13
Метрические характеристики графа 15
Выявление маршрутов с заданным количеством рёбер 17
Определение экстремальных путей на графах. Метод
Шимбелла. 20
1.6. Нахождение кратчайших путей. Алгоритм Дейкстры. 22
1.7 . Алгоритм нахождения максимального пути. 26
ГЛАВА II. ПРАКТИЧЕСКАЯ ЧАСТЬ 29
ЗАКЛЮЧЕНИЕ 40
СПИСОК ЛИТЕРАТУРЫ 41
d(x3) = min {∞, 6* + 7} = 13, d(x5) = min{11, 6* + 6} = 11.
Шаг 3. min{d(x2), d(x3), d(x5), d(x6)} = min{9, 13, 11, ∞} = 9* = d(x2), x” = x2.
Шаг 4. x2 ≠ x6, возвращение на второй шаг.
3-я итерация.
Шаг 2. S” ={x3}, d(x3) = min{13, 9* + 8} = 13.
Шаг 3. min{d(x3), d(x5), d(x6)} = min{31, 11, ∞} = 11* = d(x5), x” = x5.
Шаг 4. x5 ≠ x6, возвращение на второй шаг.
4-ая итерация.
Шаг 2. S”={x6}, d(x6) = min{∞, 11* + 4} = 15.
Шаг 3. min {d(x3), d(x6)} = min{13, 15} = 13* = d(x3), x” = x3.
Шаг 4. x3 ≠ x6, возвращение на второй шаг.
5-ая итерация.
Шаг 2. S” = {x6}, d(x6) = min{15, 13* + 9} = 15.
Шаг 3. min{d(x6)} = min{15} = 15*, x” = x6.
Шаг 4. x6 = t = x6, конец первого этапа.
Этап 2.
Шаг 5. Составим множество вершин, непосредственно предшествующих x” = x6 с постоянными метками S” = {x3, x5}. Проверим для этих двух вершин выполнение равенства dнов.(xi) = min{dстар.(xi), d(x”) + ω(x”, xi)}:
d(x”) = 15 = 11* + 4 = d(x5) + ω(x5, x6),
d(x”) = 15 ≠ 13* + 9 = d(x3) + ω(x3, x6).
Включаем дугу (x5, x6) в кратчайший путь. x” = x5.
Шаг 6. x” ≠ s = x1, возвращение на пятый шаг.
2-ая итерация.
Шаг 5. S” = {x1, x4}.
d(x”) = 11 = 0* + 11 = d(x1) + ω(x1, x5),
d(x”) = 11 ≠ 6* + 6 = d(x4) + ω(x4, x5).
Включаем дугу (x1, x5) в кратчайший путь. x” = x1.
Шаг 6. x” = s = x1, завершение второго этапа.
Итак,
кратчайший путь от вершины x1
до вершины x6 построен. Его длина
(вес) равна 15, сам путь образует следующая
последовательность дуг: μ = (x1, x5)
- (x5, x6).
1.
7 Алгоритм нахождения
максимального пути
Для нахождения максимального пути граф G (сеть) должен быть ациклическим, ибо в противном случае может оказаться, что длины некоторых путей не ограничены сверху. Если Gn – ациклический граф, то для любых двух его вершин xi ≠ xj выполняется одно из двух условий:
Первое и второе условия одновременно не выполнимы из-за требуемой ацикличности графа.
Перед вычислением максимального пути в орграфе необходимо упорядочить вершины графа по алгоритму Фалкерсона.
Сам алгоритм вычисления максимального пути чисто перечислительный. Он перебирает все возможные пути от текущей вершины до всех последующих, достижимых из текущей вершины.
Пусть dj – длина максимального пути от вершины x1 до вершины xj, тогда величина dj удовлетворяет следующим рекуррентным соотношениям (1. 2. 5):
Соотношения (1. 2. 5) позволяют легко вычислить длины максимальных путей от s = x1 до вершин, достижимых из вершины s. Сами пути могут быть построены методом последовательного возвращения (второй этап в алгоритме Дейкстры).
Пример 9: Граф (рис. 1.12) задан матрицей весов Ω. Найти максимального пути из вершины x1 в x6 и сам этот путь.
Этот граф ациклический, поэтому возможно упорядочение его вершин по алгоритму Фалкерсона. Сделаем это графическим способом (рис. 1.13), переобозначив две вершины: x4 назовём x , а x3 – x , и применим рекуррентные формулы (1.2.5)
Этап 1.
d1 = 0,
d2 = max (d1 + 4) = 4,
d = max (d1 + 6, d2 + 8) = max (0 + 6, 4 + 8) = 12,
d = max (d + 8, d2 + 7) = max (12 + 8, 4 + 7) = 20,
d5 = max (d + 7, d + 9, d2 + 6) = max (20 + 7, 12 + 9, 4 + 6) = 27,
d6 = max (d5 + 3, d + 5) = max (27 + 3, 20 + 5) = 30.
Итак, длина максимального пути их x1 в x6 равна 30.
Этап 2.
x6 : d6 = 30 = d5 + 3 = 27 +3 – включаем дугу (x5, x6) в максимальный путь, d6 = 30 ≠ d + 5 = 20 + 5.
x5 : d5 = 27 ≠ d + 7 = 20 + 7 – включаем дугу (x , x5) в максимальный путь,
d5 = 27 ≠ d + 9 = 12 + 9, d5 = 27 ≠ d2 + 6 = 4 +6.
x : d = 20 = d + 8 = 12 + 8 – включаем дугу (x , x ) в максимальны путь,
d = 20 ≠ d2 + 7 = 4 +7.
x : d = 12 = d2 + 8 = 4 + 8 – включаем дугу (x2, x ) в максимальный путь,
d = 12 ≠ d1 +6 = 0 + 6.
x2 : d2 = 4 = d1 +4 = 0 + 4 – включаем дугу (x1, x2) в максимальный путь.
Итак,
искомый путь таков: μmax=(x1,
x2)-(x2, x
)-(x
, x
)-( x
, x5)-(x5, x6) или в первоначальных
обозначениях μmax=(x1, x2)-(x2,
x4)-(x4, x3)-(x3, x5)-(x5,
x6)
ГЛАВА
II. ПРАКТИЧЕСКАЯ ЧАСТЬ
2. 1. Применение
способов задания графов
Задача 1. Для графов, изображённых на рисунке 2.1, составить матрицы смежности вершин, смежности дуг и инциденций.
Рис. 2.1
Решение задачи 1.
а)
Задача
2: По матрице смежности построить
наглядное изображение графа.
Решение задачи 2:
Рис.
2. 2
Задача 3: Показать, что графы изоморфны (Рис. 2. 3).
Рис.
2. 3
Решение
задачи 3: Воспользуемся теоремой
и рассмотрим матрицы смежности графов.
Заметим, что они равны, следовательно
графы являются изоморфными.
= А (матрица
смежности первого и второго
графов)
Задача
4. Доказать, что графы на рисунке 2.
4 не изоморфны.
Рис. 2. 4
Решение
задачи 4: Построим матрицы смежности
вершин для данных графов.
P4= P5=
В
данных матрицах не совпадают только
первая, третья и шестая строки, все
остальные равны. Значит, будем переставлять
только эти строки и эти же столбцы.
Но, делая необходимые перестановки
в одной матрице, мы не получим вторую.
Следовательно, графы не изоморфны.
Задача 5: Найти матрицу достижимости С для данного графа
Рис. 2. 5
Решение задачи 5:
Находим
матрицу смежности данного
Р= Р2= Р3= Р4=
В
= Е + Р +Р2 + Р3 + Р4 = С =
Задача 6. Найти матрицы сильных компонент связи для графа, изображённого на рисунке 2. 6.
Рис. 2. 6
Решение задачи 6: Находим матрицу смежности графа, возводим её в степени от 2 до 5. Находим матрицу В, и затем матрицу достижимости и контрдостижимости. Затем, путем перемножения последних двух матриц, получаем матрицу, по которой определяем сильные компоненты связи.
P = P2
= P3 =
P4
= P5 =
B =
E + P + P2 + … + P5 = C= L=
F =
C * L =
По
матрице F можно сказать, что граф содержит
три сильные компоненты связности. Первая
сильная компонента состоит из вершины
x1, вторая сильная компонента из
вершины x2 и третья – из вершин x3,
x4, x5.
Задача 7: Найти матрицы сильных компонент связи для графа, изображённого на рисунке 2. 7.
Рис.
2. 7
Решение
задачи 7: Решение аналогично предыдущему
заданию.
Р = Р2= Р3= Р4=
В=Е+Р+Р2+Р3+Р4= С= L=
F=C*L=
Задача 8. Найти ранг графа, приведённого на рисунке 2. 8.
Рис. 2. 8
Решение
задачи 8: Ранг графа равен рангу его
матрицы смежности. Следовательно, построим
матрицу смежности данного графа и найдём
её ранг, приводя матрицу к ступенчатому
виду.
~ ~ ~
Ранг полученной
матрицы смежности равен 5, тогда
и rangG = 5.
Задача 9: Определить, имеют ли контуры орграфы с матрицами смежности
а) б)