Решение задач с применением теории графов

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Математика
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,17 Мб
  • Опубликовано:
    2013-01-18
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Решение задач с применением теории графов














Решение задач с применением теории графов

Содержание

Введение

Задание №1

Задание №2

Задание №3

Задание №4

Задание №5

Заключение

Список используемых источников

Введение

граф дискретная математика

Теория графов - раздел дискретной математики, изучающий свойства графов. В общем смысле граф представляется как множество вершин (узлов), соединённых рёбрами. В строгом определении графом называется такая пара множеств G=(V,E), где V есть подмножество любого счётного множества, а E - подмножество V×V.

В последнее время теория графов стала простым, доступным и мощным средством решения вопросов, относящихся к широкому кругу проблем. Это проблемы проектирования интегральных схем и схем управления, исследования логических цепей, блок-схем программ, экономики и статистики, химии и биологии, теории расписаний и дискретной математики.

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

1 Задание №1

Формулировка задания

Дана матрица смежности для графа G. На основе аналитических выражений для прямого и обратного транзитивных замыканий найти все компоненты связности для данного графа. Результаты вычислений проверить путем непосредственных преобразований матриц смежности. В отчете о выполненном задании привести два рисунка: графическое изображение исходного графа, когда его вершины в порядке возрастания номеров расположены по окружности, наподобие циферблата, и этого же графа, но разложенные на сильно связанные подграфы.

Матрица смежности представлена на рисунке 1.1.

Рисунок 1.1 - Матрица смежности исходного графа

Решение

Для начала приведем графическое изображение исходного графа, расположив его вершины по окружности в порядке возрастания номеров. Получившийся граф, представлен на рисунке 1.2.

Рисунок 1.2 - Графическое изображение исходного графа

Степени оператора прямого транзитивного замыкания для первой вершины:

G0(1) = {1};

G1(1) = {1, 2, 8, 18};

G2(1) = {1, 2, 8, 18, 6, 12, 4, 16, 5, 14};

G3(1) = {1, 2, 8, 18, 6, 12, 4, 16, 5, 14, 3, 15, 10, 13, 17};

G4(1) = {1, 2, 8, 18, 6, 12, 4, 16, 5, 14, 3, 15, 10, 13, 17, 11, 7}.

Остальные степени оператора G находить не нужно, так как это не приводит к появлению во множестве Gk(1) новых вершин. Следовательно, прямое транзитивное замыкание

G+(1) =  = {1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18}.

Степени оператора обратного транзитивного замыкания для первой вершины:

G-1(1) = {1, 11, 12};

G-2(1) = {1, 11, 12, 3, 13, 2, 4, 7, 14, 15};

G-3(1) = {1, 11, 12, 3, 13, 2, 4, 7, 14, 15, 6, 17, 8, 5, 9, 16, 18, 10}.

Остальные степени оператора не находим по той же причине. Следовательно, обратное транзитивное замыкание

G-(1) =={1,2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}.

Таким образом, компонента связности для вершины 1

C1 = G+(1)∩G-(1) = {1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18}.

После этих вычислений остается вершина 9, не вошедшая в компоненту. Не вычисляя G+(9) и G-(9), можно заключить, что C2 = {9}.

Проверим найденные компоненты связности путем непосредственных преобразований матрицы смежности. Слева от матрицы приписываем столбец, i-й элемент которого является длиной пути из первой вершины в i-ю. Снизу приписываем строку, i-й элемент которой является длиной пути из i-й вершины в первую. Получившаяся матрица с приписанными столбцом и строкой представлена на рисунке 1.3.

Рисунок 1.3 - Преобразования матрицы смежности

По приписанным столбцу и строке записываем прямое и обратное транзитивные замыкания вершины 1:

G+(1) = {1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18};

G-(1) = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}.

Следовательно, компонента связности вершины 1

C1= G+(1)∩G-(1) = {1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18}.

Компонента связности вершины 9

C9 = {9}.

На рисунке 1.4 представлен граф, разложенный на сильно связанные подграфы.

Рисунок 1.4 - Граф, разложенный на сильно связанные подграфы

Задание №2

Формулировка задания.

