- •О.Н. Ванеев, д.Е. Турчин
- •Лабораторный практикум
- •Кемерово 2013
- •Описание лабораторного практикума
- •1.2.2. Множества и операции над ними
- •1.2.3. Декартово произведение множеств. Соответствия и отношения на множествах
- •1.2.4. Основные понятия теории графов
- •1.2.5. Анализ модели системы
- •1. Определение цели системы.
- •2. Выделение подсистем.
- •3. Выделение внешних систем.
- •4. Выделение входов, ресурсов и затрат.
- •5. Выделение выходов, результатов и прибыли.
- •1. Определение цели системы.
- •2. Выделение подсистем.
- •3. Выделение внешних систем.
- •4. Выделение входов, ресурсов и затрат.
- •5. Выделение выходов, результатов и прибыли.
- •1.3. Порядок выполнения работы
- •2.3. Порядок выполнения работы
- •3.3. Порядок выполнения работы
- •4.3. Порядок выполнения работы
- •5.2.2. Метод ранжирования вариантов
- •2.2.3. Метод парных сравнений
- •5.3. Порядок выполнения работы
- •Основные положения объектной модели.
- •6.2.2. Общая характеристика объектов и классов. Отношения между объектами и классами Общая характеристика объектов.
- •Общая характеристика классов.
- •6.2.2. Понятие о языке uml. Диаграммы классов Понятие о языке uml.
- •Диаграммы классов uml.
- •6.2.3. Реализация класса и его элементов на языке программирования c# Состав класса. Описание класса.
- •Поля и константы. Методы.
- •Свойства.
- •6.3. Порядок выполнения работы
- •6.4. Контрольные вопросы
- •Диаграммы последовательностей.
- •7.2.2. Отношения между классами. Моделирование наследования Отношение между классами. Ассоциация, агрегация и зависимость.
- •7.2.3. Реализация отношений между классами на языке c#
- •7.3. Порядок выполнения работы
- •8.4. Контрольные вопросы
- •Рекомендуемая литература
- •Приложение п.1. Значения статистических критериев
1.2.4. Основные понятия теории графов
Граф – это множество элементов V, называемых вершинами, и набор Е неупорядоченных и упорядоченных пар вершин. Граф обозначается через G(V, E).
Неупорядоченная пара вершин (u, v) называется ребром, упорядоченная пара u, v – дугой. Принято говорить, что ребро (u, v) соединяет вершины u и v, а дуга u, v начинается в вершине u и заканчивается в вершине v.
Граф, содержащий только ребра, называется неориентированным, а граф, содержащий только дуги, – ориентированным. Граф, в состав которого входят как ребра, так и дуги называется смешанным.
Если пара вершин соединяется двумя или более ребрами (дугами одного направления), то такие ребра (дуги) называются кратными. Если ребро (дуга) начинается и заканчивается в одной и той же вершине, то такое ребро (дуга) называется петлей.
Иногда под графом понимают граф без петель и кратных ребер; тогда граф, в котором допускаются кратные ребра (дуги), называется мультиграфом, а граф, в котором могут присутствовать кратные ребра (дуги) и петли – псевдографом.
Вершины, соединенные ребром или дугой, называются смежными. Ребра, имеющие общую вершину, также называются смежными. Ребро (дуга) и любая из его вершин называются инцидентными. Вершина, не являющаяся инцидентной ни одному ребру (дуге) графа, называется изолированной. Если граф состоит только из изолированных вершин, то его называют ноль-графом.
Часто графы изображают в виде схем (рис. 1.5), на которых вершины показывают точками, ребра – линиями между точками, а дуги – линиями со стрелками, направленными от начальной вершины к конечной.
Можно выделить следующие способы задания графа:
1. Путем перечисления всех вершин v1, v2, … vn и ребер (дуг) e1, e2, … em графа G(V, E).
2. С помощью матрицы смежности.
Матрицей смежности, соответствующей графу G(V, E), называется матрица A=[aij], у которой элемент aij равен числу ребер (дуг), соединяющих вершины vi и vj (идущих из vi в vj), и aij=0, если соответствующие вершины не являются смежными.
Рис. 1.5. Представление графов в виде схем: а) – неориентированный граф; б) – ориентированный граф
Например, для графов, представленных на рис. 1.5 а и 1.5 б, соответствующие матрицы будет иметь следующий вид:
3. С помощью матрицы инцидентности.
Матрицей инцидентности графа G(V, E) называется матрица B=[bij], в которой элемент bij =1, если вершина vi инцидентна ребру ej, и bij =0, если вершина vi и ребро ej не инцидентны.
4. С помощью списка смежности.
Список смежности графа G(V, E) представляет собой указание для каждой вершины этого графа множества смежных с ней вершин.
Подграфом G'(V', E') графа G(V, E) называется граф с множеством вершин V' V и множеством ребер (дуг) Е' E, каждое из которых инцидентно только вершинам из V'. Если подграф G'(V', E') графа G(V, E) содержит все его вершины (V'=V), то его называют остовным.
Последовательности ребер (v0, v1), (v1, v2), … , (vi, vi+1), … , (vr-1, vr) или дуг v0, v1 , v1, v2 , … , vi, vi+1 , … , vr-1, vr называются маршрутами, соединяющими вершины v0 и vr. Маршрут замкнут, если v0=vr. Маршрут называется цепью, если все его ребра (дуги) различны, и простой цепью, если все его вершины различны. Замкнутая (простая) цепь называется (простым) циклом.
Граф называется связным, если любая пара его вершин соединена маршрутом. Связный граф, не имеющий циклов, называется деревом.
❒ Пример 1.4. Задание описания графа.
Получим описание ориентированного графа на основе отношения R из примера 1.3 в форме схемы, матрицы смежности и матрицы инцидентности.
Множество вершин G графа будет:
V = {в, и, т, с, к, е, л, н, а}.
Для получения множества дуг E графа G удалим из отношения R упорядоченные пары, являющиеся петлями и кратными дугами. В качестве таких пар выступают петли <и,и>, <в,в>, а также кратные дуги <в,и>, <и,т>, <л,а>.
Таким образом, у графа G будет следующее множество дуг:
E = {<в,и>, <и,т>, <т,в>, <т,с>, <с,к>, <к,и>, <и,е>, <е,в>, <в,е>, <е,н>, <н,и>, <и,в>, <в,л>, <л,а>, <а,и>, <и,с>, <с,л>, <а,в>}.
Схема графа G V, E показана на рис. 1.6
Рис. 1.6. Схема графа G V, E
Матрица смежности графа G имеет следующий вид:
|
в |
и |
т |
с |
к |
е |
л |
н |
а |
в |
∞ |
1 |
∞ |
∞ |
∞ |
∞ |
1 |
∞ |
∞ |
и |
1 |
∞ |
1 |
1 |
1 |
1 |
∞ |
∞ |
∞ |
т |
1 |
∞ |
∞ |
1 |
∞ |
∞ |
∞ |
∞ |
∞ |
с |
∞ |
∞ |
∞ |
∞ |
1 |
∞ |
1 |
∞ |
∞ |
к |
∞ |
1 |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
е |
1 |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
1 |
∞ |
л |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
1 |
н |
∞ |
1 |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
а |
1 |
1 |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
∞ |
Матрица инцидентности для графа G выглядит следующим образом:
|
<в,и> |
<и,т> |
<т,в> |
<т,с> |
<с,к> |
<к,и> |
<и,е> |
<е,в> |
<в,е> |
<е,н> |
<н,и> |
<и,в> |
<в,л> |
<л,а> |
<а,и> |
<и,с> |
<с,л> |
<а,в> |
в |
-1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
-1 |
0 |
0 |
1 |
-1 |
0 |
0 |
0 |
0 |
1 |
и |
1 |
-1 |
0 |
0 |
0 |
1 |
-1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
-1 |
1 |
0 |
0 |
т |
0 |
1 |
-1 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
с |
0 |
0 |
0 |
1 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
-1 |
0 |
к |
0 |
0 |
0 |
0 |
1 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
е |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
-1 |
1 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
л |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
-1 |
0 |
0 |
1 |
0 |
н |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
-1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
а |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
-1 |
0 |
0 |
-1 |
. ❒
