
- •Правила выполнения и оформления контрольной работы
- •1. Элементы теории множеств Теоретические сведения
- •Варианты заданий
- •2. Бинарные отношения
- •Примеры решения задач
- •Задание 2
- •Варианты
- •Задание 3
- •Варианты
- •3. Элементы теории графов
- •Алгоритм нахождения сильных компонент графа
- •4. Планарные графы
- •Алгоритм укладки графа на плоскости
- •Пошаговое описание алгоритма укладки графа на плоскости
- •Задание 5
- •Варианты
- •5. Операции над высказываниями
- •6. Нормальные и совершенные
- •Алгоритм 5.1
- •П рименяя к полученной днф дистрибутивный закон дизъюнкции относительно конъюнкции, получим
- •Алгоритм 5.2 (аналитический способ приведения к сднф)
- •(Табличный способ приведения к сднф)
- •(Табличный способ приведения к скнф)
- •Задание 8
3. Элементы теории графов
Теоретические сведения
Граф есть совокупность точек и линий, соединяющих эти точки. Эти соединения могут обладать различными характеристиками, и теория графов занимается изучением этих характеристик.
Пусть задано некоторое конечное множество X, элементы которого будем называть вершинами, и множество V, состоящее из пар элементов (xi, xj) множества X. Упорядоченная пара множеств G=(X,V) называется графом. Вершины изображаются точками, а пары элементов – линиями, соединяющими точки, соответствующие образующим пары вершинам [3, 4, 5, 6].
Если в определении графа существенно в каком порядке выбираются вершины (то есть пара (xi, xj) отлична от пары (xj,xi)), то такой граф называют ориентированным или орграфом, а пару (xi, xj) - дугой, при этом считается, что хi - начальная вершина, a xj - конечная. В геометрической интерпретации дуге соответствует направленный отрезок. Часто орграф задают парой G=(X, Г), где Х - множество вершин, а Г - неоднозначное отображение, ставящее в соответствие каждой вершине подмножество в X. Г(хi) - множество вершин хj Х, для которых в графе G существует дуга (хi, хj). Гl(хi) - множество вершин хj X, для которых в графе G существует дуга (xj, хi).
Если в определении графа не существенен порядок вершин при образовании пары (хi, xj), то граф называют неориентированным или неорграфом, а пару (xi , xj) - ребром.
П
ример.
На рис. 2 изображен ориентированный
граф, а на рис. 3 – неориентированный
граф.
Рис. 2. Рис. 3.
Путем в графе G называется такая последовательность дуг, в которой конец каждой предыдущей дуги совпадает с началом следующей [5]. Для неорграфа такая последовательность ребер называется цепью. Если путь (цепь) проходит через вершины х1, ..., хk то будем обозначать его (ее) символом [x1, …, xk].
Для графа на рис. 2 последовательность дуг (x1, x2), (x2, x4), (x4, x3) является путем и может быть обозначена следующим образом [x1, x2, x4, x3]. Для графа на рис. 3 цепью является, например, следующая последовательность ребер (x2, x3), (x3, x5), (x5, x4), которую обозначим через [x2, x3, x5, x4].
Маршрут есть неориентированный "двойник" пути, и это понятие рассматривается в тех случаях, когда можно пренебречь направленностью дуг в графе.
Путь (цепь), у которого(-ой) начальная и конечная вершина совпадают, называется контуром (циклом). Для графа на рис. 3 циклом является, например, следующая цепь [x2, x3, x5, x1, x2].
Простым циклом графа называется цикл, в котором все вершины различны за исключением начальной и конечной вершины, которые совпадают. Например, для графа на рис. 3 цикл [x2, x3, x5, x1, x2] является простым, а цикл [x2, x3, x4, x5, x3, x1, x2] не является простым.
Петлей называется дуга, начальная и конечная вершины которой совпадают.
Две вершины хi и хj называются смежными, если существует соединяющее их ребро (дуга), при этом вершины называются инцидентными этому ребру (дуге), а ребро (дуга) – инцидентным(-ой) этим вершинам. Аналогично, два различных ребра (дуги) называются смежными, если они имеют по крайней мере одну общую вершину [3, 4, 5].
Вершины х1 и х4 смежны (рис. 2.), дуга (х1, х4) инцидентна вершинам х1 и х4, а вершины х1 и х4 инцидентны дуге (х1, х4). Ребра (х1, х3) и (х3, х4) смежны (рис. 3).
Число
дуг, исходящих из вершины хi
ориентированного графа, называется
полустепенью исхода вершины хi
и обозначается
.
Число дуг, заходящих в вершину хi
ориентированного графа, называется
полустепенью захода вершины хi
и обозначается
.
Так, для орграфа, представленного на
рис.2
,
.
В неориентированном графе число ребер, инцидентных данной вершине хi, называют степенью вершины хi и обозначают d(хi). Вершина графа, имеющая степень 0, называется изолированной, а вершина, имеющая степень 1 – висячей. Для неорграфа на рис. 3 d(х1)=3, d(х3)=4.
Информация
о структуре графа может быть задана
матрицей смежности.
Матрицей
смежности графа
G=(X,V),
|X|=n
называется квадратная матрица
,
элементы которой определяются следующим
образом:
Замечание. Матрица смежности неориентированного графа симметрична. В случае кратных ребер aij есть количество ребер, соединяющих вершины xi и xj. Для орграфа аij определяется как количество дуг, направленных от вершины xi к вершине xj.
Матрицей
инцидентности
графа G=(X,V),
|Х|=п ,|V|=m
называется матрица
,
элементы которой определяются следующим
образом:
е
сли
G
– ориентированный граф, то
если G - неориентированный граф, то
Замечание. Для ориентированного графа петлю, т. е. дугу вида (хi, хi) удобно представлять иным значением в строке хi, например, 2.
Пример. Матричные представления графов проиллюстрированы на рис. 6, 7.
-
(1,2)
(1,3)
(3,2)
(3,4)
(5,4)
(5,6)
(6,5)
1
1
1
0
0
0
0
0
2
-1
0
-1
0
0
0
0
В=
3
0
-1
1
1
0
0
0
4
0
0
0
-1
-1
0
0
5
0
0
0
0
1
1
-1
6
0
0
0
0
0
-1
1
-
(1,2)
(1,3)
(1,5)
(2,3)
(2,5)
(3,4)
(4,5)
(4,6)
(5,6)
1
1
1
1
0
0
0
0
0
0
2
1
0
0
1
1
0
0
0
0
В=
3
0
1
0
1
0
1
0
0
0
4
0
0
0
0
0
1
1
1
0
5
0
0
1
0
1
0
1
0
1
6
0
0
0
0
0
0
0
1
1
Рис. 6
а) ориентированный граф и его матрица инцидентности,
б) неориентированный граф и его матрица инцидентности
Рис. 7. Матрицы смежности для графов на рис. 6
Понятия связности и достижимости. Если в графе существует путь, идущий от вершины xi к вершине хj, то говорят, что вершина xj достижима из вершины хi.
Если для любой пары вершин неориентированного графа существует цепь их соединяющая, то такой граф называется связным. Иначе неориентированный граф называется несвязным.
Ориентированный граф называется сильно связным или сильным, если для любых двух различных вершин xi и xj существует по крайней мере один путь, соединяющий xi с xj. Это определение означает также, что любые две вершины такого графа взаимно достижимы.
Ориентированный граф называется односторонне связным или односторонним, если для любых двух различных вершин xi и xj существует по крайней мере один путь из xi в xj или из xj в xi (или оба одновременно).
Ориентированный граф называют слабо связным или слабым, если для любых двух различных вершин графа существует по крайней мере один маршрут, соединяющий их.
Если для некоторой пары вершин орграфа не существует маршрута, соединяющего их, то такой орграф называется несвязным.
Пример. Граф, приведенный на рис. 8(а) является сильно связный. Граф, показанный на рис. 8(б), не является сильным, так как в нем нет пути из x5 в x2, но односторонне связный. Граф, изображенный на рис. 8(в), не является ни сильным, ни односторонним, поскольку в нем не существует путей от x5 к x2 и от x2 к x5. Он – слабо связный. Наконец, граф, приведенный на рис. 8(г), является несвязным.
Максимальный по включению сильно связный подграф данного графа называется его сильной компонентой связности. Аналогично, односторонняя компонента представляет собой односторонний максимальный подграф, а слабая компонента максимальный слабый подграф.
Рис. 8. Сильно связный граф (а), односторонне связный граф (б), слабо связный граф (в), несвязный граф (г)
Например, в графе G, приведенном на рис. 8(6), подграф ({х1, x4, х5, х6}) является сильной компонентой графа G. С другой стороны, подграфы ({х1, х6}) и ({х1, х5, х6}) не являются сильными компонентами, хотя и являются сильными подграфами, поскольку они содержатся в графе ({х1, x4, x5, х6}) и, следовательно, не максимальные. В графе, показанном на рис. 4.23(в), подграф ({x1, x4, х5}) является односторонней компонентой. В графе, приведенном на рис. 8(г), оба подграфа ({х1, х5, х6}) и ({х2, х3, x4}) являются слабыми компонентами, и у этого графа только две такие компоненты.
Максимальный связный подграф неориентированного графа G называется компонентой связности.
Максимальный сильно связный подграф ориентированного графа G называется сильной компонентой связности (СК).
М
атрица
достижимостей
графа G=(X,V)
,
определяется следующим образом:
Множество вершин R(xi) графа G, достижимых из заданной вершины xi, состоит из таких элементов xj, для которых (i, j)-й элемент в матрице достижимостей равен 1. Очевидно, что все диагональные элементы в матрице R равны 1, поскольку каждая вершина достижима из себя самой с помощью, пути длины 0.
Поскольку Г(xi) является множеством таких вершин xj, которые достижимы из xi c использованием путей длины 1 (т. е. Г(xi) – такое множество вершин, для которых в графе существуют дуги (xi, xj)) и поскольку Г(xj) является множеством вершин, достижимых из xj с помощью путей длины 1, то множество Г(Г(xi))=Г2(xi) состоит из вершин, достижимых из xi c использованием путей длины 2. Аналогично Гp(xi) является множеством вершин, которые достижимы из xi с помощью путей длины р.
Так как любая вершина графа G, которая достижима из xi, должна быть достижима с использованием пути (или путей) длины 0, или 1, или 2, ..., или р (с некоторым конечным р≤n), то множество вершин, достижимых из xi , можно представить в виде
R(xi) = { xi }ÈГ(xi)È Г2 (xi )È…È Гp (xi ) (4.3)
Таким образом, множество R(xi) может быть получено последовательным выполнением (слева направо) операций объединения в соотношении (4.3), до тех пор, пока «текущее» множество не перестанет изменяться при очередной операции объединения. С этого момента последующие операции не будут давать новых элементов множеству и, таким образом, будет получено, достижимое множество R(xi). Число объединений, которое нужно выполнить, зависит от графа, но, очевидно, что число р меньше числа вершин в графе.
Матрицу достижимостей можно построить так. Находим достижимые множества R(xi) для всех вершин xiÎХ способом, приведенным выше. Положим rij=1, если xjÎR(xi), и rij=0 в противном случае. Полученная таким образом матрица R является матрицей достижимостей.
М
атрица
контрдостижимостей
(матрица
обратных достижимостей)
,
определяется следующим образом:
Контрдостижимым множеством Q(xi) графа G является множество таких вершин, что из любой вершины этого множества можно достигнуть вершину xi.
Из определений очевидно, что столбец xi матрицы Q (в котором qij=1, если xiÎQ(xi), и qij=0 в противном случае) совпадает со строкой xi матрицы R, т. е. Q=RT, где RT – матрица, транспонированная к матрице достижимостей R.
Пример. Для графа G, приведенного на рис. 9, найти сильные компоненты и построить конденсацию G*.
Найдем СК в G, содержащую вершину x1.
Из соотношений (4.3) и (4.4) получаем
R(x1) = { x1 , x2 , x4 , x5 , x6 , x7 , x8 , x9 , x10 }
Q(x1) = { x1 , x2 , x3 , x5 , x6 }
Следовательно, СК, содержащая вершину x1, является порожденным подграфом
R(x1)
Q(x1)
= ({ x1
, x2
, x5
, x6
})
Аналогично, СК, содержащая вершину x8, есть порожденный подграф ({x8, x10}), СК содержащая x7 – подграф ({x4, x7, x9}), СК, содержащая x11, – подграф ({x11, x12, x13 }) и СК, содержащая x3, – подграф ({x3}). Следует отметить, что последняя СК состоит из единственной вершины графа G. Конденсация G* приведена на рис. 10.
Рис. 10. G* - конденсация графа G
Процедуру, описанную выше и связанную с нахождением СК графа, можно сделать более удобной, если непосредственно использовать матрицы R и Q. Пусть запись RÄQ означает поэлементное умножение этих матриц. Тогда сразу видно, что строка xi, матрицы RÄQ содержит единицы только в тех столбцах xj, для которых выполняется условие: вершины xi и xj взаимно достижимы; в других местах строки xi стоят нули. Таким образом, две вершины находятся в одной и той же СК тогда и только тогда, когда соответствующие им строки (или столбцы) в матрице RÄQ идентичны. Вершины, которым соответствуют строки, содержащие 1 в столбце xj, образуют множество вершин СК, содержащей xj. Отсюда мгновенно следует, что матрицу RÄQ можно преобразовать путем транспонирования строк и столбцов в блочно-диагональную. Каждая из диагональных подматриц этой матрицы соответствует СК графа G и содержит только единичные элементы, все остальные элементы блочно-диагональной матрицы равны нулю. Для приведенного ранее примера матрица RÄQ, преобразованная соответствующим образом, имеет вид
|
x1 x2 x5 x6 |
x8 x10 |
x4 x7 x9 |
x11 x12 x13 |
x3 |
x1 x2 x5 x6 |
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 |
0 |
0 |
0 |
0 |
x8 R Ä Q = x10 |
|
1 1 |
0 |
0 |
0 |
x4 x7 x9 |
0 |
0 |
1 1 1 1 1 1 1 1 1 |
0 |
0 |
x11 x12 x13 |
0 |
0 |
0 |
1 1 1 1 1 1 1 1 1 |
0 |
x3 |
0 |
0 |
0 |
0 |
1 |