Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Учебное пособие по курсу «Математические и алгоритмические основы построения интеллектуальных систем». В 3 частях. Ч.1
.pdf
1.2. Способы представления графов
21
gv
1
gv
2
gv
4
gv
5
gv
3
gv
6
ge
3
ge
1
ge
2
ge
5
ge
6
ge
4
ge
7
ge
8
gv
7
ge
9
A14 =
gv1
gv2
gv3
gv4
gv5
gv6
gv7
gv1 0 1 1 1 1 0
0
gv2
1 0 0 0 0 1 0
gv3 1 0 0 1 0 0 0 gv4 1 0
1 0 1 0 0
gv5 1 0 0 1 1 1 0 gv6 0 1 0 0
1 0 0
gv7 0 0 0 0 0 0
0
Рис. 1.9. Неориентированный граф G14 и его представление
в виде матрицы смежности A14
Поэтому матрица смежности неориентированного графа A14 может
быть задана как показано ниже:
A14 =
gv1
gv2
gv3
gv4
gv5
gv6
gv7
gv1 0 1 1 1 1 0 0 gv2
0 0 0 0 1 0
gv3 0 1 0 0
0
gv4
0 1 0 0
gv5 1 1 0 gv6
0 0
gv7
0
В графе G14 присутствует одна изолированная вершина gv7 (без учета
инцидентных ребер), следовательно, элементы матрицы смежности
A14 a
7,j
= 0, a
i,7
= 0.
Для орграфа G15, изображенного на рис. 1.10, матрица смежности A15
приведена на рис. 1.11.
Матрица A15 несимметрична относительно диагонали, что связано с
направленностью дуг графа G15.

1. Основные понятия теории графов
22
gv
1
gv
2
gv
4
gv
5
gv
3
gv
6
ge
3
ge
1
ge
2
ge
5
ge
6
ge
4
ge
7
ge
8
gv
7
ge
9
Рис. 1.10. Орграф G15 и его представление в виде матрицы смежности A15
A14 =
gv1
gv2
gv3
gv4
gv5
gv6
gv7
s-(gvi)
gv1 0 0 0 0 1 0 0 1
gv2
1 0 0 0 0 0 0
1
gv3 1 0 0 0 0 0 0 1
gv4 1 0
1 0 0 0 0 2 gv5 0 0 0 1 1 1 0 3
gv6 0 1 0 0
0 0 0 1 gv7 0 0 0 0 0 0 0 0
s+(gvi)
3 1 1 1 2 1 0
Рис. 1.11. Матрица смежности A
15
для орграфа G15
Как и в предыдущем примере для изолированной вершины gv7 элемен-
ты матрицы смежности A15 a
7,j
= 0, a
i,7
= 0, а также расположенные по диа-
гонали элементы матрицы смежности A15 a
i,i
= 0, кроме a
5,5
= 1.
На рис. 1.11 показано, как можно определить полустепени исхода (за-
хода) вершин в орграфе по матрице смежности. Значения полустепеней исхода вершин s-(gvi) определены по строкам матрицы смежности как сумма
единиц, а значения полустепеней захода вершин s+(gvi) определены как
сумма единиц по столбцам матрицы смежности. Аналогично, для неориентированных графов по матрице смежности могут быть получены значения
степеней вершин как сумма единиц в строке или столбце.

