Методическое указание к выполнению курсовой работы
.pdfпреподавателем. Объём текстовой части– 30 … 40 листов формата А4, написанных от руки или распечатанных на принтере.
11
4 УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ КУРСОВОЙ РАБОТЫ
При выполнении КР необходимо последовательно разрабатывать основные разделы, используя рекомендуемую литературу и данные методические указания.
Во введении следует отразить применение теории графов и алгебры логики в различных отраслях производства и других сферах человеческой деятельности; указать цель и основные задачи КР.
Вразделе «Задачи теории графов» необходимо:
1.Осуществить описание графа с помощью таблицы, фактор-множества, матрицы инциденций, матрицы смежности вершин, матрицы циклов, матрицы разрезов и матрицы путей.
2.Определить числовые характеристики графа такие как: степени всех
его вершин δ(v), вершинную χ(G) и реберную γ(G) связность,
цикломатическое число ν (G), вершинное ε0(G) и реберное ε1(G) числа независимости, числа вершинного π0(G) и реберного π1(G) покрытий,
вершинное β0(G) и реберное β1(G) числа внешней устойчивости, радиус R0 и диаметр T графа.
3.Решить одну из задач согласно варианту:
1)Задача раскраски графа,
2)Задача коммивояжера,
3)Задача о кратчайшем пути,
4)Задача о максимальном потоке.
Вразделе «Синтез логических схем» для заданной функции алгебры логики строится таблица истинности, записываются совершенные дизъюнктивная и конъюнктивная нормальные формы; проводится анализ функции алгебры логики на принадлежность к классам функций сохраняющих ноль, сохраняющих единицу, линейных, самодвойственных и монотонных; осуществляется минимизация логической функции методом Квайна-МакКласски и с помощью карт Карно; синтезировать логическую
12
схему методом каскадов и реализовать ее в базисе И-ИЛИ-НЕ с использованием двухвходовых элементов.
Более подробные сведения о понятиях теории графов и алгебры логики, необходимые для выполнения расчетов по заданному приведены в следующем разделе методических указаний.
Заключение должно содержать выводы и оценку полученных результатов в целом, с точки зрения соответствия их заданию, сравнение результатов расчетов, проведенных в различных разделах КР.
В приложениях помещаются блок-схемы алгоритмов и тексты программ для ЭВМ, которые были написаны и использованы при выполнении КР, а также распечатки с результатами выполнения этих программ.
Литературные источники, использованные при выполнении КР, заносятся в список. Источники в списке следует располагать в соответствии со ссылками на них. Список оформляется как раздел КР в соответствии с требованиями ГОСТ 7.1-84.
13
5РЕКОМЕНДАЦИИ ПО ВЫПОЛНЕНИЮ КУРСОВОЙ РАБОТЫ
5.1 Теория графов
5.1.1 Формализованное задание графа
Рис. 5.2 – Неориентированный граф
Граф задается на множестве вершин V и множестве ребер Е. Наиболее простое описание графа – составление таблицы соответствия ребер и вершин. Например, для графа, представленного на рис. 5.2, таблица соответствия имеет следующий вид:
Табл.5.1
|
Е |
e1 |
e2 |
e3 |
e4 |
e5 |
e6 |
e7 |
e8 |
e9 |
e10 |
e11 |
|
|
V |
v5 |
v3, |
v1, |
v1, |
v2, |
v2, |
v3, |
v6, |
v6, |
v6, |
v7, |
|
|
|
v5 |
v3 |
v2 |
v3 |
v4 |
v4 |
v7 |
v8 |
v8 |
v8 |
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Для удобства описания графа часто используют матрицы |
|||||||||||||
инциденций, смежности, циклов, разрезов и путей. |
|
|
|
|
|||||||||
1) Матрица инциденций |
A = [aij]. |
|
|
|
|
|
|
||||||
Для графа G, имеющего n вершин и m ребер матрица инциденций имеет размерность n×m. Строки этой матрицы соответствуют вершинам, а столбцы – ребрам графа. Элемент aij = 1, если j-ое ребро инцидентно i-ой вершине и aij = 0 в противном случае. При составлении матрицы
14
инциденций петли из графов удаляют. Для графа, приведенного на рис. 5.2, матрица инциденций имеет вид:
|
|
e1 |
e2 |
e3 |
e4 |
e5 |
e6 |
e7 |
e8 |
e9 |
e10 |
e11 |
|
v1 |
|
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
v2 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
|
|
v3 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
|
|
A = v4 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
|
|
v5 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
v6 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
v7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
|
|
v8 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
|
Если граф состоит из нескольких отдельных подграфов, то его матрица инциденций имеет блочную диагональную структуру, в которой матрицы Аi являются матрицами инциденций для каждого подграфа.
|
А |
1 |
0 |
... |
0 |
|
|
|
А2 |
... |
0 |
|
|
|
0 |
|
||||
А = |
|
|
... |
... |
... |
. |
... |
|
|||||
|
0 |
0 |
... |
|
|
|
|
АN |
|||||
Для ориентированного графа (рис. 5.3) элементы матрицы инциденций aij= +1, если дуга j ориентирована от вершины i, aij= -1, если дуга j ориентирована к вершине i, aij= 0, если дуга j не инцидентна вершине i.
|
|
e1 |
e2 |
e3 |
e4 |
e5 |
e6 |
|
v1 |
1 |
0 |
0 |
1 |
−1 1 |
|||
A = v2 |
|
−1 1 |
0 |
0 |
0 |
0 |
|
|
v3 |
0 |
−1 −1 0 |
1 |
−1 |
||||
v4 |
|
0 |
0 |
1 |
−1 0 |
0 |
|
|
|
|
|||||||
Рис. 5.3
15
2) Матрица смежности вершин V = [vij].
Для графа G, имеющего n вершин, матрица смежности вершин имеет размерность n×n. Элемент vij этой матрицы равен числу ребер, инцидентных одновременно i-ой и j-ой вершинам графа. Для неориентированного графа, приведенного на рис. 5.2, матрица смежности вершин имеет вид:
|
|
v1 |
v2 |
v3 |
v4 |
v5 |
v6 |
v7 |
v8 |
|
v1 |
|
0 |
1 |
1 |
0 |
0 |
0 |
0 |
|
|
|
0 |
|
||||||||
v2 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
|
|
v3 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
|
|
V = v4 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
. |
|
v5 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
|
|
v6 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
2 |
|
|
v7 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
|
|
v8 |
|
0 |
0 |
0 |
0 |
0 |
2 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
Для ориентированного графа элементы матрицы смежности вершин равны числу дуг, направленных одновременно от i-ой вершины графа к его j-ой вершине. На рис. 5.4 приведен пример составления матрицы смежности вершин для ориентированного графа.
v1 |
|
v1 |
v2 |
v3 |
v4 |
v5 |
|
|
|
|
|||||||
|
0 |
1 |
0 |
0 |
0 |
|
|
|
V = v2 |
|
0 |
0 |
0 |
1 |
0 |
|
. |
v3 |
|
0 |
1 |
0 |
2 |
0 |
|
|
v4 |
|
0 |
0 |
0 |
0 |
0 |
|
|
|
|
Рис. 5.4
3) Матрица циклов С = [сij].
Для графа G, имеющего n вершин и m ребер, матрица циклов имеет размерность k×m, где k – число циклов в графе G. Элемент этой матрицы сij
16
=1, если j-ое ребро входит в i-ый цикл и сij = 0 в противном случае. Для графа, приведенного на рис. 5.2, матрица циклов имеет вид:
с1 |
|
|
е1 |
е2 |
е3 |
е4 |
е5 |
е6 |
е7 |
е8 |
е9 |
е10 е |
11 |
|
|
|
|
||||||||||||||
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
|
||||
с2 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
|
|||
С = с3 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
. |
|||
с4 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
|
|||
с5 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
|
|||
с6 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
|
||
|
|
|
|
||||||||||||
Если граф состоит из нескольких отдельных подграфов, то его матрица циклов, как и матрица инциденций, имеет блочную диагональную структуру.
Для ориентированных графов контурам (циклам) произвольно задают ориентацию, одинаковую для всех контуров. Тогда сij = +1, если j-ая дуга сонаправлена с i-ым контуром, сij = -1, если j-ая дуга противоположно направлена i-ому контуру и сij = 0, если j-ая дуга не входит в i-ый контур.
|
|
е1 |
е2 |
е3 |
е4 |
е5 |
|
С= |
с1 |
0 |
1 |
−1 0 |
1 |
. |
|
|
с2 |
0 |
0 |
1 |
−1 |
0 |
|
|
с3 |
0 |
1 |
0 |
−1 |
1 |
|
Рис. 5.5
Для построения матриц разрезов и путей следует ввести понятия связности графа и разреза на графе.
Характеристика графа, называемая связностью, применима к неориентированным графам. Граф G = (V, Е) связен, если любые его две вершины можно соединить хотя бы одной цепью. Если граф G = (V, Е) не связен, то его можно разбить на такие подграфы Gi, что все вершины в
17
каждом подграфе связны, а вершины из различных подграфов не связны. Такие подграфы Gi называют компонентами связности графа G.
Теорема: Граф G = (V, Е) связен тогда и только тогда, когда множество его вершин нельзя разбить на два непустых подмножества V1 и V2 так, что обе граничные точки каждого ребра находятся в одном и том же подмножестве.
Для того, чтобы определить связность ориентированного графа, не следует обращать внимание на ориентацию его дуг. Для ориентированного графа существует понятие сильной связности. Граф сильно связен, если для любых двух вершин v1 и v2 (v1≠v2) существует путь, идущий из v1 в v2.
Выбрав в связном графе начальную (v1) и конечную (v2) вершину, для
него можно составить матрицу путей (матрицу цепей) Pv2 . Строки этой
v1
матрицы соответствуют цепям между вершинами v1 и v2, а столбцы соответствуют ребрам графа. Элемент матрицы pij = 1, если j-ое ребро принадлежит i-ой цепи и pij = 0 в противном случае (рис. 5.6). Для одного графа можно составить множество матриц цепей, выбирая для этого различные начальную и конечную вершины.
Для ориентированных графов матрица путей составляется, если есть хотя бы один путь, ведущий из начальной в конечную вершину. Элемент матрицы pij = 1, если j-ая дуга принадлежит i-ому пути и pij = 0 в противном случае (рис. 5.7).
|
е1 |
е2 |
е3 |
е4 |
е5 |
е6 |
|||
р1 |
|
0 |
0 |
0 |
1 |
0 |
1 |
|
|
|
|
||||||||
Р14 = р2 |
1 |
0 |
1 |
0 |
0 |
|
0 |
. |
|
р3 |
0 |
0 |
1 |
0 |
1 |
1 |
|
|
|
р4 |
1 |
0 |
0 |
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 5.6
18
|
|
е1 |
е2 |
е3 |
е4 |
е5 |
е6 |
||||
|
р1 |
|
|
|
1 |
0 |
0 |
0 |
0 |
|
. |
Р13 = |
1 |
|
|||||||||
|
р2 |
|
0 |
0 |
0 |
0 |
0 |
1 |
|
|
|
|
р3 |
|
0 |
0 |
1 |
1 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 5.7
Если задан связный граф G = (V, Е) и множество его вершин разбито на два непустых подмножества W и W’, то множество ребер, соединяющих W с W’ называют разрезом. Простым называют разрез, разбивающий связный граф только на две компоненты связности. С использованием простых разрезов можно построить матрицу разрезов графа K = [kij]. Для графа G, имеющего n вершин и m ребер, матрица циклов имеет размерность l×m, где l – число разрезов на графе G. Элемент этой матрицы kij =1, если j- ое ребро входит в i-ый разрез и kij = 0 в противном случае (рис. 5.8).
|
|
|
|
е1 |
е2 |
е3 |
е4 |
е5 |
е6 |
|
|
|
|
k1 |
|
0 |
0 |
1 |
1 |
0 |
0 |
|
|
|
|
|
|
|
|
|||||||||
|
k2 |
0 |
0 |
0 |
1 |
1 |
1 |
|
|
|
||
K = |
k3 |
1 |
0 |
0 |
0 |
0 |
1 |
|
|
. |
||
k4 |
0 |
1 |
0 |
0 |
0 |
0 |
|
|
||||
|
|
|
|
|||||||||
|
k5 |
1 |
0 |
1 |
0 |
1 |
0 |
|
|
|
||
|
k6 |
0 |
0 |
1 |
0 |
1 |
1 |
|
|
|
||
|
k7 |
|
|
1 |
0 |
0 |
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|||||||
Рис. 5.8
При составлении матрицы разрезов для ориентированного графа следует учитывать ориентацию его дуг. Элементы матрицы, соответствующие противоположно направленным дугам, будут иметь противоположные знаки (+1 и –1). Пример составления матрицы разрезов для ориентированного графа приведен на рис. 5.9.
19
|
|
|
е1 |
е2 |
е3 |
е4 |
е5 |
е6 |
|||
k1 |
|
1 |
0 |
0 |
1 |
−1 |
1 |
|
|
|
|
|
|
|
|||||||||
k2 |
|
|
−1 |
1 |
0 |
0 |
0 |
0 |
|
|
|
K = k3 |
0 |
−1 −1 0 |
1 |
−1 |
. |
||||||
k4 |
0 |
0 |
1 |
−1 |
0 |
0 |
|
|
|
||
k5 |
0 |
1 |
0 |
1 |
−1 |
1 |
|
|
|
||
k6 |
|
|
1 |
0 |
1 |
0 |
−1 |
1 |
|
|
|
|
|
|
|
||||||||
Рис. 5.9 |
|
|
|
|
|
|
|
|
|
|
|
5.1.2 Числовые характеристики графа. |
|
|
|
|
|
|
|
|
|
|
|
Число ребер неориентированного графа, инцидентных |
вершине v |
||||||||||
(петля учитывается дважды), называется степенью вершины v и
обозначается δ(v). Для изолированной вершины δ(v) = 0. Для любого конечного графа справедливо утверждение:
∑δ(v) = 2 E .
v V
Из этого утверждения следует, что сумма степеней вершин конечного невырожденного графа всегда четное число.
Теорема: В конечном графе число вершин нечетной степени всегда четно.
Пусть V0 – множество вершин графа G, имеющих четную степень, а V1 – множество вершин того же графа, имеющих нечетную степень.
Очевидно, что ∑δ(v) четно, как конечная сумма четных чисел. Отсюда
v V0
следует, что
∑δ(v) − ∑δ(v) = ∑δ(v)
v V |
v V0 |
v V1 |
также обязательно четно.
20
