ВВЕДЕНИЕ В ТЕОРИЮ ГРАФОВ

Содержание

Слайд 2

1. Основные понятия теории графов

1. Основные понятия теории графов

Слайд 3

ДУГА {A,B} Ориентированный Граф G(V,E) A B D C ВЕРШИНА D

ДУГА {A,B}

Ориентированный Граф G(V,E)

A

B

D

C

ВЕРШИНА D

ДУГА {B,A}

ЦИКЛ (Петля)

МНОЖЕСТВО ВЕРШИН

МНОЖЕСТВО ДУГ

Слайд 4

Неориентированный Граф G(V,E) A B D C ВЕРШИНА А (B,A)=(A,B) МНОЖЕСТВО

Неориентированный Граф G(V,E)

A

B

D

C

ВЕРШИНА А

(B,A)=(A,B)

МНОЖЕСТВО ВЕРШИН

МНОЖЕСТВО РЕБЕР

РЕБРО (A,B)

E

ИЗОЛИРОВАННАЯ ВЕРШИНА

ВИСЯЧАЯ ВЕРШИНА


Слайд 5

Ориентированные и неориентированные графы Ориентированный граф G(V,E), V = {1,2,3,4,5,6} E

Ориентированные и неориентированные графы

Ориентированный граф G(V,E),
V = {1,2,3,4,5,6} E = {{1,2},

{2,2}, {2,4}, {2,5}, {4,1}, {4,5}, {5,4}, {6,3}}

Неориентированный граф G(V,E),
V = {1,2,3,4,5,6} E = {(1,2), (1,5), (2,5), (3,6)}

Подграф графа (а), порожденный множеством вершин {1,2,3,6}

Слайд 6

Основные понятия Вершина графа Смежная Изолированная Висячая Степень вершины исходящая, входящая

Основные понятия

Вершина графа
Смежная
Изолированная
Висячая
Степень вершины исходящая, входящая

Ребро (дуга) графа
Инцидентность
вес
Дуга-цикл

Совокупность

дуг
Путь длины k
Цикл
Ациклический граф
Связный граф
Сильно связный граф
Полный граф
Пустой граф
Лес
Дерево в графе
Слайд 7

Пути и циклы в графе A B D C E G H I J F

Пути и циклы в графе

A

B

D

C

E

G

H

I

J

F

Слайд 8

Изоморфизм графов ИЗОМОРФНЫЕ ГРАФЫ НЕИЗОМОРФНЫЕ ГРАФЫ

Изоморфизм графов

ИЗОМОРФНЫЕ ГРАФЫ

НЕИЗОМОРФНЫЕ ГРАФЫ

Слайд 9

Подграфы A B D C E A B D C E

Подграфы

A

B

D

C

E

A

B

D

C

E

G(V,E)

G’(V’,E’)

G’ подграф G, если E’⊆E и V’ ⊆ V

G’ суграф G,

если E’⊆E и V’ = V
Слайд 10

Клики в графе A B D C E F G

Клики в графе

A

B

D

C

E

F

G

Слайд 11

Двудольные графы A B D C E F G

Двудольные графы

A

B

D

C

E

F

G

Слайд 12

Планарные и плоские графы A B D C E F A

Планарные и плоские графы

A

B

D

C

E

F

A

B

D

C

E

F

Планарный граф

Плоский граф

Слайд 13

2. Алгоритмы на графах

2. Алгоритмы на графах

Слайд 14

Минимальные покрывающие деревья Имеется граф G(V,E) Каждому ребру (u,v) задан неотрицательный

Минимальные покрывающие деревья

Имеется граф G(V,E)
Каждому ребру (u,v) задан неотрицательный вес w(u,v)
Задача:

найти подмножество Т ⊆Е, связывающее все вершины, для которого минимален суммарный вес
w(T)=∑w(u,v)
(u,v)εT
Слайд 15

Отличия теории и практики A B C D A B C