1.2. Способы представления графов
23
Для смешанного графа G16 матрица смежности A16 приведена на
рис. 1.12.
gv
1
gv
2
gv
4
gv
5
gv
3
gv
6
ge
3
ge
1
ge
2
ge
5
ge
6
ge
4
ge
7
ge
8
gv
7
ge
9
A14 =
gv1
gv2
gv3
gv4
gv5
gv6
gv7
gv1 0 0 1 1 1 0 0 gv2
1 0 0 0 0 0 0
gv3 1 0 0 1 0 0 0 gv4 1 0
1 0 0 0 0
gv5 0 0 0 1 1 1 0 gv6 0 1 0 0
0 0 0
gv7 0 0 0 0 0 0
0
Рис. 1.12. Смешанный граф G16 и его представление
в виде матрицы смежности A16
Другой вид матрицы в качестве способа задания графа – матрица инцидентности (иногда используют термин матрица инциденций).
Строки матрицы инцидентности I соответствуют вершинам графа,
столбцы матрицы инцидентности I – связям графа, а элементы матрицы заполняются по правилу:
Для мультиграфов в качестве элементов матрицы инцидентности выступают числа кратности связей.
Поскольку в графе одна связь (ребро или дуга) может соединить только две вершины, в матрице инцидентности в каждом столбце чаще всего
будет присутствовать две цифры «1». Исключения составляют два случая:
1) если в графе допускается наличие ребра без инцидентных ему вер-
шин;
2) если в графе присутствуют петли.
В первом случае в матрице инцидентности в столбце, соответствующем изолированному ребру, будет присутствовать только цифры, отличные
от «1». Во втором случае – только одна цифра «1».
Для изолированной вершины графа gvk элементы матрицы инцидент-
ности всегда
= 0. Рассмотрим ряд примеров формирования матрицы ин-

1. Основные понятия теории графов
24
цидентности для различных видов графов. Для неориентированного графа
G14 (рис. 1.13) матрица инцидентности I14 приведена на рис. 1.14.
gv
1
gv
2
gv
4
gv
5
gv
3
gv
6
ge
3
ge
1
ge
2
ge
5
ge
6
ge
4
ge
7
ge
8
gv
7
ge
9
Рис. 1.13. Неориентированный граф G14
I
14
=
ge1
ge2
ge3
ge4
ge5
ge6
ge7
ge8
ge9
gv1 1 1 1 0 0 0 0 1 0 gv2 0 0 1 1 0 0 0 0 0 gv3 0 1 0 0 1 0 0 0 0 gv4 1 0 0 0 1 1 0 0 0 gv5 0 0 0 0 0 1 1 1
1
gv6 0 0 0 1 0 0 1 0
0
gv7 0 0 0 0 0 0 0 0
0
Рис. 1.14. Матрица инцидентности I14 графа G14
Для орграфов в матрице инцидентности возникает необходимость ука-
зать направление дуги, т. е. указать исходную и конечную вершины, инцидентные дуге. Поэтому в матрицах инцидентности для орграфов используют следующее правило заполнения элементов:

1.2. Способы представления графов
25
Для орграфа G15 (рис. 1.15) матрица инцидентности I15 приведена на
рис. 1.16.
gv
1
gv
2
gv
4
gv
5
gv
3
gv
6
ge
3
ge
1
ge
2
ge
5
ge
6
ge
4
ge
7
ge
8
gv
7
ge
9
Рис. 1.15. Орграф G15
I
15
=
ge1
ge2
ge3
ge4
ge5
ge6
ge7
ge8
ge9
gv1
–1
–1
–1 0 0 0 0 -1 0 gv2 0 0
+1
–1 0 0 0 0 0 gv3 0 +1 0 0
–1 0 0 0 0
gv4
+1 0 0 0 +1
–1 0 0
0
gv5 0 0 0 0 0 +1
+1
–1
1
gv6 0 0 0 +1 0 0 1 0
0
gv7 0 0 0 0 0 0 0 0
0
Рис. 1.16. Матрица инцидентности I15 графа G15
В матрице инцидентности I15 петля графа ge9 отмечена цифрой «1» несмотря на то, что петля ge9 является дугой. Для изолированной вершины
gv
7
все элементы матрицы инцидентности
= 0.
Рассмотрим представление мультиграфа матрицей инцидентности. В
этом случае в ячейках помещается коэффициент кратности связей (ребер
или дуг). Поясним сказанное на примере мультиграфа G17 (рис. 1.17), для
которого матрица инцидентности I17 приведена на рис. 1.18.

