Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Учебное пособие по курсу «Математические и алгоритмические основы построения интеллектуальных систем». В 3 частях. Ч.1
.pdf
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) мы видим, что в графовых моделях может быть организован вывод знаний об объектах (понятиях) системы, представленных семантической сетью.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
