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

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

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

Маршрутом коммивояжера является гамильтонов контур — контур, вклю- чающий каждую вершину графа ровно один раз.

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

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

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

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

Недостатки:

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

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

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

1 2 3 7 10 9 8

5 6 4 1

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

1 2 4 6 3 7 10

9 8 5 1

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

1 4 2 3 6 5 8

9 10 7 1

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

1 4 2 3 6 7 10

9 8 5 1

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

1 4 2 3 7 6 9

10 8 5 1

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

1 4 2 3 7 10 8

9 6 5 1

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

1 4 2 3 7 10 9

6 5 8 1

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

1 4 2 3 7 10 9

6 8 5 1

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

1 4 2 3 7 10 9

8 6 5 1

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

1 5 6 4 2 3 7

10 9 8 1

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

1 5 8 10 9 6 4

2 3 7 1

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

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

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

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

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

109 12

3 4

10 15

3 4

27 30 0 57

2 5 2 5

0 1 6 22

27 1

6 100

10 10

65

7 10

41 109

10 7

82

9

33 8

9

33 8

62

75

109

102

1 −→ 4 −→ 2

1 −→ 4

1 −→ 5

1 −→ 4 −→ 6

1 −→ 4 −→ 6 −→ 7

1 −→ 8

1 −→ 4 −→ 6 −→ 9

1 −→ 4 −→ 6 −→ 9 −→ 10

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

2 −→ 4 −→ 1

2 −→ 3

2 −→ 4

2 −→ 4 −→ 1 −→ 5

2 −→ 3 −→ 6

2 −→ 4 −→ 1 −→ 7

2 −→ 4 −→ 1 −→ 8

2 −→ 4 −→ 1 −→ 8 −→ 10

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

0 25 25 0

37 35 12 10

9

33 8

9

33 8

67

108

50

83

3 −→ 2 −→ 4 −→ 1

3 −→ 2

3 −→ 2 −→ 4

3 −→ 2 −→ 4 −→ 1 −→ 5

3 −→ 2 −→ 4 −→ 6

3 −→ 2 −→ 4 −→ 6 −→ 7

3 −→ 2 −→ 4 −→ 6 −→ 8

3 −→ 2 −→ 4 −→ 6 −→ 7 −→ 10 −→ 9

3 −→ 2 −→ 4 −→ 6 −→ 7 −→ 10

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

4 −→ 1

4 −→ 2

4 −→ 2 −→ 3

4 −→ 1 −→ 5

4 −→ 6

4 −→ 6 −→ 7

4 −→ 6 −→ 8

4 −→ 6 −→ 9

4 −→ 6 −→ 7 −→ 10

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

109 42

3 4

90 10

3 4

25 52

57 0 2 5

2 5

30 1

6 52

22 1 6 0

10 10 7

81 71

9 33 8

84 80

10 10 7

29 19

9 33 8

32 36

6 −→ 4 −→ 1

5 −→ 1

5 −→ 1 −→ 4 −→ 2

6 −→ 4

−→ 2

6 −→ 3

5 −→ 1 −→ 4

5 −→ 1 −→ 4 −→ 6

6 −→ 4

6 −→ 4 −→ 1 −→ 5

5 −→ 1 −→ 4 −→ 6 −→ 7

5 −→ 8

6 −→ 7

6 −→ 7 −→ 10 −→ 8

5 −→ 1 −→ 4 −→ 6 −→ 7 −→ 10 −→ 9

5 −→ 1 −→ 4 −→ 6 −→ 7 −→ 10

6 −→ 7

−→ 10 −→ 9

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

6 −→ 7 −→ 10

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

54 29 85 60

41 19 72 50

13 17

7 −→ 6 −→ 4 −→ 1

7 −→ 6 −→ 4 −→ 2

7 −→ 6 −→ 4 −→ 2 −→ 3

7 −→ 6 −→ 4

7 −→ 6 −→ 4 −→ 1 −→ 5

7 −→ 6

7 −→ 10 −→ 8

7 −→ 10 −→ 9

7 −→ 10

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

10 0

8 −→ 10 −→ 7 −→ 1

8 −→ 10 −→ 9 −→ 6 −→ 4 −→ 2

8 −→ 10 −→ 9 −→ 6 −→ 4 −→ 2 −→ 3

8 −→ 10 −→ 9 −→ 6 −→ 4

8 −→ 5

8 −→ 10 −→ 9 −→ 6

8 −→ 10 −→ 7

8 −→ 10 −→ 9

8 −→ 10

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

75 50 78 53

68 40 65 43

0 10

9 −→ 10 −→ 7 −→ 1

9 −→ 6 −→ 4 −→ 2

9 −→ 6 −→ 4 −→ 2 −→ 3

9 −→ 6 −→ 4

9 −→ 10 −→ 8 −→ 5

9 −→ 6

9 −→ 10 −→ 7

9 −→ 10 −→ 8

9 −→ 10

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

3 7

10 −→ 7 −→ 1

10 −→ 9 −→ 6 −→ 4 −→ 2

10 −→ 9 −→ 6 −→ 4 −→ 2 −→ 3

10 −→ 9 −→ 6 −→ 4

10 −→ 8 −→ 5

10 −→ 9 −→ 6

10 −→ 7

10 −→ 8

10 −→ 9

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

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