Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Учебное пособие по курсу «Математические и алгоритмические основы построения интеллектуальных систем». В 3 частях. Ч.1
.pdf
Вопросы для самоконтроля
61
Задания для самостоятельной работы
Задание 5. Определите дополнение двудольного графа, разработанно-
го в задании 2, до полного двудольного графа.
Задание 6. Задайте модель многопроцессорной вычислительной
структуры (МВС) с выбранными параметрами в виде регулярного графа с
однотипными связями. Определите возможность планарности полученного
графа.
Задание 7. Задайте модель МВС с выбранными параметрами в виде
регулярного графа с множественными разнотипными связями.
Задание 8. Сравните возможности моделей, разработанных в заданиях
6 и 7.
Задания для контрольной работы № 8
Для проведения контрольной работы предполагается использовать
10 минут практического занятия. Контрольная работа оценивается максимально в 4 балла, каждый балл даётся за четверть правильных и полных ответов на вопросы.
Перечень вопросов, выносимых на контрольную работу:
деревья;
гамильтонов граф;
эйлеров граф;
двудольный граф;
планарный граф;
регулярный граф.
Вопросы для самоконтроля
1. Дайте определение двудольному графу.
2. Дайте определение полному двудольному графу.
3. Определите количество ребер полного двудольного графа с n = 10.
4. Поясните практическое назначение двудольного графа.
5. Дайте определение регулярному графу.
6. Поясните отличия между однородным и регулярным графом.
7. Поясните практическое назначение регулярного графа.
8. Что такое дерево в теории графов?

2. Виды графов
62
9. Поясните назначение термина «покрывающее дерево».
10. Дайте определение эйлерову графу.
11. Поясните особенности полуэйлерова графа.
12. Что такое эйлеров цикл?
13. Дайте определение гамильтонову графу.
14. Что такое гамильтонов цикл?
15. Дайте определение плоскому графу.
16. Дайте определение планарному графу.
17. Поясните отличия между плоским и планарным графами.
18. Поясните понятие максимального планарного графа.
19. Сформулируйте теорему Эйлера для планарного графа.
20. Определите количество граней графа с заданными значениями n и m.

63
3. АЛГОРИТМЫ НА ГРАФАХ
В данном разделе представлена информация о наиболее распространенных методах и алгоритмах для вычисления ряда характеристик графов:
метод определения расстояний и вычисления метрик графа, алгоритмы
раскраски, генерации графов и т. д.
3.1. Нахождение кратчайшего пути в графе
Задача определения расстояний в графе имеет исключительное практическое значение для анализа характеристик различных систем, в том
числе интеллектуальных систем. Ниже представим основные теоретические положения теории графов и результаты практических исследований
круга задач, связанных с вычислением кратчайшего пути в графе.
Определение 3.1. Расстояние (кратчайший путь) в графе G между
двумя вершинами gvi и gvj – это наименьший путь графа между этими вершинами из всех возможных последовательностей ребер Sg. Расстояние в
графе между вершинами gvi и gvj будем обозначать так: d (gvi, gvj).
Поскольку задача определения кратчайших путей между всеми вершинами графа является вычислительно сложной, а размеры графовых моделей реальных систем, разрабатываемых в настоящее время, могут достигать очень больших размеров (млн вершин), то чрезвычайно важным является возможность определения эффективных средств автоматизации решения данной задачи.
Для вычисления расстояний в графе известно большое количество алгоритмов, в том числе алгоритмы Дейкстры [9], Форда, Форда – Беллмана,
Флойда – Уоршелла, волновой алгоритм и т. д. Каждый из этих классических алгоритмов обладает своими достоинствами и недостатками. Преимущества алгоритма Форда – Беллмана по сравнению с алгоритмом
Дейкстры заключаются в возможности работать с ребрами отрицательного
веса, по сравнению с алгоритмом Флойда – Уоршелла – в снижении оценки
вычислительной сложности алгоритма. Для алгоритма Флойда – Уоршелла
вычислительная сложность алгоритма оценивается как O (n3), в то время
как для алгоритма Форда – Беллмана она составляет величину O (n ∙ m).
Для определения вычислительной сложности алгоритма используются
приближенные и более точные методики. Часто используют приближенную методику, когда один цикл алгоритма соответствует значению O (n),