Задан ориентированный граф с 18 вершинами без контуров. Необходимо произвести разбивку графа на классы порядка. Затем найти два пути, максимального и минимального веса. Пути начинаются в вершине нижнего уровня, а заканчиваются в вершине верхнего уровня.

Матрицы смежности и весов представлены на рисунках 2.1 и 2.2.

Рисунок 2.1 - Матрица смежности заданного графа

Рисунок 2.2 - Матрица весов заданного графа

Решение

Чтобы найти классы порядка, воспользуемся алгоритмом Демукрона. Снизу от матрицы смежности приписываем массив M, элементы которого получаются суммированием элементов в столбцах и являются полустепенями захода для вершин. Первые четыре элемента массива равны нулю, поэтому вершины 1, 2, 3 и 4 относим к первому уровню, а вместо нулей в массиве пишем *. Далее в матрице смежности складываем первые четыре строки и их сумму вычитаем из массива М. Затем в полученном массиве снова ищем нулевые элементы и так повторяем всю процедуру, пока не получим массив, полностью состоящий из *. Все преобразования массива до получения требуемого представлены на рисунке 2.3. В результате вычислений получили следующие классы порядка:

N0 = {1, 2, 3, 4};

N1 = {5, 6, 7, 8};

N2 = {9, 10, 11, 13};

N3 = {12, 14, 15};4 = {16, 17};5 = {18}.


Для нахождения путей максимального и минимального веса проанализируем все возможные пути.

Из вершины 1, принадлежащей нулевому уровню, к вершине 18, принадлежащей пятому уровню, ведут пути: 1, 16, 18; 1, 5, 10, 14, 16, 18; 1, 5, 10, 14, 17, 18; 1, 5, 13, 16, 18; 1, 5, 13, 14, 16, 18; 1, 5, 13, 14, 17, 18; 1, 5, 13, 17, 18; 1, 5, 13, 15, 18; 1, 5, 16, 18; 1, 5, 14, 16, 18; 1, 5, 14, 17, 18; 1, 5, 18; 1, 5, 15, 18. Их веса: 6, 33, 36, 19, 32, 35, 26, 36, 5, 23, 26, 4, 22.

Из вершины 2, принадлежащей нулевому уровню, к вершине 18, принадлежащей пятому уровню, ведут пути: 2, 7, 12, 18; 2, 7, 17, 18; 2, 10, 14, 16, 18; 2, 10, 14, 17, 18; 2, 12, 18; 2, 14, 16, 18; 2, 14, 17, 18; 2, 17, 18; 2, 15, 18; 2, 5, 10, 14, 16, 18; 2, 5, 10, 14, 17, 18; 2, 5, 13, 16, 18; 2, 5, 13, 17, 18; 2, 5, 13, 14, 16, 18; 2, 5, 13, 14, 17, 18; 2, 5, 13, 15, 18; 2, 5, 16, 18; 2, 5, 14, 16, 18; 2, 5, 14, 17, 18; 2, 5, 18; 2, 5, 15, 18. Их веса: 29, 28, 18, 21, 15, 26, 29, 13, 17, 42, 45, 28, 35, 41, 44, 45, 14, 32, 35, 13, 31.

Из вершины 3, принадлежащей нулевому уровню, к вершине 18, принадлежащей пятому уровню, ведут пути: 3, 6, 16, 18; 3, 6, 17, 18; 3, 6, 11, 12, 18; 3, 6, 9, 17, 18; 3, 5, 10, 14, 16, 18; 3, 5, 10, 14, 17, 18; 3, 5, 13, 16, 18; 3, 5, 13, 14, 16, 18; 3, 5, 13, 14, 17, 18; 3, 5, 13, 17, 18; 3, 5, 13, 15, 18; 3, 5, 16, 18; 3, 5, 14, 16, 18; 3, 5, 14, 17, 18; 3, 5, 18; 3, 5, 15, 18. Их веса: 9, 13, 34, 23, 33, 36, 19, 32, 35, 26, 36, 5, 23, 26, 4, 22.

