Автор: Пользователь скрыл имя, 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
Решение задачи 9:
а) n = 4,
А2
= А3 = А4 =
А2
+ А2 + А4 =
На
диагонали присутствуют нулевые элементы,
следовательно, граф имеет контур.
б)
А2
= А3 = А4 =
К
=
На
диагонали присутствуют ненулевые
элементы, следовательно, граф имеет
контур.
Задача
10: По заданной матрице весов Ω графа
G найти величину минимального пути и сам
путь от вершины s = x1 до вершины t
= x6 по алгоритму Дейкстры, а затем
величину максимального пути и сам путь
между теми же вершинами:
Решение задачи 10:
Построим граф по данной матрице (Рис. 2. 9).
Рис. 2. 9
В данном графе нет цикла, поэтому упорядочим его с помощью алгоритма Фалкерсона.
Вершина х1 не содержит входящий дуг, отнесем ее к первой группе. Вычеркнем все дуги, исходящие из х1, получим граф без трёх рёбер (х1 – х2, х1 – х4, х1 – х5). В нём опять находим одну вершину, в которую не заходит ни одна дуга. Это вершина х4 (вторая группа). Вычеркнем дуги, исходящие из вершины х4. получим граф только с четырьмя рёбрами (х2 – х3, х3 – х6, х5 – х3, х5 – х2). Появилась ещё одна вершина х5 (группа 3), в которую не входят рёбра, вычеркнем исходящие из неё дуги. Получим вершину х2, которая входит в группу 4, х3 – в группу 5 и х6 – в группу 6.
Получен упорядоченный граф (Рис. 2. 10):
Рис. 2. 10
Этап 1.
Шаг 1. Полагаем, что d(x1) = 0*, x” = x1.
d(x2) = d(x3) = d(x4) = d(x5) = d(x6) = ∞.
1-ая итерация
Шаг 2. Множество вершин, непосредственно следующих за х = х1 с временными метками S” = {x2, x4, x5}. Пересчитываем временные метки этих вершин: d(x2) = min{∞, 0*+11} = 11, d(x4) = min{∞, 0*+14} = 14, d(x5) = min{∞, 0*+15} = 15.
Шаг 3. Одна из временных меток превращается в постоянную. min{11, ∞, 14, 15, ∞} = 11* = d(x2), x” = x2.
Шаг 4. x” = x2 ≠ x6, происходит возвращение на второй шаг.
2-ая итерация
Шаг 2. S” = {x3}, d(x3) = min{11, 11*+13} = 11.
Шаг 3. min{11} = 11* = d(x3), x” = x3.
Шаг 4. x3 ≠ x6, происходит возвращение на шаг 2.
3-я иетерация
Шаг 2. S” = {x6}, d(x6) = min{29, 11*+11+14} = 29.
х6=x6, конец первого этапа.
Этап 2.
Шаг 5. Составим множество вершин, непосредственно предшествующих x” = x6 с постоянными метками. S”={x3, x5}. Проверим для этих двух вершин выполнение равенства
d(x”) = d(xi) + ω(xi, x”).
d(x”) = 29 = 15*+14 = d(x5) + ω(x5, x6),
d(x”) = 29 ≠ 23*+14 = d(x3) + ω(x3, x6).
Включаем дугу (x5, x6) в кратчайший путь; x” = x5.
Шаг 6. x” ≠ x1, переходим на шаг 5.
2-ая итерация
Шаг 5. S” = {x1, x4},
d(x”) = 15 = 0*+15 = d(x1) + ω(x1, x5),
d(x”) = 15 ≠ 14+9 = d(x4) + ω(x4, x5).
Включаем дугу (x1, x5) в кратчайший путь. x” = x1.
Шаг 6. x” = x1. Завершение второго этапа.
Итак,
кратчайший путь из вершины х1 в
х6 построен. Его длина (вес) равна
29. Сам путь образует следующая последовательность
дуг: μmin = (х1, х5)-(х5,
х6).
Задача 11: Найти величину максимального пути и сам путь между вершинами s = x1 и t = x6 (матрица из задачи 10)
Решение задачи 11:
Этап 1
d1 = 0,
d4 = max{d1+14} = 14
d5 = max{d4+9, d1+15} = max{15, 23} = 23
d2 = max{d1+11, d4+7, d5+11} = max{11, 21, 34} = 34
d3 = max{d2+13, d4+11, d5+10} = max{47, 25, 33} = 47
d6 = max{d3+13, d5+14} = max{60, 37} = 60.
Итак, длина максимального пути из х1 в х6 равна 60.
Этап 2
*x6 : d6 = 60 = x3+13 – включаем дугу (х3, х6) в максимальный путь, d6 = 60 ≠ d5+14=37.
*x3 : d3 = 47 = d2+13 = 34+13 – включаем дугу (x2, x3) в максимальный путь,
d3 = 47 ≠ d4+11 = 25,
d3 = 47 ≠ d5+10=33.
*x2 : d2 = 34 = d5+11 – включаем дугу (х5, х2) в максимальный путь,
d2 = 34 ≠ d1+11,
d2 = 34 ≠ d4+7.
*x5 : d5 = 23 = d1+15 – включаем дугу (x1, x5) в максимальный путь,
d5 = 23 ≠ d4+9.
*x4 : d4 = 14 = d1+14 = 0+14 – включаем дугу (х1, х4) в максимальный путь.
итак,
искомый путь таков:μmax = (x1,
x4)-(x4, x5)-(x5, x2)-(x2,
x3)-(x3, x6)
Задача 12: По заданной матрице весов Ω графа G найти величину минимального пути и сам путь от вершины s = x1 до вершины t = x6 по алгоритму Дейкстры, а затем величину максимального пути и сам путь между теми же вершинами:
Решение задачи `12:
Нарисуем
граф (Рис. 2.11) по данной матрице, упорядочим
его вершины по алгоритму Фалкерсона.
Получим граф, изображённый на рисунке
2. 12.
Рис. 2.11
Рис.
2.12
Для нахождения минимального пути используем алгоритм Дейкстры.
Этап 1
Шаг 1. Полагаем, что d(x1) = 0*, x” = x1.
d(x2) = d(x3) = d(x4) = d(x5) = d(x6) = ∞.
1-ая итерация
Шаг 2. Множество вершин, непосредственно следующих за х = х1 с временными метками S” = {x2, х3}. Пересчитываем временные метки этих вершин: d(x2) = min{∞, 0*+8} = 8, d(x3) = min{∞, 0*+10} = 10.
Шаг 3. Одна из временных меток превращается в постоянную. min{8, ∞, 10} = 8* = d(x2), x” = x2.
Шаг 4. x” = x2 ≠ x6, происходит возвращение на второй шаг.
2-ая итерация
Шаг 2. S” = {x3, х4, х5}, d(x3) = min{10, 8*+10} = 10,
d(x4) = min{∞, 8*+9} = 17, d(x5) = min{∞, 8*+12} = 20.
Шаг 3. min{10, 17, 20} = 10* = d(x3), x” = x3.
Шаг 4. x3 ≠ x6, происходит возвращение на шаг 2.
3-я итерация
Шаг 2. S” = {x4, х5, x6}, d(x4) = min{17, 10*+10} = 17, d(x5) = min{20, 10*+12} = 20, d(x6) = min{∞, 10*+7} = 17.
х6 = х6, конец первого этапа
Этап 2
Шаг 5. Составим множество вершин, непосредственно предшествующих x” = x6 с постоянными метками. S”={x3, x4, х5}. Проверим для этих двух вершин выполнение равенства d(x”) = d(xi) + ω(xi, x”). В итоге включаем дугу (x1, x3) в кратчайший путь, затем таким же образом дугу (х3, х6).
Итак,
кратчайший путь из вершины х1
d х6 построен. Его длина (вес) равна
17. Сам путь образует следующая последовательность
дуг: μ=(х1, х3)-(х3, х6).
Задача 13: Используя матрицу из задачи 8, построить максимальный путь из вершины х1 в вершину х6.
Решение задачи 13:
Этап 1
d1 = 0,
d2 = max{d1+8} = 8
d3 = max{d1+10, d2+10} = max{10, 18}=18
d4 = max{d2+9, d3+10} = max{17, 28} = 28
d5 = max{d3+12, d4+9, d2+12} = max{30, 37, 20} = 37
d6 = max{d3+7, d4+13, d5+11} = max{25, 41, 48} = 48.
Итак, длина максимального пути из х1 в х6 равна 48.
Этап 2
*x6 : d6 = 48 = d5 + 11 – включаем дугу (х5, х6) в максимальный путь.
*x5 : d5 = 37 = d4+9 – включаем дугу (x4, x5) в максимальный путь,
*x4 : d4 = 28 = d3+10 – включаем дугу (х3, х4) в максимальный путь,
*x3 : d3 = 18 = d2+10 – включаем дугу (x2, x3) в максимальный путь,
*x2 : d2 = 8 = d1+8 – включаем дугу (х1, х2) в максимальный путь.
Итак, искомый путь таков:μmax = (x1, x2)-(x2, x3)-(x3, x4)-(x4, x5)-(x5, x6).
ЗАКЛЮЧЕНИЕ
В данной курсовой работе я рассмотрела основные виды матриц из теории графов: латинская матрица, матрица смежности, инцидентности, достижимости и контрдостижимости, связности. С помощью матриц смежности и инциденций научилась определять, являются ли графы изоморфными. Рассмотрены теоремы по данному пункту.
Так
же рассмотрены некоторые
Мною были изучены алгоритмы нахождения маршрутов в графах, касающиеся работы с матрицами. Я научилась, используя матрицы, строить кратчайшие и максимальные пути по графам.
В практической части курсовой работы представлен ряд упражнений по данной теме.
Цель
и задачи, которые ставились вначале
данной работы, выполнены.
СПИСОК
ЛИТЕРАТУРЫ