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

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

.pdf
Скачиваний:
3
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
3.4. Обход графов
71
ческое число (G39) = 3 – по количеству независимых подмножеств вершин в графе G39.
Практическое значение решения задачи разбиения графа на независи­мые подмножества вершин применительно к интеллектуальным системам огромно. Для организационных систем это группы несвязанных субъектов (пользователей), для СТС – это группы независимых устройств и т. д.
3.4. Обход графов
Различают алгоритмы обхода графа в ширину и в глубину. Выбор ал­горитма напрямую зависит от решаемой практической задачи и топологии графа. В любом случае это алгоритмы последовательного обхода всех вер­шин графа. Обход графа начинается с выбранной вершины. Например, если требуется обойти дерево, то в качестве исходной вершины целесообразен выбор корневой вершины. Если исследуется граф без определенной топо­логии, то в качестве исходной вершины можно выбрать центральную вер­шину, или одну из периферийных вершин, или вершину с младшим номе­ром в зависимости от решаемой задачи.
Затем последовательно обходятся все вершины графа, посещая каж­дую вершину только 1 раз.
Алгоритмы обхода графа используются для решения различных задач, например, для определения компоненты связности графа. На рис. 3.6 изоб­ражен произвольный граф G47, заданный множеством вершин Gv47 =
= {gvi | i = 1, 2, …, 10} и множеством ребер Ge47 = {gej | j = 1, 2, …, 9}.
gv
8
gv
9
ge
9
gv
1
gv
6
gv
4
gv
2
gv
3
gv
5
ge
3
ge
1
ge
2
ge
5
ge
6
ge
4
ge
7
gv
7
ge
8
G47:
Рис. 3.6. Граф G47
3. Алгоритмы на графах
72
Для определения компоненты связности данного графа воспользуемся
алгоритмом поиска в глубину. Начнем обходить вершины последователь­но. В качестве исходной вершины возьмем вершину gv1, которая попадает в подмножество Gv
47-1
= {gv1}. Затем в это подмножество попадают верши-
ны, смежные вершине gv1, т. е. Gv
47-1
= {gv1, gv2, gv3, gv4}.
Для каждой из вершин подмножества Gv
47-1
больше нет смежных вер-
шин, кроме тех, которые входят в само подмножество.
Следовательно, формируем подмножество Gv
47-2
. В качестве исходной
вершины берем вершину с младшим номером (из нераспределенных вер­шин), это вершина gv5. Кроме этой вершины в подмножество Gv
47-2
попа-
дают также смежные вершины gv6 и gv7. Больше связанных с ними вершин нет. Таким образом, формируем подмножество Gv
47-2
= {gv5, gv6, gv7}.
Аналогично формируется подмножество Gv
47-3
= {gv8, gv9}. Следова-
тельно, для графа G47 определена компонента связности p0(G47) = 3.
3.5. Генерация графов
Важное практическое значение имеет задача генерации графа. Воз­можна генерация случайного графа, построенного с заданными характери­стиками вершин и связей, или наращивание графа, если имеется реальный граф и требуется его увеличить. Существует огромное количество алго­ритмов генерации случайных графов, обзор которых представлен в моно­графии [19].
Разберем понятие случайного графа. Для этого сначала ответим на во­прос. Сколько графов можно построить из n вершин, если считать, что граф не содержит кратных ребер и петель? Очевидно, что количество графов на
n вершин соответствует значению g = 
.
Будем полагать, что P1 – вероятность возникновения первого графа, P2 – вероятность возникновения второго графа, …, Pg – вероятность воз-
никновения последнего графа. Тогда P1 + P2 + … + Pg = 1.
Случайный граф Эрдеша – Реньи G (n, p) – это вероятностная модель, где p [0, 1] – вероятность появления каждого ребра в графе.
Для четырех вершин (n = 4) количество графов g = 26 = 64. Тогда веро­ятность появления конкретного графа G34 (рис. 3.7) из 64 графов соответ­ствует значению:
3.5. Генерация графов
73
1/64, если выбор каждого графа из 64 – равновероятное событие и
вероятность появления ребра p = ½;
или p4 × (1–p)2, если это не так.
gv
1
gv
2
gv
4
gv
3
ge
1
ge
2
ge
3
ge
4
G34:
Рис. 3.7. Граф G34
Если A – это какое-то свойство графа. Как посчитать вероятность того, что граф G обладает свойством A? Это можно посчитать как сумму вероят­ностей графов, которые обладают свойством A по формуле
P (A) =
󰇛󰇜

