Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТИМ Примеры решения / Курсач ДЗ ТИМ вариант 10.docx
Скачиваний:
8
Добавлен:
09.04.2016
Размер:
1.88 Mб
Скачать
  1. Синтез сети межузловой связи.

Нахождение циклов наименьшей длины представляет собой «задачу ком- мивояжера» — задачу поиска маршрута коммивояжера наименьшей длины. Точным решением «задачи коммивояжера» является результат, получен-

ный в результате перебора всех вариантов маршрута.

Маршрутом коммивояжера является гамильтонов контур — контур,

включающий каждую вершину графа ровно один раз.

Для решения задачи коммивояжера можно использовать эвристические алгоритмы. Эвристические алгоритмы являются приближенными. Они

строятся с использованием рациональных, с точки зрения логики человека, правил выполнения вычислений.

Сравним эвристические и точные алгоритмы.

Достоинства:

  • эвристических — быстрые, меньше вычислений,

  • точных — высокая точность результатов.

Недостатки:

  • эвристических — приблизительная точность,

  • точных — высокая длительность вычислений.

11

Рисунок 4.1 – Цикл Рисунок 4.2 - Цикл

1 2 3 7 10 9 8 1 2 4 6 3 7 10

5 6 4 1 9 8 5 1

Рисунок 4.3 – Цикл Рисунок 4.4 - Цикл

1 4 2 3 6 5 8 1 4 2 3 6 7 10

9 10 7 1 9 8 5 1

12

Рисунок 4.5 – Цикл Рисунок 4.6 - Цикл

1 4 2 3 7 6 9 1 4 2 3 7 10 8

10 8 5 1 9 6 5 1

Рисунок 4.7 – Цикл Рисунок 4.8 - Цикл

1 4 2 3 7 10 9 1 4 2 3 7 10 9

6 5 8 1 6 8 5 1

13

Рисунок 4.9 – Цикл Рисунок 4.10 - Цикл

1 4 2 3 7 10 9 1 5 6 4 2 3 7

8 6 5 1 10 9 8 1

Рисунок 4.11 – Цикл

1 5 8 10 9 6 4

2 3 7 1

14

  1. Нахождение кратчайших путей

Для нахождения минимальных расстояний от одной вершины графа до всех остальных применяется алгоритм Дейкстры.

Алгоритм Дейкстры (Dijkstra’s algorithm) — алгоритм на графах,

изобретённый нидерландским ученым Э. Дейкстрой в 1959 году. Находит кратчайшее расстояние от одной из вершин графа до всех остальных. Алгоритм работает только для графов без рёбер отрицательного веса. Алгоритм широко применяется в программировании и технологиях, например, его использует протокол OSPF для устранения кольцевых маршрутов.

В начале алгоритма расстояние для начальной вершины полагается

равным нулю, а все остальные расстояния заполняются большим положительным числом (большим максимального возможного пути в графе). Массив флагов заполняется нулями. Затем запускается основной цикл.

На каждом шаге цикла мы ищем вершину с минимальным расстоянием и флагом равным нулю. Затем мы устанавливаем в ней флаг в 1 и проверяем все соседние с ней вершины. Если в ней расстояние больше, чем сумма расстояния до текущей вершины и длины ребра, то уменьшаем его. Цикл завершается когда флаги всех вершин становятся равны 1, либо когда у всех вершин c флагом 0 длина равна значению, большему максимально возможного пути в графе. Последний случай возможен тогда и только тогда, когда граф не связан.

15

1 2

1 23

1 4

1 5

1 7 6

1 7

1 8

1 7 10 9

1 7 10

Рисунок 5.1 – Пути из вершины 1

16

2 1

2 3

2 4

2 1 5

2 3 76

2 3 7

2 3 68

2 3 7 10 9

2 3 7 10

Рисунок 5.2 – Пути из вершины 2

17

3 2

37 1

3 2 4

32 1 5

36

3 7

368

3 7 10 9

3 7 10

Рисунок 5.3 – Пути из вершины 3

18

4 1

42

4 2 3

41 5

41 7 6

4 1 7

418

4 1 7 109

4 1 7 10

Рисунок 5.4 – Пути из вершины 4

19

5 1

512

5 1 2 3

51 4

58 6

5 1 7

58

59 9

5 1 7 10

Рисунок 5.5 – Пути из вершины 5

20

6 7 1

632

6 3

67 1 4

65

6 7

68

68 10 9

6 8 10

Рисунок 5.6 – Пути из вершины 6

21

7 1

732

7 3

7 1 4

715

76

768 или 718

710 9

7 10

Рисунок 5.7 – Пути из вершины 7

22

8 1

8632

8 6 3

8 1 4

85

86

867 или 817

810 9

8 10

Рисунок 5.8 – Пути из вершины 8

23

9 10 7 1

910732

9 10 7 3

9 10 7 1 4

910 8 5

910 8 6

9107

910 8

9 10

Рисунок 5.9 – Пути из вершины 9

24

10 7 1

10732

10 7 3

10 7 1 4

108 5

108 6

107

108

10 9

Рисунок 5.10 – Пути из вершины 10

25

Соседние файлы в папке ТИМ Примеры решения