3. Алгоритмы на графах
64
два цикла – O (n2), три цикла – O (n3) и т. д. Ниже рассмотрим сам алгоритм
Форда – Беллмана применительно к взвешенному неориентированному
графу.
Алгоритм Форда – Беллмана:
1. Ввод исходных данных (Gv = {gvi}, Ge = {gel}, n, m).
2. Определение начального значение номера вершины k = 1.
3. Формирование для графа G матрицы смежности A по определенно-
му правилу:
- для смежных вершин в ячейке матрицы ставится вес ребра, по кото-
рому осуществляется переход из одной в другую вершину;
- для несмежных вершин в ячейке матрицы ставится символ «∞»;
- при отсутствии петли – ставиться символ «0»;
4. Определение веса k для вершины gvk. Для всех остальных вершин –
вес k = ∞.
5. Выбор произвольной вершины gvj, отличной от gvk, т.е. gvk ≠ gvj.
6. Задание i = k.
7. Поиск вершины gvi с весом r
i,j
, соседней для вершины gvj.
8. Проверка выполнения условия для вершин gvi, gvj
j
> i + a
i,j
.
Если условие выполняется, то j = i + a
i,j
, иначе j = j.
9. k = k + 1.
10. Проверка выполнения условия k = n? Если – да, то переход к шагу
11, иначе – переход к шагу 3.
11. Завершение работы.
Как уже отмечалось выше, в настоящее время известно большое количество алгоритмов поиска кратчайших путей для различных графов с однотипными связями, в том числе в ориентированных или неориентированных
графах, постоянных или динамически изменяемых графов и т. д. Для графа
с разнотипными связями целесообразно определять расстояния с учетом
связей каждого отдельного типа.
В результате работы любого алгоритма поиска кратчайших путей
формируется таблица или матрица расстояний графа. Для графа с однотипными связями формируется одна матрица расстояний, а для графа с t разнотипными связями – t матриц расстояний.
В данном пособии не ставится цель научить студентов известным алгоритмам типа Форда – Беллмана, Дейкстры и т. д., описания которых до-

3.2. Вычисление метрик графа
65
статочно подробно представлены в литературе. Авторы полагают, что современным студентам скорее целесообразно использовать существующие
программные реализации таких алгоритмов.
В следующем разделе рассмотрим методику вычисления метрических
характеристик графа на основе матрицы расстояний.
3.2. Вычисление метрик графа
Рассмотрим несколько примеров формирования матриц расстояний
для различных графов. Для нечеткого неориентированного графа G45
(рис. 3.1, а) существует несколько путей между каждой парой вершин.
Например, пути между вершинами gv1 и gv2:
Sg1 (gv1, gv2) = 0,8 – через инцидентное обеим вершинам ребро;
Sg2 (gv1, gv2) = 0,2 + 0,3 = 0,5;
Sg3 (gv1, gv2) = 0,5 + 0,6 = 1,1;
Sg4 (gv1, gv2) = 0,9 + 0,8 + 0,1 = 1,8.
Очевидно, что искомое расстояние d (gv1, gv2) – это минимальное зна-
чение из всех Sgi. В нашем случае d (gv1, gv2) = 0,5. Таким образом, получается, что расстояние между вершинами в любом взвешенном графе, в частности в нечетком графе, определяется не количеством ребер (дуг) между
парой вершин, а суммой их весовых коэффициентов. По этому принципу
на основе применения алгоритма Форда–Беллмана сформированы матрицы
расстояний для графов G45 и G46 (рис. 3.1, б), которые представлены на
рис. 3.2.
gv
1
gv
2
gv
4
gv
3
0,8
0,1
0,8
0,5
G45:
gv
5
0,30,2
0,6
0,9
gv
6
gv
1
gv
2
gv
4
gv
3
0,8
0,1
0,8
0,5
G46:
gv
5
0,30,2
0,6
0,9
gv
6
а б
Рис. 3.1. Неориентированный граф G45 (а) и смешанный граф G46 (б)