Отличия теории и практики

A

B

C

D

A

B

C

D

A

B

C

D

А

B

C

кратчайшее дерево: А - без дополнительных вершин В

- с дополнительной вершиной С – дерево Штейнера
Слайд 16

Алгоритм Краскала шаг 0 Суммарная длина деревьев = 0 A H

Алгоритм Краскала шаг 0

Суммарная длина деревьев = 0

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 17

Алгоритм Краскала шаг 1 Суммарная длина деревьев = 1 A H

Алгоритм Краскала шаг 1

Суммарная длина деревьев = 1

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 18

Алгоритм Краскала шаг 2 Суммарная длина деревьев = 3 A H

Алгоритм Краскала шаг 2

Суммарная длина деревьев = 3

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 19

Алгоритм Краскала шаг 3 Суммарная длина деревьев = 5 A H

Алгоритм Краскала шаг 3

Суммарная длина деревьев = 5

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 20

Алгоритм Краскала шаг 4 Суммарная длина деревьев = 9 A H

Алгоритм Краскала шаг 4

Суммарная длина деревьев = 9

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 21

Алгоритм Краскала шаг 5 Суммарная длина деревьев = 13 A H

Алгоритм Краскала шаг 5

Суммарная длина деревьев = 13

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 22

Алгоритм Краскала шаг 6 Суммарная длина деревьев = 20 A H

Алгоритм Краскала шаг 6

Суммарная длина деревьев = 20

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 23

Алгоритм Краскала шаг 7 Суммарная длина деревьев = 28 A H

Алгоритм Краскала шаг 7

Суммарная длина деревьев = 28

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 24

Алгоритм Краскала шаг 8 Суммарная длина деревьев = 37 A H

Алгоритм Краскала шаг 8

Суммарная длина деревьев = 37

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 25

Алгоритм Краскала шаг 9 Суммарная длина деревьев = 37 A H

Алгоритм Краскала шаг 9

Суммарная длина деревьев = 37

A

H

G

I

B

F

C

D

E

4

8

2

1

2

4

7

9

Слайд 26

Алгоритм Прима Начало алгоритма: с произвольной вершины К текущему дереву присоединяется

Алгоритм Прима

Начало алгоритма: с произвольной вершины
К текущему дереву присоединяется смежная вершина

с кратчайшим ребром.
Окончание алгоритма: либо все вершины подключены, либо невозможно подключить ни одно ребро.
Слайд 27

Алгоритм Прима шаг 0 Суммарная длина дерева = 0 A H

Алгоритм Прима шаг 0

Суммарная длина дерева = 0

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 28

Алгоритм Прима шаг 1 Суммарная длина дерева = 0 A H

Алгоритм Прима шаг 1

Суммарная длина дерева = 0

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 29

Алгоритм Прима шаг 2 Суммарная длина дерева = 4 A H

Алгоритм Прима шаг 2

Суммарная длина дерева = 4

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 30

Алгоритм Прима шаг 3 Суммарная длина дерева = 12 A H

Алгоритм Прима шаг 3

Суммарная длина дерева = 12

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 31

Алгоритм Прима шаг 4 Суммарная длина дерева = 14 A H

Алгоритм Прима шаг 4

Суммарная длина дерева = 14

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 32

Алгоритм Прима шаг 5 Суммарная длина дерева = 18 A H

Алгоритм Прима шаг 5

Суммарная длина дерева = 18

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 33

Алгоритм Прима шаг 6 Суммарная длина дерева = 20 A H

Алгоритм Прима шаг 6

Суммарная длина дерева = 20

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 34

Алгоритм Прима шаг 7 Суммарная длина дерева = 21 A H

Алгоритм Прима шаг 7

Суммарная длина дерева = 21

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 35

Алгоритм Прима шаг 8 Суммарная длина дерева = 28 A H

Алгоритм Прима шаг 8

Суммарная длина дерева = 28

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 36