Из вершины 4, принадлежащей нулевому уровню, к вершине 18, принадлежащей пятому уровню, ведут пути: 4, 16, 18; 4, 17, 18; 4, 8, 11, 12, 18; 4, 8, 15, 18; 4, 8, 9, 17, 18; 4, 9, 17, 18. Их веса: 15, 7, 33, 37, 17, 15.

Оптимальный путь, отвечающий максимальному общему весу 45 - 2, 5, 13, 15, 18. Оптимальные пути, отвечающие минимальному общему весу 4 - 1, 5, 18; 3, 5, 18.

Изобразим граф, расположив его вершины по уровням класса порядка.












                                                                                                     

Рисунок 2.4 - Топологически сортированный граф

Задание №3

Формулировка задания.

Дана матрица смежности графа. Найти центр графа и отклонение от центра для каждой вершины. Используя матрицу смежности, рассчитать общее число путей длиной 1, 2, 3, 4, 5, 6, а также с помощью поименованной матрицы смежности получить и все элементарные пути, указанной длины (в каждой следующей поименованной матрице все неэлементарные пути следует опускать). Матрица смежности:

A(G) = .

Решение.

Изобразим данный граф.

Рисунок 3.1 - Исходный граф

Составим матрицу R, элементы которой r(vi, vj) являются расстояниями (длинами путей) от вершины i до вершины j. Получим:

R = .

Отклонения вершин от центра графа:

D(1) =  (0+3+1+2+2+1) = ;

D(2) =  (3+0+2+2+1+1) = ;

D(3) =  (1+4+1+3+3+2) = ;

D(4) =  (1+1+2+0+1+2) = ;

D(5) =  (2+1+1+2+0+1) = ;

D(6) =  (2+2+1+1+1+1) = .

В данном графе минимальное отклонение от центра у вершин 4 и 5. Следовательно, множество вершин {4, 5} - центр графа.

Просуммировав все элементы данной матрицы смежности A(G), получим количество путей длиной 1, равное 16.

Чтобы получить количество путей длиной 2, 3, 4, 5 и 6, возведем матрицу A(G) в соответствующие степени:

A2(G) = ;3(G) = ;4(G) = ;5(G) = ;6(G) = .

Теперь просуммируем все элементы каждой из получившихся матриц и получим соответственно: количество путей длиной 2, равное 44; количество путей длиной 3, равное 121; количество путей длиной 4, равное 326; количество путей длиной 5, равное 876; количество путей длиной 6, равное 2357.

Далее найдем все элементарные пути заданной длины. Для этого составим поименованную матрицу смежности и вспомогательную матрицу:

A(G) = ;

A’(G) = .

С помощью вспомогательной матрицы вычислим степени матрицы A(G). Так как в данном графе имеется 6 вершин, то максимальная степень поименованной матрицы для определения всех элементарных путей будет равна 5.

Вычислив по формуле A2(G) = A(G) ∙ A’(G), получим следующие элементарные пути длиной 2: 1, 6, 3; 1, 6, 4; 1, 6, 5; 2, 5, 3; 2, 6, 3; 2, 6, 4; 2, 6, 5; 2, 5, 6; 3, 1, 6; 4, 5, 2; 4, 1, 3; 4, 5, 3; 4, 2, 5; 4, 1, 6; 4, 2, 6; 4, 5, 6; 5, 3, 1; 5, 6, 3; 5, 6, 4; 5, 2, 6; 6, 3, 1; 6, 4, 1; 6, 4, 2; 6, 5, 2; 6, 5, 3; 6, 4, 5.

Аналогично вычислим элементарные пути длиной 3: 1, 6, 4, 2; 1, 6, 5, 2; 1, 6, 5, 3; 1, 6, 4, 5; 2, 5, 3, 1; 2, 6, 3, 1; 2, 6, 4, 1; 2, 6, 5, 3; 2, 5, 6, 3; 2, 5, 6, 4; 2, 6, 4, 5; 3, 1, 6, 4; 3, 1, 6, 5; 4, 5, 3, 1; 4, 2, 5, 3; 4, 1, 6, 3; 4, 2, 6, 3; 4, 5, 6, 3; 4, 1, 6, 5; 4, 2, 6, 5; 4, 5, 2, 6; 4, 2, 5, 6; 5, 6, 3, 1; 5, 6, 4, 1; 5, 6, 4, 2; 5, 2, 6, 3; 5, 2, 6, 4; 5, 3, 1, 6; 6, 5, 3, 1; 6, 4, 5, 2; 6, 4, 1, 3; 6, 4, 5, 3; 6, 4, 2, 5.