1. Основные понятия теории графов
26
gv
1
gv
2
gv
4
gv
3
ge
3
ge
1
ge
7
ge
5
ge
6
ge
4
ge
2
ge
8
ge
10
ge
9
Рис. 1.17. Мультиграф G17
В ячейках матрицы I17, кроме символов «0», присутствуют символы
«–1», «+1», «–2», «+2», «–3» и «+3», соответствующие значениям коэффициентов кратности дуг мультиграфа G17.
I
17
=
ge1
ge2
ge3
ge4
ge5
ge6
ge7
ge8
ge9
ge10
gv1
+2
+2
–2
–2 0 0
+3
+3
+3
0
gv2 0 0 0 0 0 0
–3
–3
–3
+1
gv3 0 0
+2
+2
–2
–2 0 0 0 0
gv4
–2
–2 0 0
+2
+2 0 0 0 –1
Рис. 1.18. Матрица инцидентности I17 для мультиграфа G17
Далее рассмотрим способ представления смешанных графов матрица-
ми инцидентности. Для смешанных графов в ячейках матрицы инцидентности допускается сочетание цифр «1», «+1», «–1», и «0».
На рис. 1.20 представлена матрица инцидентности I16 для смешанного
графа G16 (рис. 1.19).
В матрице I16 видно, что для ребер ge1 – ge3, ge9 в столбцах присут-
ствуют символы «1» и «0», а для дуг ge4 – ge8 в столбцах присутствуют
символы «+1», «–1» и «0».
Выше рассмотрены возможности представления матрицами графов с
однотипными связями. Очевидно, для представления графов с разнотипными связями потребуются t-мерные матрицы, где t – количество типов

1.2. Способы представления графов
27
связей, что ограничивает применимость матриц для представления таких
графов. А ведь для решения практических задач в интеллектуальных системах обосновано применение графов с разнотипными связями и вершинами.
gv
1
gv
2
gv
4
gv
5
gv
3
gv
6
ge
3
ge
1
ge
2
ge
5
ge
6
ge
4
ge
7
ge
8
gv
7
ge
9
Рис. 1.19. Смешанный граф G16
I
16
=
ge1
ge2
ge3
ge4
ge5
ge6
ge7
ge8
ge9
gv1 1 1 1 0 0 0 0 +1 0 gv2 0 0 1 –1 0 0 0 0 0 gv3 0 1 0 0
–1 0 0 0 0
gv4 1 0 0 0
+1
–1 0 0
0
gv5 0 0 0 0 0 +1
+1
–1
1
gv6 0 0 0 +1 0 0
–1 0 0
gv7 0 0 0 0 0 0 0 0
0
Рис. 1.20. Матрица инцидентности I16 графа G16
Основным преимуществом представления графа в виде матриц смежности и инцидентности является простота и формальность выполнения
преобразований над графовыми моделями.
Наряду с преимуществами матричное представление графов имеет
свои недостатки:

1. Основные понятия теории графов
28
1) необходимость использования большого объема памяти ЭВМ для
хранения и обработки матриц смежности и инцидентности, например матрица смежности для графа с n вершинами занимает память объемом n2 даже в случае, когда граф содержит (m < n) ребер;
2) затруднение использования матриц для представления графов с раз-
нотипными связями.
Для устранения этих недостатков используют представление графов в
виде списковых структур. Различают списки смежности (adjacency List) и
списки ребер (edge List). Каждая запись в списке содержит голову и хвост
списка [15, 16]. В качестве головы списка выступает одна вершина gvi, от
которой идет связь, а в качестве хвоста списка – другая вершина gvj, к которой идет связь. Причем для петель графа допускается, что i = j.
Списки смежности формируются для каждой вершины графа отдельно. Списки смежности для вершины gvi представляют собой совокупность
всех смежных ей вершин. Для представления графа списками смежности
необходим объем памяти ЭВМ порядка (n + m). В основном таким представлением графа пользуются, когда |Ge| << |Gv|2.
Списки ребер представляют собой последовательную структуру, являющуюся перечислением всех ребер графа. Рассмотрим сказанное на
примерах. Для орграфа G15 с однотипными дугами (см. рис. 1.15) списки
смежности имеют вид:
gv1:
gv3,
gv4,
gv5,
gv2:
gv1, gv3:
gv1,
gv4, La15 =
gv4:
gv1,
gv3,
gv5:
gv4,
gv5,
gv6,
gv6:
gv2,
gv7:
0.
В форме представления списков запись gvi : gvj или (gvi : gvj) означает,
что голова списка – вершина gvi, а хвост списка – вершина gvj.
А списки ребер орграфа G15 могут быть представлены в такой форме:
Le15 = (gv1 : gv3), (gv1 : gv4), (gv1 : gv5), (gv2 : gv1), (gv3 : gv1), (gv3 : gv4),
(gv4 : gv1), (gv4 : gv3), (gv5 : gv4), (gv5 : gv5), (gv5 : gv6), (gv6 : gv2).

