Professional Documents
Culture Documents
!7 ДМ - ЛК - ТГ
!7 ДМ - ЛК - ТГ
Ф
РА
Г
ІЇ
Р
О
Е
Т
А
И
В
Т Н К А С
Н
О
Е
О
Р Т И 7
.
С К А
И Е М
Д АТ
М
ІВ Т
Е
АФ
Р
ЇІ Г
О Р
Т Е
ВИ
НО
О С
g 3
c
4
f
5
ХНУРЕ, кафедра Штучного інтелекту, доц. Чала Л.Е. 5
Відношення суміжності та інцидентності
Визначення
Вершини й ребра графа називаються також елементами графа,
число вершин у графі |V| – порядком, число ребер |E| – розміром
графа.
Вершини u й v називаються кінцевими вершинами (або просто
кінцями) ребра e={u,v}. Ребро, у свою чергу, з'єднує ці вершини.
(У орієнтованому графі вершина, з якої виходить дуга, називається її
початком, вершина, в яку заходить дуга – кінцем.)
Дві кінцеві вершини ребра називаються сусідніми (суміжними).
Два ребра називаються суміжними, якщо вони мають загальну
вершину.
Вершина називається інцидентною ребру, якщо вона є його кінцевою
вершиною.
1 a 2
h
6
b
e
d
g 3
c
4
f
5
Визначення
Неорієнтований граф:
Ступінь вершини v (позначається d(v) або deg(v)) - це число
ребер інцидентних v (причому петля рахується двічі).
Ступінь ізольованої вершини дорівнює 0.
Ступінь висячої вершини дорівнює 1.
Орієнтований граф:
d+(v) ― напівступень виходу (кількість дуг, які виходять з
вершини)
d−(v) ― напівступень заходу (кількість дуг, які входять у
вершину)
Петля додає одиницю і до напівступеню виходу, і до
напівступеню заходу.
ХНУРЕ, кафедра Штучного інтелекту, доц. Чала Л.Е. 8
Лема про рукостискання
1 a 2
h
6 d(1)=5
b d(2)=3
e
d
d(3)=2
g 3 d(4)=5
c d(5)=1
4 d(6)=0
f
5
m E 8 ( x) 5 3 2 5 1 0 16 2m
x X
a
d+(1) =2
1 b d-(1) =0
d+(2) =1
d
c d-(2) =2
3
d+(3) =0
d-(3) =1
4
d+(4) =1
d+(vi)= d−(vi)=4 d-(4) =1
a
Шляхи:
1 b
c (5, 1, 2) – елементарний;
d (5, 6, 3, 2) – елементарний;
3 (4, 5, 1, 4, 2) – простий
4
e
f
g Цикл:
(1, 4, 5, 1) - елементарний
h
5 6
a b c a b c a c a b c
d e f d e f d e f d e
G G1 G2 G3
g e
b f g f f
G1 G2 G3
d
e
3
c
4 Зв’язний Незв’язний
граф граф
4
8
9
6 5 7
K1 K2 K3 K4 K5
Графи-зірки
• Геометрична реалізація
• Список ребер
• Матриця суміжності
• Матриця інциденцій
a b
{{a,b},{b,c},{a,c},{c,d}}
c d
a
a
1 b
1 b
c
c d
3
d 4
3
4 e
f
g
e
f
g
h
5 6
h
5 6
1 2 3 4 5 6 1 2 3 4 5 6
1 0 1 0 1 0 0 1 0 1 0 1 1 0
2 0 0 0 0 0 0 2 1 0 1 1 0 0
3 0 1 0 0 0 0 3 0 1 0 0 0 1
4 0 1 0 0 1 0 4 1 1 0 0 1 0
5 1 0 0 0 0 1 5 1 0 0 1 0 1
6 0 0 1 0 0 0 6 0 0 1 0 1 0
a
a
1 b
1 b
c
c d
3
d 4
3
4 e
f
g
e
f
g
h
5 6
h
5 6
a b c d e f g h a b c d e f g h
1 1 0 0 1 -1 0 0 0 1 1 0 0 1 1 0 0 0
2 -1 -1 -1 0 0 0 0 0 2 1 1 1 0 0 0 0 0
3 0 1 0 0 0 0 -1 0 3 0 1 0 0 0 0 1 0
4 0 0 1 -1 0 1 0 0 4 0 0 1 1 0 1 0 0
5 0 0 0 0 1 -1 0 1 5 0 0 0 0 1 1 0 1
6 0 0 0 0 0 0 1 -1 6 0 0 0 0 0 0 1 1
• Теоретико-множинні операції
• Операція видалення ребра
• Операція видалення вершини
• Операція введення ребра
• Операція введення вершини в
ребро
• З’єднання графів
• Композиція графів
• Декартів добуток графів
1 1
u v
u v
2 3 4 5
2 3 4 5
6
6
G G(u)
u e v u e1 w e2 v
u u
w w
G
1 2 1 2 5
5
2
3
4 3 4 3
4
G2 G2UG1
G1
1 4 1 4
=
2 2
5 5
3
G1 G2
3
G1UG2
1 2 1 2
5
2
3
4 3 3
4
G2 G2∩G1
G1
3
1 4
2 5
2 5 6
3 4
K3,3
K5
G3
G2
G1
1
2
5
3 4
Множини ребер, що утворять границі граней, можуть бути різними для різних
плоских укладань того самого графа.
1
2
5
3 4
1 2 3 4 8 7 6 5
7 6 5
1 2 3
Граф з двох компонент
4 5 6
Зв’язний граф
ХНУРЕ, кафедра Штучного інтелекту, доц. Чала Л.Е.
Визначення
1 2 3
звідки виходить, що діаметр
графа d(G)=2.
4 5 6
1 3
ХНУРЕ, кафедра Штучного інтелекту, доц. Чала Л.Е.
Визначення
Центром графа G називається множина всіх його
центральних вершин; центр може складатися з однієї
вершини, може – із двох і більше вершин.
Приклад
У графі на рисунку два центри – вершини 3 і 5.
1 2 3
5 4 6
Теорема 2.
Якщо у зв'язному графі дві вершини непарні, а всі інші – парні,
те цей граф містить ейлерів розімкнутий ланцюг.
Теорема 4.
У будь-якому зв'язному графі можна побудувати замкнутий
маршрут, що проходить через кожне ребро точно два рази.
c
f
e d
a b c d e f
1 b c a c c a
2 – e d f d b
3 – – – – – c
1
2
1 2
7 7
3
6
5 3
6
4
4
5
Визначення
Деревом називається зв'язний граф, що не
містить жодного циклу.
Хордою кістяка D у зв'язному графі G 1 2
1 3
s1 s2 s4 5 s5
s3 y4 y5
4 6
1 s6
y6
y3 7
y1
2 y2
3
Визначення
2 3 2 3 2 3
4 1 5 1 6 1
2 3 2 3 2 3
1 1
7 8
2 3 2 3
4 3 4 3 4 3 4 3 4 3 4 3 4 3 4 3
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2
4 3 4 3 4 3 4 3 4 3 4 3 4 3 4 3
hB= 1 hH= 2
hC= 2 hI= 1
hD= 3 hJ= 2
hE= 2 hK= 2
hF= 2 h= 3
hG= 1 d= 4
ХНУРЕ, кафедра Штучного інтелекту, доц. Чала Л.Е. 127
Приклад
Всі кореневі дерева із числом вершин 3 та 4.
n=3 n=4
Визначення
Застосуємо операцію руйнування циклів до кожного
циклу графа, зберігаючи зв’язність. Тоді в графі не
залишиться циклів і вийде зв'язний частковий граф,
що є деревом.
Отримане дерево називається остовом (кістяком),
тобто кістяком називається зв'язний частковий граф
даного зв'язного графа G, що містить всі вершини
графа G, але не має циклів.
2 2 2
1 3 1 3 1 3
4 4 4
3 1 1
2 1 1 1 1 2
K1,1 1 2 1 3 det (1) det (1) det 35 4 3 8
1 3 1 3 1 1
1 1 3
Існує вісім остовних дерев графа G.
25 16 25 16
28 3 28 3
17 17
5 4 5 4
Шаг 1 Шаг 2
20 20
1 2 1 2
23 1 15 23 1 15
4 4
36 9 36 9
6 7 3 6 7 3
25 16 25 16
28 3 28 3
17 17
5 4 5 4
Шаг 3 Шаг 4
ХНУРЕ, кафедра Штучного інтелекту, доц. Чала Л.Е. 136
Алгоритм
Краскала
Приклад
20 20
1 2 1 2
23 1 15 23 1 15
4 4
36 9 36 9
6 7 3 6 7 3
25 16 25 16
28 3 28 3
17 17
5 4 5 4
Шаг 5 Шаг 6
eGT
c(e) 57
Алгоритм Прима
20
1 2
Обираємо ребро з мінімальною
23 15
1
4
вагою. Включаємо його в остів.
36 9 Додаємо до нього суміжне ребро з
6 7 3
мінімальною вагою. Продовжуємо
25 16
28 3 додавати ребра, суміжні
17
5 4 отриманому на попередньому
кроці остову. Закінчуємо, коли всі
вершини включені в остів.
На кожному кроці отримуємо
зв’язний підграф.
Алгоритм Борувки
20 Для кожної вершини обираємо так
1 2
зване «безпечне» ребро –
23 1 15
4 інцидентне вершині ребро з
6
36
7
9
3
мінімальною вагою. Включаємо усі
«безпечні» ребра в остів.
25 16
28 3 З’єднуємо отримані підграфи
17
5 4 ребрами з мінімальною вагою.
Закінчуємо, коли всі вершини
включені в остів.
3 5
1 8 7 10 13
2 4 6 9 11 12
2 3 4 6
ХНУРЕ, кафедра Штучного інтелекту, доц. Чала Л.Е. 143
ХНУРЕ, кафедра Штучного інтелекту, доц. Чала Л.Е.
ХНУРЕ, кафедра Штучного інтелекту, доц. Чала Л.Е.
ХНУРЕ, кафедра Штучного інтелекту, доц. Чала Л.Е.
Бінарні дерева
2 9
3 6 10
4 5 7 8 11 12
Порядок обхода
Синонимические названия
1. «в глубину » 1. «в ширину» снизу вверх
2. лексикографический
3. внутренний
Форма задания
Префиксная Инфиксная Постфиксная
4 3
6 7 8 5
2 9
1
4 3
6 7 8 5
2 9
4 3
6 7 8 5
2 9
* -
6 ln 8 5
• Алгоритм Дейсктри;
• Алгоритм Флойда;
• Алгоритм Данцига;
• Алгоритм А*
• тощо...
Алгоритм Дейкстри
4 3
Приклад 3
8
6
1
9
9
1 2 4
2
Використовуючи алгоритм Дейкстри, в 5 4
2 5 8
графі знайти найкоротші відстані від 1 8
вершини 1 до всіх інших вершин. 7
1
6 4
2
7 3
1 4 7
Алгоритм Дейкстри
4 3
3 6 9
Приклад 1
8
2 2
1
9
4
5 4
2 5 8
1 8
7
1 4
6 2
7 3
1 4 7
Алгоритм Дейкстри
4 3
3 6 9
Приклад 1
8
2 2
1
9
4
5 4
2 5 8
1 8
7
1 4
6 2
7 3
1 4 7
Алгоритм Дейкстри
4 3
3 6 9
Приклад 1
8
2 2
1
9
4
5 4
2 5 8
1 8
7
1 4
6 2
7 3
1 4 7
Алгоритм Дейкстри
4 3
3 6 9
Приклад 1
8
2 2
1
9
4
5 4
2 5 8
1 8
7
1 4
6 2
7 3
1 4 7
Алгоритм Дейкстри
4 3
3 6 9
Приклад 1
8
2 2
1
9
4
5 4
2 5 8
1 8
7
1 4
6 2
7 3
1 4 7
Алгоритм Дейкстри
4 3
3 6 9
Приклад 1
8
2 2
1
9
4
5 4
2 5 8
1 8
7
1 4
6 2
7 3
1 4 7
Алгоритм Дейкстри
4 3
3 6 9
Приклад 1
8
2 2
1
9
4
5 4
2 5 8
1 8
7
1 4
6 2
7 3
1 4 7
Алгоритм Дейкстри
4 3
3 6 9
Приклад 1
8
2 2
1
9
4
5 4
2 5 8
1 8
7
1 4
6 2
7 3
1 4 7
5 2 5 3 3 9
9
5 5
8 3 7 11 7
2 3
1 4 5 1 14
9 6
6 7
4 8 12
6 2 6 3 1
3 9
5 9 13
4 5
2;2 3
1 4 5;2 1 14
9;6 6;6
6;6 7;6
4 8 12
6;4 2 6 3 1
3 9;4
5 9 13
4;4 5;4
2;2 3
1 4 5;2 1 14
9;6 6;6
6;6 7;6
4 8 12
6;4 2 6 3 1
3 9;4
5 9 13
4;4 5;4
ХНУРЕ, кафедра Штучного інтелекту, доц. Чала Л.Е.
Визначення
5 2 5 3 3 9
9
5 5
8 3 7 11 7
2 3
1 4 5 1 14
9 6
6 7
4 8 12
6 2 6 3 1
3 9
5 9 13
4 5
6 7
2 6 10
5 2 5 3 3 9
9
5 5
8 3 7 11 7
2 3
1 4 5 1 14
9 6
6 7
4 8 12
6 2 6 3 1
3 9
5 9 13
4 5
2 3
1 4 5 1 14
9;6 6;6
6;6 7;6
4 8 12
6;4 2 6 3 1
3 9;4
5 9 13
4;4 5;4
ХНУРЕ, кафедра Штучного інтелекту, доц. Чала Л.Е.
Приклад
2 3
1 4 5 1 14
9;6 6;6
6;6 7;6
4 8 12
6;4 2 6 3 1
3 9;4
5 9 13
4;4 5;4
ХНУРЕ, кафедра Штучного інтелекту, доц. Чала Л.Е.
Приклад
Третя ітерація: вибираємо ланцюг (1, 3, 8, 7, 10, 14). По цій
дузі ми можемо пропустити течію величиною 2 (тому що
пропускна здатність дуги (3,8) дорівнює 2). Отримуємо
сумарну течію, рівний 22 + 2 = 24. На рисунку зображена
мережа з течією, рівною 24.
6;6 7;6;7
2 6 10
2;2 3
1 4 5;2 1 14
9;6 6;6
6;6 7;6
4 8 12
6;4 2 6 3 1
3 9;4
5 9 13
4;4 5;4
ХНУРЕ, кафедра Штучного інтелекту, доц. Чала Л.Е.
Приклад
Четверта ітерація: вибираємо ланцюг (1, 4, 9, 13, 14). По цій
дузі ми можемо пропустити течію величиною 1 (тому що
пропускна здатність дуги (9, 13) дорівнює 5). Отримуємо
сумарну течію, рівну 24 + 1 = 25. На рис. 5 зображена
мережа з течією, рівною 25.
6;6 7;6;7
2 6 10
5;5 5;5
8;5;7 3 7 11 7;5
2;2 3
1 4 5;2 1 14
9;6;7 6;6
6;6 7;6
4 8 12
6;4 2;1 6 3 1
3 9;4;5
5 9 13
4;4 5;4;5
ХНУРЕ, кафедра Штучного інтелекту, доц. Чала Л.Е.