Элементарные пути длиной 4: 1, 6, 4, 5, 2; 1, 6, 4, 5, 3; 1, 6, 4, 2, 5; 2, 6, 5, 3, 1; 2, 5, 6, 3, 1; 2, 5, 6, 4, 1; 2, 6, 4, 1, 3; 2, 5, 3, 1, 6; 3, 1, 6, 4, 2; 3, 1, 6, 5, 2; 3, 1, 6, 4, 5; 4, 2, 5, 3, 1; 4, 2, 6, 3, 1; 4, 5, 6, 3, 1; 4, 1, 6, 5, 2; 4, 1, 6, 5, 3; 4, 2, 6, 5, 3; 4, 5, 2, 6, 3; 4, 2, 5, 6, 3; 4, 5, 3, 1, 6; 5, 2, 6, 3, 1; 5, 2, 6, 4, 1; 5, 6, 4, 1, 3; 5, 3, 1, 6, 4; 6, 4, 5, 3, 1; 6, 4, 2, 5, 3.

Элементарные пути длиной 5: 1, 6, 4, 2, 5, 3; 2, 5, 6, 4, 1, 3; 2, 5, 3, 1, 6, 4; 3, 1, 6, 4, 5, 2; 3, 1, 6, 4, 2, 5; 4, 2, 6, 5, 3, 1; 4, 5, 2, 6, 3, 1; 4, 2, 5, 6, 3, 1; 4, 2, 5, 3, 1, 6; 5, 3, 1, 6, 4, 2; 5, 2, 6, 4, 1, 3; 6, 4, 2, 5, 3, 1.

Задание №4

Формулировка задания.

Дана матрица смежности графа. Построить для данного графа дополнительный и двойственный. Указать остовы (не менее 5), базисные циклы, базисные разрезы, найти ранг и цикломатическое число, подсчитать количество возможных остовов. Матрица смежности:

A(G) = .

Решение

Изобразим данный граф в планарной укладке.



                                                                        

Рисунок 4.1 - Исходный граф в планарной укладке

Изобразим отдельно двойственный и дополнительный графы.



Рисунок 4.2 - Двойственный граф G’








Рисунок 4.3 - Дополнительный граф

Изобразим один из остовов исходного графа G.

                                                    e3

                                            e2                  e1

                                                                               e4

                                               e8                e9                e5

                                           e7                    e6

Рисунок 4.4 - Один из остовов исходного графа G

Остовные ребра для выбранного остова: e1, e2, e3, e4, e5, e6, e7.

Хорды: e8, e9.

Базисные циклы: 125471, 2452.

Базисные разрезы: e2; e3; e7; e1e8; e6e8; e4e8e9; e5e8e9.

Ранг графа G k=7, цикломатическое число графа l=2.

Матрица Кирхгофа графа G:

K = .

Чтобы найти количество возможных остовов для графа G, необходимо найти какое-либо алгебраическое дополнение матрицы Кирхгофа. Вычислив алгебраическое дополнение K22, получили возможное количество остовов равное 11.

Один из возможных остовов мы указали в начале задания. Укажем еще 4 возможных остова.

Рисунок 4.5 - Примеры возможных остовов

5 Задание №5

Формулировка задания.

Матрица смежности:

A(G) = .

Решение

Изобразим двудольный граф G.

 

Рисунок 5.1 - Двудольный граф

Изобразим реберный граф Gр.


Рисунок 5.2 - Реберный граф

Максимальные паросочетания для двудольного графа G:

1) e1, e3;

) e1, e5;

) e1, e6;

) e1, e7;

) e2, e5;

) e2, e6;

) e2, e7;

) e3, e4;

) e4, e6;

) e4, e7.

Минимальные реберные покрытия для двудольного графа G:

) e1, e2, e4, e6, e7;

