Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие по курсу «Математические и алгоритмические основы построения интеллектуальных систем». В 3 частях. Ч.1

.pdf
Скачиваний:
3
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
Вопросы для самоконтроля
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, б. При этом хромати-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]