Автор: Пользователь скрыл имя, 14 Декабря 2011 в 10:03, курсовая работа
Теория графов в качестве теоретической дисциплины может рассматриваться как раздел дискретной математики, исследующий свойства конечных множеств с заданными отношениями между их элементами.
Введение ………………………………………………………………………..3
Основные понятия теории графов……………………………………………..4
Операции над графами………...………………………………………...6
Основные теоремы теории графов……………………………………..15
Задача о соединении городов…….……………………………………………17
Задача о назначении на должность………………………………….….20
Генеалогические графы………………………………………………………...23
Список литературы……………………………………………………………..27
Пересечение графов
Пусть G1(X1,E1) и G2(X2,E2) – произвольные графы. Пересечением G1ÇG2 графов G1 и G2 называется граф с множеством вершин X1ÇX2 с множеством ребер (дуг) E = E1ÇE2
Операция пересечения обладает следующими свойствами, которые следуют из определения операции и свойств операций на множествах:
G1ÇG2 = G2ÇG1– свойство коммутативности;
G1Ç (G2ÇG3) = (G1ÇG2) Ç G3 – свойство ассоциативности.
Для того чтобы операция пересечения была всеобъемлющей, необходимо ввести понятие пустого графа. Граф G(X,E) называется пустым, если множество X вершин графа является пустым (X=Æ). Заметим, что в этом случае и множество E ребер (дуг) графа также пустое множество (E=Æ). Пустой граф обозначается символом Æ. Такой граф может быть получен в результате выполнения операции пересечения графов, у которых X1ÇX2=Æ. В этом случае говорят о непересекающихся графах.
Рассмотрим выполнение операции пересечения графов, изображенных на рис. 3. Для нахождения множества вершин результирующего графа запишем множества вершин исходных графов и выполним над этими множествами операцию пересечения:
X1 = {x1, x2, x3}; X2 = {x1, x2, x3, x4};
X = X1ÇX2 = {x1, x2, x3}.
Аналогично определяем множество E дуг результирующего графа:
E1 = {(x1, x2), (x1, x3), (x2, x1), (x2, x3), (x3, x2)};
E2 = {(x1, x3), (x2, x1), (x2, x3), (x2, x4), (x3, x1)};
E = E1ÇE2 = {(x1, x3), (x2, x1)}.
Теорема. Пусть G1 и G2 – два графа (ориентированные или неориентированные одновременно) с одним и тем же множеством вершин X, и пусть A1 и A2 – матрицы смежности вершин этих графов. Тогда матрицей смежности вершин графа G1ÇG2 является матрица A = A1ÇA2 образованная поэлементным логически умножением матриц A1 и A2.
Рассмотрим выполнение операции пересечения для графов с несовпадающим множеством вершин.
Пусть G1(X1,E1) и G2(X2,E2) – графы без параллельных ребер, множества X1 и X2 вершин графов не совпадают, а A1 и A2 – матрицы смежности вершин графов. Для таких графов операция пересечения может быть выполнена так.
В соответствии с определением операции пересечения графов найдем множество вершин результирующего графа как X1ÇX2. Построим вспомогательные графы G’1 и G’2, множества вершин которых есть множество X1ÇX2, а множество ребер (дуг) определяется множествами E’1 и E’2 всех ребер (дуг), инцидентных этим вершинам. Очевидно, что матрицы A’1 и A’2 смежности вершин этих графов могут быть получены из матриц A1 и A2 путем удаления из них столбцов и строк, соответствующих вершинам, не вошедшим во множество X1ÇX2.
Применив
к графам G’1 и G’2
теорему, найдем матрицу смежности вершин
графа G’1ÇG’2 как
A’1ÇA’2.
Очевидно, что полученной матрице смежности
вершин соответствует граф, множество
вершин которого равно X1ÇX2,
а множество ребер определяется, как
E1ÇE2, что
соответствует операции пересечения графов.
Композиция графов
Пусть G1(X,E1) и G2(X,E2) — два графа с одним и тем же множеством вершин X. Композицией G1(G2) графов G1 и G2 называется граф с множеством вершин E, в котором существует дуга (xi,xj) тогда и только тогда, когда существует дуга (xi,xk), принадлежащая множеству E1, и дуга (xk,xj), принадлежащая множеству E2.
Рассмотрим выполнение операции композиции G1(G2) на графах, изображенных на рис. 4. Для рассмотрения операции составим таблицу, в первом столбце которой указываются ребра (xi, xk), принадлежащие графу G1, во втором — ребра (xk, xj), принадлежащие графу G3, а в третьем — результирующее ребро (xi, xj) для графа G1(G2).
G1 | G2 | G1(G2) |
(x1,x2) | (x2,x1)
(x2,x3) |
(x1,x1)
(x1,x3) |
(x1,x3) | (x3,x3) | (x1,x3) |
(x2,x1) | (x1,x1)
(x1,x3) |
(x2,x1)
(x2,x3) |
Заметим, что дуга (x1,x3) результирующего графа в таблице встречается дважды. Однако, поскольку рассматриваются графы без параллельных ребер (дуг), то в множестве E результирующего графа дуга (x1,x3) учитывается только один раз, т.е. E = {(x1,x1), (x1,x3), (x2,x1), (x2,x3)}
На рис. 4 изображены графы G1 и G2 и их композиции G1(G2). На этом же рисунке изображен граф G2(G1).
Декартово произведение графов. Пусть G1(X,E1) и G2(Y,E2) — два графа. Декартовым произведением G1(X,E1)´G2(Y,E2) графов G1(X,E1) и G2(X,E2) называется граф с множеством вершин X´Y, в котором дуга (ребро), идущая из вершины (xiyj) в (xkyl), существует тогда и только тогда когда существует дуга (xixk), принадлежащая множеству дуг E1 и j = l или, когда существует дуга (yj,yl), принадлежащая множеству E2 и i = k.
Выполнение операции декартова произведения
рассмотрим на примере графов, изображенных
на рис. 5. Множество вершин Z результирующего
графа определяется как декартово произведение
множеств X´Y. Множество Z
содержит следующие элементы: z1=(x1y1),
z2=(x1y2),
z3=(x1y3),
z4=(x2y1),
z5=(x2y2),
z6=(x2y3).
Определим множество дуг результирующего графа. Для этого выделим группы вершин множества Z, компоненты которых совпадают. В рассматриваемом примере пять таких групп: две группы с совпадающими компонентами из множества X, и три группы, имеющие совпадающие компоненты из Y. Рассмотрим группу вершин результирующего графа, которые имеют общую компоненту x1: z1=(x1y1), z2=(x1y1), z3=(x1y3). Согласно определению операции декартова произведения графов, множество дуг между этими вершинами определяется связями между вершинами множества Y. Таким образом, дуга (y1,y1) в графе G2 определяет наличие дуги (z1,z1) в результирующем графе. Для удобства рассмотрения всех дуг результирующего графа составим таблицу, в первом столбце которой перечисляются вершины с совпадающими компонентами, во втором – дуги между несовпадающими компонентами, а в третьем и четвертом – дуги в результирующем графе.
№ п.п. | Группы вершин с совпадающими компонентами | Дуги для несовпадающих компонент | Дуга
(xiyj)®(xkyl) |
Дуга
(za,zb) |
1 | z1=(x1y1), z2=(x1y2), z3=(x1y3) | (y1,y1)
(y1,y2) (y2,y3) (y3,y1) |
(x1y1)®(x1y1)
(x1y1)®(x1y2) (x1y2)®(x1y3) (x1y3)®(x1y1) |
(z1,z1)
(z1,z2) (z2,z3) (z3,z1) |
2 | z4=(x2y1), z5=(x2y2), z6=(x2y3) | (y1,y1)
(y1,y2) (y2,y3) (y3,y1) |
(x2y1)®(x2y1) (x2y1)®(x2y2) (x2y2)®(x2y3) (x2y3)®(x2y1) | (z4,z4)
(z4,z5) (z5,z6) (z6,z4) |
3 | z1=(x1y1), z4=(x2y1) | (x1,x2)
(x2,x1) |
(x1y1)®(x2y1) (x2y1)®(x1y1) | (z1,z4)
(z4,z1) |
4 | z2=(x1y2), z5=(x2y2) | (x1,x2)
(x2,x1) |
(x1y2)®(x2y2) (x1y2)®(x1y2) | (z2,z5)
(z5,z2) |
5 | Z3=(x1y3), z6=(x2y3) | (x1,x2)
(x2,x1) |
(x1y3)®(x2y3) (x2y3)®(x1y3) | (z3,z6)
(z6,z3) |