2) e1, e2, e5, e6, e7;

) e1, e3, e4, e6, e7;

) e1, e3, e5, e6, e7.

Чтобы записать максимальные вершинные независимые множества реберного графа, достаточно переписать максимальные паросочетания двудольного графа, поменяв обозначения ребер обозначениями вершин:

) 1, 3;

) 1, 5;

) 1, 6;

) 1, 7;

) 2, 5;

) 2, 6;

) 2, 7;

) 3, 4;

) 4, 6;

) 4, 7.

Минимальные вершинные покрытия являются дополнениями к максимальным вершинным независимым множествам:

) 2, 4, 5, 6, 7;

) 2, 3, 4, 6, 7;

) 2, 3, 4, 5, 7;

) 2, 3, 4, 5, 6;

) 1, 3, 4, 6, 7;

) 1, 3, 4, 5, 7;

) 1, 3, 4, 5, 6;

) 1, 2, 5, 6, 7;

) 1, 2, 3, 5, 7;

) 1, 2, 3, 5, 6.

Найдем минимальные вершинные покрытия реберного графа с помощью КНФ. Для данного графа КНФ имеет вид:

f(Gp) = (1v2)(1v4)(2v3)(2v4)(3v5)(3v6)(3v7)(4v5)(5v6)(5v7)(6v7). (1)

Преобразуем f(Gp), раскрывая скобки и используя закон поглощения:

f(Gp) = (1v24)(2v34)(3v567)(6v7) = (12v134v24v234)(35v3467v567v4567) (6v7) = (12v134v24)(356v357v3467v567) = 12356 v 12357 v 123467 v 12567 v v13456 v 13457 v 13467 v 134567 v 23456 v 23457 v 23467 v 24567. (2)

Для проверки по принципу двойственности составим для функции (2) двойственную:

(Gp) = (1v2v3v5v6)(1v2v3v5v7)(1v2v3v4v6v7)(1v2v5v6v7)(1v3v4v5v6) (1v3v4v5v7)(1v3v4v6v7)(1v3v4v5v6v7)(2v3v4v5v6)(2v3v4v5v7)(2v3v4v6v7) (2v4v5v6v7). (3)

Преобразуем функцию (3), используя тождества поглощения и идемпотентности. Получим:

(Gp) = (1v2v3v5v6)(1v2v3v5v7)(1v2v3v4v6v7)(1v2v5v6v7)(1v3v4v5v6) (1v3v4v5v7)(1v3v4v6v7)(1v3v4v5v6v7)(2v3v4v5v6)(2v3v4v5v7)(2v3v4v6v7) (2v4v5v6v7) = (1v2v3v5v67)(1v5v6v23v24v37v47)(1v3v4v7v56)(2v3v4v5v67) (2v4v6v7v35) = (1v5v23v24v26v36v37v67) (3v4v12v15v27v57v67v56) (2v4v6v7v35) = (12v13v14v15v35v45v57v67v56v23v24v36v37)(2v4v6v7v35) = =12v14v23v24v35v36v37v45v56v57v67 (4)

Так как функция (4) является двойственной для функции (1), значит вершинные покрытия были найдены верно.

Заключение


В данной работе были решены конкретные задачи с применением теории графов.

Главной задачей было практическое закрепление научно-теоретических материалов теории графов и получение навыков применения полученных знаний для решения конкретных задач.

Все поставленные цели и задачи были решены в данной работе.

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

Список используемых источников

1.      Белов В.В., Воробьев Е.М., Шаталов В.Е. Теория графов. - М.: Высш. школа, 1976. - С. 392.

.        Берж К. Теория графов и ее приложения. М.: ИЛ, 1962. 320c.

.        Емеличев В.А., Мельников О.И., Сарванов В.И., Тышкевич Р.И. Лекции по теории графов. М.: Наука, 1990. 384с.

.        Кристофидес Н. Теория графов. Алгоритмический подход. М.: Мир, 1978. 429c.

5.  Уилсон Р. Введение в теорию графов. Пер с англ. М.: Мир, 1977. 208с.

6.      Харари Ф. Теория графов. - М.: КомКнига, 2006. - 296 с.

Похожие работы на - Решение задач с применением теории графов

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!