3. Алгоритмы на графах
66
D45 =
gv1
gv2
gv3
gv4
gv5
gv6
gv1 0 0,5
0,6
0,9
0,5
0,2
gv2
0,5 0 0,1
0,9
0,6
0,3
gv3
0,6
0,1 0 0,8
0,7
0,4
gv4
0,9
0,9
0,8 0 1,4
1,1
gv5
0,5
0,6
0,7
1,4 0 0,7
gv6
0,2
0,3
0,4
1,1
0,7
0
(gvi)
0,9
0,9
0,8
1,4
1,4
1,1
D46 =
gv1
gv2
gv3
gv4
gv5
gv6
gv1 0 0,8
0,9
0,9
1,4
1,2
gv2
0,8 0 0,1
0,9
0,6
0,3
gv3 ∞ ∞ 0 0,8 ∞ ∞
gv4 ∞ ∞
0,8 0 ∞ ∞ gv5
0,5
1,3
1,4
2,2 0 1,6
gv6
0,2
1,0
1,1
1,9
1,6
0
(gvi)
0,8
1,3
1,4
1,9
1,6
1,6
а б
Рис. 3.2. Матрицы расстояний для графов G45 (а) и G46 (б)
При вычислении метрик графа ставится задача определения значений
диаметра и радиуса графа, а также подмножеств центральных и периферийных вершин графа. Все эти характеристики определяются на основе
значений расстояний.
Определение 3.2. Эксцентриситет вершины (gvi) – максимальное
расстояние из всех расстояний от вершины gvi до остальных вершин графа:
(gv
i
) =
. (3.1)
Определение 3.3. Диаметр d (G) конечного графа – максимальное из
расстояний между каждой парой его вершин:
d (G) = max { (gvi)}. (3.2)
Кратчайшие простые цепи, связывающие две вершины с максимальным расстоянием, можно называть диаметрально простыми цепями.
Определение 3.4. Радиус графа r (G) минимальный из эксцентрисите-
тов вершин связного графа:
r (G) = min { (gvi)}. (3.3)
Определение 3.5. Центром графа O (G) называется подмножество
множества вершин графа Gv, для которых достигается минимальный эксцентриситет (i = 1…(n–1) (gvi) = r (G)).
С помощью диаметра графа G можно определить множество его периферийных вершин.

3.2. Вычисление метрик графа
67
Определение 3.6. Периферийной вершиной gvi графа G называется
вершина, для которой выполняется условие (gvi) = d (G).
Как показано на рис. 3.2, в матрицах расстояний определены эксцен-
триситеты вершин (gvi) в соответствии с формулой (3.1).
Полученные значения эксцентриситетов вершин в матрице D45
(см. рис. 3.2, а) позволяет определить метрики графа G45, используя формулы (3.2), (3.3) и определения 3.5 и 3.6.
Таким образом, диаметр d (G45) = 1,4, радиус r (G45) = 0,8. При этом
множество центральных вершин графа определено как O (G45) = {gv3}, а
множество периферийных вершин – P (G45) = {gv4, gv5}.
С практической точки зрения вычисленные характеристики графа G45
можно использовать для интеллектуального анализа системы. Если полагать, что граф G45 моделирует информационные потоки между пользователями социальной сети, а вес каждого ребра соответствует степени интенсивности информационного потока, то значение диаметра d (G45) соответствует максимально возможному времени распространения информации в
этой системе.
При этом множество центральных вершин графа O (G45) позволяет
определить, что через пользователя, соответствующего вершине gv3, проходит наибольшее число информационных потоков, а значение радиуса
r (G45) соответствует наименьшему времени распространения информации
в системе.
Таким образом, множества центральных и периферийных вершин графа G45 позволяет определить, что пользователи (вершины gv4, gv5) –
наименее значимые, а пользователь (вершина gv3) – наиболее значимый для
распространения информации в системе.
В матрице расстояний D46 для смешанного нечеткого графа имеются
символы «∞» (см. рис. 3.2, б). Такие символы появляются в таблице, если
путь из одной вершины в другую недостижим. Получены значения эксцентриситетов вершин в матрице D46, на основе которых определены метрики
графа G46: диаметр d (G46) = 1,9, радиус r (G39) = 0,8. При этом множество
центральных вершин графа определено как O (G46) = {gv1}, а множество
периферийных вершин – P (G46) = {gv4}. Интерпретация полученных
метрик зависит от назначения системы и смысловой нагрузки элементов
модели.