Алгоритм Прима шаг 9 Суммарная длина дерева = 37 A H

Алгоритм Прима шаг 9

Суммарная длина дерева = 37

A

H

G

I

B

F

C

D

E

4

8

11

2

7

1

6

2

4

7

8

9

14

10

Слайд 37

Алгоритм Прима шаг 10 Суммарная длина дерева = 37 A H

Алгоритм Прима шаг 10

Суммарная длина дерева = 37

A

H

G

I

B

F

C

D

E

4

2

1

2

4

7

8

9

Слайд 38

КРАТЧАЙШИЕ ПУТИ В ГРАФЕ Алгоритм Дейкстры (Дийкстры) Алгоритм Ли Алгоритм А* (А-звездочка)

КРАТЧАЙШИЕ ПУТИ В ГРАФЕ

Алгоритм Дейкстры (Дийкстры)
Алгоритм Ли
Алгоритм А* (А-звездочка)

Слайд 39

Алгоритм Дейкстры 0 ∞ V 10 5 7 2 9 1

Алгоритм Дейкстры

0


V

10

5

7

2

9

1

8

4

6

U

S

X

Y




3

2

Ищем путь из S ? V

Слайд 40

Алгоритм Дейкстры 0 V 10 5 7 2 9 1 8

Алгоритм Дейкстры

0

V

10

5

7

2

9

1

8

4

6

U

S

X

Y



3

2



Слайд 41

Алгоритм Дейкстры 0 V 10 5 7 2 9 1 8

Алгоритм Дейкстры

0

V

10

5

7

2

9

1

8

4

6

U

S

X

Y



3

2

5

10

Слайд 42

Алгоритм Дейкстры 0 10 V 10 5 7 2 9 1

Алгоритм Дейкстры

0

10

V

10

5

7

2

9

1

8

4

6

U

S

X

Y


5


3

2

Слайд 43

Алгоритм Дейкстры 0 8 V 10 5 7 2 9 1

Алгоритм Дейкстры

0

8

V

10

5

7

2

9

1

8

4

6

U

S

X

Y

5

3

2

14

7

Слайд 44

Алгоритм Дейкстры 0 8 V 10 5 7 2 9 1

Алгоритм Дейкстры

0

8

V

10

5

7

2

9

1

8

4

6

U

S

X

Y

5

3

2

14

7

Слайд 45

Алгоритм Дейкстры 0 8 V 10 5 7 2 9 1

Алгоритм Дейкстры

0

8

V

10

5

7

2

9

1

8

4

6

U

S

X

Y

5

3

2

13

7

Слайд 46

Алгоритм Дейкстры 0 8 V 10 5 7 2 9 1

Алгоритм Дейкстры

0

8

V

10

5

7

2

9

1

8

4

6

U

S

X

Y

5

3

2

13

7

Слайд 47

Алгоритм Дейкстры 0 8 V 10 5 7 2 9 1

Алгоритм Дейкстры

0

8

V

10

5

7

2

9

1

8

4

6

U

S

X

Y

5

3

2

9

7

Слайд 48

Алгоритм А* (Алгоритм оптимального поиска) S V’ V F 9 11 g(v) h(v) F(v)=g(v)+h(v)

Алгоритм А* (Алгоритм оптимального поиска)

S

V’

V

F

9

11

g(v)

h(v)

F(v)=g(v)+h(v)

Слайд 49

Оценка длины пути Точная длина Минимальная оценка Манхеттеновская длина

Оценка длины пути

Точная длина

Минимальная оценка

Манхеттеновская длина

Слайд 50

Алгоритм А* g(v) – стоимость пути от финиша до вершины v.

Алгоритм А*

g(v) – стоимость пути от финиша до вершины v.
h(v) –

нижняя оценка стоимости пути от вершины v до старта.
f(v)=g(v)+h(v) – нижняя оценка стоимости пути от старта к финишу через вершину v.