В модели Эрдеша – Реньи G (n, p) вероятности появления графов с определенными множествами вершин и ребер одинаковы. Тогда как в мо­дели случайного графа Гилберта для каждого ребра определено конкретное значение вероятности его независимо от других ребер.
Таким образом, обобщив вышесказанное, можно прийти к выводу, что генерировать граф из n вершин, обладающий определенным свойством, возможно по крайней мере двумя способами:
1) граф может выбираться случайно из всего множества возможных
графов на n вершин с заданным свойством;
2) граф может строиться путем случайного добавления ребер при
условии соблюдения заданного свойства.
В то же время в работе [8] представлены подходы, позволяющие до­строить имеющийся граф, построенный по репрезентативной выборке. Бу­дем полагать, что предварительно определены фиксированные наборы вершин и ребер графа. В качестве методов генерации графов рассмотрены:
метод генерации графа «с нуля», когда сначала исследуются свой- ства репрезентативного графа G, а затем начинается разработка графа Gг в условиях сохранения свойств графа G;
метод генерации графа последовательным наращиванием, когда к репрезентативному графу G последовательно добавляются вершины и реб­ра, тем самым происходит формирование графа нового Gг (рис. 3.8, б);
3. Алгоритмы на графах
74
метод генерации графа Gг путем окружения репрезентативного гра-
фа G такими же (рис. 3.8, а).
Gг
G
2
G
1
G
3
G
4
G
5
G
6
а
gv1
gv2
gvn
. . .
G
gvn+1
gvn+2 gvn+3
gvn+v
. . .
Gг
б
Рис. 3.8. Методы генерации графов:
а – путем «окружения» себе подобными; б – последовательным наращиванием
Как отмечалось ранее, существует множество моделей и методов гене-
рации случайных графов, однако эта задача в полном объеме не будет рас­сматриваться в данном пособии.
Рекомендации для проведения практического занятия № 3
Для проведения практического занятия рекомендуется краткий повтор
теоретического материала лекции, а также выполнение ряда заданий по принципу от простого к сложному. Если необходимо, преподаватель вме­сте со студентами разбирает выполнение несложных практических зада­ний, решение которых рассмотрено ниже, а затем студенты самостоятельно каждый отдельно выполняют аналогичные более сложные задания с после­дующим разбором на доске в аудитории, если это необходимо. Студенты, правильно выполнившие задание самостоятельно, поощряются дополни­тельными баллами за активную работу на практическом занятии. Всего за одно практическое занятие студент может получить до 2-х баллов.
Примеры выполнения практических заданий. Задание 1. Для заданных нечетких графов составьте матрицу расстоя-
ний и определите эксцентриситеты их вершин:
Рекомендации для проведения практического занятия № 3
75
gv
1
gv
2
gv
4
gv
3
0.8
0.1
0.8
0.5
gv
5
0.6
0.9
gv
1
gv
2
gv
4
gv
3
0.8
0.1
0.8
0.5
gv
5
0.6
0.9
а б Решение. Матрицы расстояний для графов а и б представлены ниже.
D =
gv1
gv2
gv3
gv4
gv5
gv1 0 0.8
0.9
0.9
0.5
gv2
0.8 0 0.1
0.9
0.6
gv3
0.9
0.1 0 0.8
0.7
gv4
0.9
0.9
0.8 0 1.4
gv5
0.5
0.6
0.7
1.4
0
(gvi)
0.9
0.9
0.9
1.4
1.4
D =
gv1
gv2
gv3
gv4
gv5
gv1 0 0.8
0.9
0.9
1.4
gv2
0.8 0 0.1
0.9
0.6
gv3 ∞ ∞ 0 0.8 ∞ gv4 ∞ ∞
0.8 0 ∞
gv5
0.5
1.3
1.4
1.4
0
(gvi)
0.8
1.3
1.4
1.4
1.4
а б
Символ «∞» в матрице расстояний означает, что путь между парой
вершин не существует. В нижних строках матриц расстояний определены численные значения эксцентриситетов вершин  (gvi), выбранные как мак­симальные числа в каждом столбце матрицы.
Задание 2. С учетом сформированных в задании 1 матриц расстояний
определить метрики графов.
Решение. В соответствии с формулами (3.2) – (3.4):
диаметр графа d (G) = max { (gvi)};  радиус графа r (G) = min { (gvi)};  центром графа O (G) является подмножество множества вершин
графа Gv, для которых достигается минимальный эксцентриситет;
периферийной вершиной gvi графа G называется вершина, для кото-
рой выполняется условие  (gvi) = d (G).
3. Алгоритмы на графах
76
Тогда определим метрики для обоих графов:
d (Gа) = 1.4, r (Gа) = 0.9, O (Gа) = {gv1, gv2, gv3}, P (Gа) = {gv4, gv5}.
d (Gб) = 1.4, r (Gб) = 0.8, O (Gб) = {gv1}, P (Gб) = {gv3, gv4, gv5}.
Задание 3. Предложите интерпретацию графов и их характеристик,
определенных в заданиях 1 и 2 для моделей интеллектуальных систем.
Задания для самостоятельной работы
Задание 4. Для разработанной в задании 6 (практического занятия
№ 2) модели МВС в виде регулярного графа с однотипными связями опре­делить метрики графа.
Задание 5. Для разработанной в задании 6 (практического занятия № 2) модели МВС в виде регулярного графа с однотипными связями вы­полнить раскраску графа. Определить хроматическое число графа.
Задание 6. Для разработанной в задании 7 (практического занятия № 2) модели МВС в виде регулярного графа с множественными разнотип­ными связями определить метрики графа.
Задания для контрольной работы № 9
Для проведения контрольной работы предполагается использовать 10 минут практического занятия. Контрольная работа оценивается макси­мально в 4 балла, каждый балл дается за четверть правильных и полных от­ветов на вопросы.
Перечень вопросов, выносимых на контрольную работу:
раскраска графов;
вычисление метрик графов;
обход графов;
генерации графов;
нахождение кратчайшего пути в графе.
Вопросы для самоконтроля
1. Дайте определение расстоянию между парой вершин в графе.
2. Назовите известные вам алгоритмы поиска кратчайших путей в
графе?
Вопросы для самоконтроля
77
3. Что является результатом работы алгоритма Дейкстры?
4. Опишите алгоритм Форда–Беллмана.
5. Сформулируйте метод определения расстояний в графе.
6. Для заданного графа с однотипными связями постройте матрицу
расстояний.
7. Для заданного графа с множественными разнотипными связями
постройте матрицы расстояний.
8. Перечислите метрические характеристики графа.
9. Определите диаметр и радиус заданного графа.
10. Что такое центр графа? Методика его определения.
11. Покажите возможную интерпретацию метрик графа для моделей
интеллектуальных систем.
12. Дайте определение раскрашиваемому графу.
13. Что такое хроматическое число графа?
14. Опишите любой алгоритм раскраски графа.
15. Раскрасьте заданный граф.
16. Поясните назначение алгоритма обхода графов.
17. Назовите виды алгоритмов обхода графов.
18. Что такое генерация графа?
19. Что такое случайный граф?
20. Какие виды генерации графа вы знаете?
78
4. ИСПОЛЬЗОВАНИЕ ГРАФОВЫХ МОДЕЛЕЙ
В ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМАХ
Известны различные способы представления знаний о предметной об­ласти, которые делятся на две крупных группы: формальные (логические) и неформальные (эвристические) модели представления знаний. К эвристи­ческим моделям относятся семантические сети, продукционная модель, фреймы. Перечисленные способы получения знаний позволяют описать, как человек получает и формирует знания о реальных объектах мира, в то время как аппарат формальной логики в основном позволяет формализо­вать утверждения в соответствии с понятиями «истинно» или «ложно». Именно поэтому строгие логические способы описания и получения знаний практически не применяются в реальных системах. В то же время эвристи­ческие модели обладают простотой и наглядностью, но не имеют строгой теории логического вывода [32].
Ниже рассмотрим возможности использования графов в интеллекту­альных системах на примере семантических сетей.
4.1. Семантические сети
Для того чтобы представить ассоциации и связи между различными объектами (понятиями) реального мира, целесообразно использовать гра­фы. Если вершины графа – это понятия, а связи графа – это отношения между понятиями, тогда знания об объектах можно представить в виде се­мантической сети.
Рассмотрим пример семантической сети (рис. 4.1). Данная сеть состав­лена для понятий системы охраны. Система охраны содержит модуль охра­ны, который может быть в зависимости
- от среды обитания:
наземный; воздушный; подводный;
- от места положения:
стационарный; мобильный.
4.1. Семантические сети
79
Модуль охраны
Подводный
Система охраны
Наземный
среда обитания
Воздушный
среда обитания
место положения
место
положения
содержит
среда обитания
Стационарный
Мобильный
место положения
Квадрокоптер
Гидроакустическая
система
Наземная система видеонаблюдения
устройство
устройство
устройство
устройство
устройство
Рис. 4.1. Пример семантической сети
Такая семантическая сеть может быть представлена графом с разно-
типными дугами G48, изображенным на рис. 4.2. В табл. 4.1 представлено соответствие вершин графа понятиям семантической сети. Отношения в семантической сети соответствуют дугам графа заданного типа, в том чис­ле:
дуги типа tp1 представляют отношение «содержит»;дуги типа tp2 – отношение «среда обитания»;дуги типа tp3 – отношение «место положения»;дуги типа tp4 – отношение «устройство».
Тогда в графе G48 путь Sg1, проходящий через вершины (gv1, gv2, gv3,
gv7, gv10), будет соответствовать маршруту в семантической сети, показан-
4. Использование графовых моделей в интеллектуальных системах
80
ному на рис. 4.3, в виде выделенных понятий. Данный пример продемон­стрировал возможность получения знания об объекте «Квадрокоптер».
gv
1
gv
2
gv
3
gv
4
gv
5
gv
6
gv
7
gv
8
gv
9
gv
10
tp1
tp2
tp2
tp2
tp3
tp3
tp3
tp3 tp4
tp4
tp4
Рис. 4.2. Граф G48, представляющий семантическую сеть
Таблица 4.1
Соответствие вершин графа G48 понятиям семантической сети
№ п/п
Вершины графа, gvi
Понятия семантической сети
1
gv1
Система охраны
2
gv2
Модуль охраны
3
gv3
Наземный
4
gv4
Воздушный
5
gv5
Подводный
6
gv6
Стационарный
7
gv7
Мобильный
8
gv8
Наземная система видеонаблюдения
9
gv9
Гидроакустическая система
10
gv10
Квадрокоптер
Таким образом, на примере графа G48 (рис. 4.4) мы видим, что в гра­фовых моделях может быть организован вывод знаний об объектах (поня­тиях) системы, представленных семантической сетью.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]