Преобразование графа в остовное связанное дерево...

41
Преобразование графа в остовное связанное дерево минимального веса. Алгоритм Крускала

Upload: elysia

Post on 18-Mar-2016

108 views

Category:

Documents


5 download

DESCRIPTION

Преобразование графа в остовное связанное дерево минимального веса. Алгоритм Крускала. Задача. Даны города , часть которых соединен а между собой дорогами. Необходимо проложить маршрут минимальной длины , проходящий через все города. Формализованная модель. Граф G(V,R). 2. 1. 3. 5. 8. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Преобразование графа в остовное связанное дерево минимального веса

Преобразование графа в остовное связанное дерево минимального

веса.

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

Page 2: Преобразование графа в остовное связанное дерево минимального веса

Задача.

Даны города, часть которых соединена между собой дорогами. Необходимо проложить маршрут минимальной длины, проходящий через все города.

Page 3: Преобразование графа в остовное связанное дерево минимального веса

Формализованная модель. Граф G(V,R)

1 2

3

45

6

7

8

Page 4: Преобразование графа в остовное связанное дерево минимального веса

Понятие цикломатического числа

,1 nm

.,

вершинколичествоnреберколичествоmгде

Page 5: Преобразование графа в остовное связанное дерево минимального веса

Цикломатическое число G(8,11)

41811 1 2

3

45

6

7

8

Page 6: Преобразование графа в остовное связанное дерево минимального веса

Примеры возможного остовного связанного дерева.

1 2

3

45

67

8

21

3

45

67

8

Page 7: Преобразование графа в остовное связанное дерево минимального веса

Исходные данные

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 8: Преобразование графа в остовное связанное дерево минимального веса

Матрица смежности1 2 3 4 5 6 7 8

1 0 23 12 10000 10000 10000 10000 10000

2 23 0 25 10000 22 10000 10000 35

3 12 25 0 18 10000 10000 10000 10000

4 10000 10000 18 0 10000 20 10000 10000

5 10000 22 10000 10000 0 23 14 10000

6 10000 10000 10000 20 23 0 24 10000

7 10000 10000 10000 10000 14 24 0 16

8 10000 35 10000 10000 10000 10000 16 0

Page 9: Преобразование графа в остовное связанное дерево минимального веса

Алгоритм Крускала. Шаг 1.

Раскрасить все вершины в разные цвета. Для этого создадим массив С(8).

С(1) С(2) С(3) С(4) С(5) С(6) С(7) С(8)1 2 3 4 5 6 7 8

Page 10: Преобразование графа в остовное связанное дерево минимального веса

1 2 3 4 5 6 7 81 0 23 12 10000 10000 10000 10000 10000

2 23 0 25 10000 22 10000 10000 35

3 12 25 0 18 10000 10000 10000 10000

4 10000 10000 18 0 10000 20 10000 10000

5 10000 22 10000 10000 0 23 14 10000

6 10000 10000 10000 20 23 0 24 10000

7 10000 10000 10000 10000 23 24 0 16

8 10000 35 10000 10000 10000 10000 16 0

Алгоритм Крускала. Шаг 2.

В матрице смежности найти самое короткое неиспользованное ребро (минимального веса).

Page 11: Преобразование графа в остовное связанное дерево минимального веса

1 2 3 4 5 6 7 81 0 23 12 10000 10000 10000 10000 10000

2 23 0 25 10000 22 10000 10000 35

3 12 25 0 18 10000 10000 10000 10000

4 10000 10000 18 0 10000 20 10000 10000

5 10000 22 10000 10000 0 23 14 10000

6 10000 10000 10000 20 23 0 24 10000

7 10000 10000 10000 10000 23 24 0 16

8 10000 35 10000 10000 10000 10000 16 0

Алгоритм Крускала. Шаг 3.

Проверяем, можно ли использовать это ребро (вершины должны быть разного цвета).

Page 12: Преобразование графа в остовное связанное дерево минимального веса

Алгоритм Крускала. Шаг 4.

Добавляем вес найденного ребра к весу остового дерева и перекрашиваем вершины в один цвет (меньший по номеру).

Вернуться к шагу №2.

С(1) С(2) С(3) С(4) С(5) С(6) С(7) С(8)1 2 1 4 5 6 7 8

Page 13: Преобразование графа в остовное связанное дерево минимального веса

Алгоритм на графе. Шаг 1.

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

minW=0

Page 14: Преобразование графа в остовное связанное дерево минимального веса

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Шаг 2.

Page 15: Преобразование графа в остовное связанное дерево минимального веса

Шаг 3.

+

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 16: Преобразование графа в остовное связанное дерево минимального веса

Шаг 4.

minW=12

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 17: Преобразование графа в остовное связанное дерево минимального веса

Шаг 2.

-

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 18: Преобразование графа в остовное связанное дерево минимального веса

Шаг 2.

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 19: Преобразование графа в остовное связанное дерево минимального веса

Шаг 3.

+20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 20: Преобразование графа в остовное связанное дерево минимального веса

Шаг 4.

minW=28

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 21: Преобразование графа в остовное связанное дерево минимального веса

Шаг 2.

-

-20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 22: Преобразование графа в остовное связанное дерево минимального веса

Шаг 2.

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 23: Преобразование графа в остовное связанное дерево минимального веса

Шаг 3.

+

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 24: Преобразование графа в остовное связанное дерево минимального веса

Шаг 4.

minW=46

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 25: Преобразование графа в остовное связанное дерево минимального веса

Шаг 2.

-

--

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 26: Преобразование графа в остовное связанное дерево минимального веса

Шаг 2.

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 27: Преобразование графа в остовное связанное дерево минимального веса

Шаг 3.

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

+

Page 28: Преобразование графа в остовное связанное дерево минимального веса

Шаг 4.

minW=66

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 29: Преобразование графа в остовное связанное дерево минимального веса

Шаг 2.

-

--

-20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 30: Преобразование графа в остовное связанное дерево минимального веса

Шаг 2.

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 31: Преобразование графа в остовное связанное дерево минимального веса

Шаг 3.

+

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 32: Преобразование графа в остовное связанное дерево минимального веса

Шаг 4.

minW=88

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 33: Преобразование графа в остовное связанное дерево минимального веса

Шаг 2.

-

--

-

-

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 34: Преобразование графа в остовное связанное дерево минимального веса

Шаг 2.

20

12

2325

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 35: Преобразование графа в остовное связанное дерево минимального веса

Шаг 3.+

20

12

2325

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 36: Преобразование графа в остовное связанное дерево минимального веса

Шаг 4.

minW=111

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 37: Преобразование графа в остовное связанное дерево минимального веса

Шаг 2.

-

--

-

-

-

-20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 38: Преобразование графа в остовное связанное дерево минимального веса

Шаг 2.

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 39: Преобразование графа в остовное связанное дерево минимального веса

Шаг 3.

+20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 40: Преобразование графа в остовное связанное дерево минимального веса

Шаг 4.

minW=134

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8

Page 41: Преобразование графа в остовное связанное дерево минимального веса

Задача решена.

minW=134

20

12

23

25

18

23

24

16

22

25

23

1 2

3

4

5

6

7

8