Первая пара

Содержание:

Задача о мин. остове

Дан взвешанный граф

$G = (V, E, c)$

Остов - подграф, являющийся деревом и содержащий все вершины исходного графа.

$T$ - остов ($T \subset E$), если:

  1. $T$ - дерево
  2. граф $T = (V, E, c)$ содержит все вершины

Решения:

1. Алгоритм Борувки-Краскла

(Жадный алгоритм)

Почему?

Жадные алгоритмы начинают с тривиального леса $r_0$

Алгоритм:

  1. Начать с тривиального леса $r_0$
  2. До тех пор, пока текущий лес $r$ не сольётся в одно дерево, проводить приращение $r$ по минимальному внешнему ребру

Сложность: $O(n\ln_{n})$

2. Алгоритм Ярника-Прима-Дейкстры

(Пожирающий алгоритм)

Алгоритм:

  1. Одну из вершин объявить растущим деревом
  2. Пока растущее дерево не стало остовом, проводить приращение по минимальному внешнему ребру

Сложность: $O(n^{2})$

Проектирование радиоизделий

******************
*            ##  *
*  ###-------##  *
*  # #       |   *
*  ###     ####  *
*     ##---#  #  *
*     ##   ####  *
*                *
******************

1. Задача о размещении изделий на плате

2. Задача о трассировке

$A = (x_1, y_1)$

$B = (x_2, y_2)$

$\sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2}$ - так расстояние никто не считает

Первая (Манхеттенова) метрика

$p_1 = \mid x_1 - x_2\mid + \mid y_1 - y_2\mid$

Задача Штейнера

Задан взвешенный граф

$G = (V, E, c)$

Задано множество выделенных вершин $V’ \subset V​$

Требуется найти подграф $G’ = (V’’, E’’, c)$ графа $G$, такой, чтобы:

  1. $G’$ - минимального веса
  2. $V’’ \supset V’$

  3. $G’​$ - дерево

Задачи о кратчайших путях

Задан ориентированный взвешанный граф (сеть)

$G = (V, E, c)$

Задана вершина $v \in V$

$\forall u, w$ стоимость $p = (u, w)$ - путь

$\mid p\mid = \sum {p(e), e \in p}$

Требуется:

Для заданной пары $v,w​$ найти $(v, w)​$-путь минимального веса

Общий случай

В $G$ нет контура отрицательной длины

Алгоритм Форда-Беллмана

$d_k(w)$ - длина кратчайшего $(w, v)$-пути, среди всех путей, содержащих не более $k$ ребер.

Алгоритм:

Последовательно вычислять для всех $k, w$: $d_1(w), d_2(w), .., d_{n-1}(w)$

используя равенство: $d_{n-1}(w)$ - ответ