3. Алгоритмы на графах
68
Для графов с множественными разнотипными связями целесообразно
использовать следующий подход. В списках, задающих граф, оставляют
только ребра заданного типа, для которых и формируют матрицу расстояний.
Еще одной задачей, обладающей практической значимостью для анализа интеллектуальных систем является задача раскраски графа или определения независимых подмножеств.
3.3. Раскраска графов
Граф G = (Gv, Ge) считается l-раскрашиваемым, если множество вершин Gv можно разделить на l непересекающихся подмножеств несмежных
вершин Gv1, Gv2,…, Gvl, для которых выполняется условие
Gv =
;
= . (3.4)
Тогда каждому подмножеству вершин Gvi соответствует определенный цвет, таким образом, вершины одного подмножества Gvi оказываются
окрашенными в один цвет, а вершины другого подмножества Gvj – в другой цвет, и т. д.
Числовой характеристикой раскрашиваемых графов является хроматическое число.
Определение 3.7. Хроматическое число (G) соответствует наимень-
шему количеству подмножеств, на которое разбивается раскрашиваемый
граф.
Известен ряд алгоритмов и методов раскраски графов, в том числе алгоритм Коффмана – Грэма и др. В работе [9] приведено описание последовательного метода раскраски графа, который основан на составлении списка локальных степеней вершин. Рассмотрим алгоритм:
1. Определение параметров графа: Gv, n, s (gvi), Gv
l
= .
2. Формирование списка локальных степеней вершин графа La (s) в
порядке убывания.
3. Определение цвета графа l = 1.
4. Окраска вершины gvi, находящейся в голове списка, в цвет l. Ис-
ключение вершины gvi из списка La (s).
5. Формирование подмножества вершин Gvl = {gvi}.

3.3. Раскраска графов
69
6. Поиск вершин из списка La (s), не смежных с вершиной gvi. Добав-
ление найденных вершин в подмножество Gv1 с одновременным удалением
этих вершин из списка La (s).
7. l = l + 1.
8. Проверка условия La (s) = . Если да, то переход к шагу 9, иначе –
переход к шагу 4.
9. Завершение работы.
Рассмотрим работу алгоритма на примере графа G39 (рис. 3.3), для ко-
торого составим список локальных степеней вершин La39 (табл. 3.1).
В голове списка находится вершина gv1. Формируем подмножество
вершин цвета 1 Gv1 = {gv1}. Из списка La39 удаляем вершину gv1. Определяем в списке La39 вершины, несмежные с вершиной gv1, – вершина gv5.
gv
6
gv
1
gv
2
gv
4
gv
3
G39:
gv
5
Рис. 3.3. Неориентированный граф G39
Таблица 3.1
Список La39 локальных степеней вершин графа G39
Вершина графа, gvi
gv1
gv4
gv3
gv6
gv2
gv5
Локальная степень вершины, s (gvi)
4 4 3 3 2
2
Добавляем эту вершину в подмножество вершин цвета 1 Gv1 =
= {gv1, gv5} и удаляем ее из списка La
39-1
(табл. 3.2). Таким образом граф с
выделенным желтым цветом подмножеством вершин Gv1 изображен на
рис. 3.4.
Таблица 3.2
Список La
39-1
локальных степеней вершин графа G39
Вершина графа, gvi
gv4
gv3
gv6
gv2
Локальная степень вершины, s (gvi)
4 3 3
2

3. Алгоритмы на графах
70
Затем из головы списка La
39-1
вершину gv4 определяем в подмножество
вершин цвета 2 Gv2 = {gv4} с добавлением в него несмежной вершины gv2.
Таким образом, подмножество Gv2 = {gv4, gv2}. Удаляем вершины gv4,
gv2 из списка La
39-1
. Формируем новый список La
39-2
(табл. 3.3). Результаты
раскраски цветами 1 и 2 показаны на рис. 3.5, а.
Таблица 3.3
Список La
39-2
локальных степеней вершин графа G39
Вершина графа, gvi
gv3
gv6
Локальная степень вершины, s (gvi)
3
3
gv
6
gv
1
gv
2
gv
4
gv
3
G39:
gv
5
Рис. 3.4. Подмножество вершин графа G39 цвета 1
gv
6
gv
1
gv
2
gv
4
gv
3
G39:
gv
5
gv
6
gv
1
gv
2
gv
4
gv
3
G39:
gv
5
а б
Рис. 3.5. Подмножества вершин графа G39 цветов 1 и 2 (а),
раскрашенный полностью граф G39 (б)
Очевидно, что в списке La
39-2
две оставшиеся вершины несмежны, по-
этому образуют подмножество вершин цвета 3 Gv3 = {gv3, gv6}. Результаты
полной раскраски вершин графа G39 см. на рис. 3.5, б. При этом хромати-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