1.3. Типы графов. Части и подграфы
29
Покажем возможности использования списков для графов с разнотип-
ными связями на примере графа G13 (рис. 1.21). В может быть представлено как Tp = {tp1, tp2, tp3, tp4, tp5, tp6}.
gv1
gv2 gv3
ge1/tp1 ge2/tp2
ge3/tp3
ge4/tp4
ge5/tp5
ge6/tp6
Рис. 1.21. Смешанный граф с разнотипными связями G13
Списки смежности для графа с разнотипными связями G13 будут за-
писаны в виде:
gv1 :
gv2 (tp2),
gv3 (tp2),
La13 =
gv2 :
gv3 (tp3),
gv3 (tp4),
gv3 :
gv1 (tp2),
gv2 (tp3),
gv3 (tp5),
gv3 (tp6).
А списки ребер для такого графа могут быть представлены в форме:
Le13 = (gv1 : gv2, [tp1]), (gv1 : gv3, [tp2]), (gv2 : gv3, [tp3]), (gv2 : gv3, [tp4]),
(gv3 : gv1, [tp2]), (gv3 : gv2, [tp3]), (gv3 : gv3, [tp5]), (gv3 : gv3, [tp6]).
В данном случае запись вида (gvi : gvj, [tpt]) означает, что голова спис-
ка – вершина gvi, а хвост списка – вершина gvj , а связь между этой парой
вершин с заданным типом tpt.
Разобранные примеры демонстрируют очевидные преимущества спо-
собов представления графов в виде списков, которые позволяют не только
снизить объем аппаратных ресурсов для представления графов по сравнению с матрицами (что является не очень существенным в связи с развитием
технологий облачных вычислений), но и являются достаточно гибкими, а
именно позволяют учитывать различные атрибуты вершин и связей.
1.3. Типы графов. Части и подграфы
Ниже рассмотрим некоторые виды графов с учетом целесообразности
их применения для представления и анализа интеллектуальных систем.
Графы бывают конечные и бесконечные. Граф G = (Gv, Ge) называется
конечным, если конечны множества вершин и связей, его задающих. Ана-

1. Основные понятия теории графов
30
логично, бесконечным считается граф G, если бесконечны задающие его
множества Gv и Ge. Рассмотренные выше графы конечные, а пример бесконечного графа G18 = (Gv18, Ge18) приведен на рис. 1.22. Для такого графа
не определены конечные множества вершин Gv18 и ребер Ge18. Применение
бесконечных графов на практике весьма ограничено.
gvi-1 gvi
gvi+1
gvj-1 gvj
gvj+1
gvl-1 gvl
gvl+1
...
...
...
...
...
...
...
...
...
...
...
...
Рис. 1.22. Пример бесконечного графа G18
Также различают постоянные и динамически изменяющиеся графы.
Постоянным называется граф, который не меняется во времени. Если постоянный граф G изменился со временем, значит он стал другим графом.
Однако для решения ряда практических задач в интеллектуальных системах возникает необходимость использования динамически изменяющихся
графов, например при моделировании процессов в системах в реальном
режиме времени (социальные сети и т. д.). Однако вопросы исследования
динамически изменяющихся графов лежат за рамками данного учебного
пособия.
Известны понятия нуль-графа и полного графа.
Нуль-граф – граф G, заданный множеством вершин Gv ≠ и множе-
ством ребер Ge = . Т. е. каждая вершина нуль-графа gv
i
Gv является изо-
лированной. Нуль-граф обозначается как G0.
Полный граф – граф G, в котором для любой пары вершин имеется
инцидентное им ребро (дуга). То есть в полном графе (gv
i
, gv
j
) ge
k
, где
связь gek соединяет вершины gvi и gvj. Полный граф обозначается как G
пол
=
= (Gv
пол
, Ge
пол
).
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
