Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по вышке.doc
Скачиваний:
17
Добавлен:
24.09.2019
Размер:
370.18 Кб
Скачать
  1. Обход графа (алгоритмы «оптимиста» и «пессимиста»).

  1. Алгоритм «оптимиста» состоит из 2-х правил. Правило А. Двигаться по непройденным рёбрам, нумеруя пройденные. Правило Б. Если таких рёбер нет, то двигаться в обратном направлении по последнему пройденному 1 раз ребру.

  2. Алгоритм «пессимиста». Шаг 1. Пройти из вершины а0 к вершинам, отстоящим от него на 1 ребро. Шаг к+1. Из вершины а0 двигаться по незакрытым отмеченным рёбрам до вершин смежных с неотмеченными, и каждое такое ребро отметить меткой к+1 и закрыть его, если оно ведёт в вершину уже отмеченную или являющуюся кольцевой.

Замечание: алгоритм «пессимиста» в отличие от «оптимиста» позволяет сделать обход «бесконечного» графа.

  1. Нахождение кратчайшего пути (алгоритмы Флойда и Дийкстра).

Алгоритм Флойда предназначен для поиска кратчайших путей между всеми парами вершин взвешенного графа. Пусть граф задан матрицей по следующему правилу: A равно

1. 0, если i равно j;

2. бесконечности, если из i в j нет ребра;

3. весу ребра между вершинами i и j в остальных случаях.

Алгоритм Дейкстры предназначен для нахождения кратчайших путей от одной вершины взвешенного графа до всех остальных вершин. Пусть граф представлен в виде матрицы (определенной как в алгоритме Флойда) и необходимо найти кратчайшие пути из вершины с номером N. Алгоритм использует тот факт, что любая часть кратчайшего пути сама является кратчайшим путем между соотвествующими вершинами.

  1. Деревья. Построение сети дорог минимальной стоимости.

Дерево- связанный неориентированный граф без цикла. Теорема: в дереве между любыми 2-мя вершинами А и В существует единственная цепь(маршрут, в кот. Каждая вершина встречается 1 раз). Вершина, локальная степень кот. равна 1 называется концевой. Ребро, смежное с концевой вершиной называется концевым. Остовым деревом графа G называется дерево, являющееся подграфом графа G и содерж. все его вершины.

Построение сети дорог миним. стоимости. Имеется n городов, известна стоимость строит-ва дорог м/у парами городов. Надо построить сеть дорог миним. стоимости, так чтобы от любого города можно было добраться до любого другого.

Замечание: видно, что минимальная сеть дорог должна быть деревом, т.к. при наличии цикла из него можно выбросить ребро, сохранив связанность и уменьшив стоимость сети.

«Жадный алгоритм».

  1. Выбрать минимальное ребро.

  2. Среди оставшихся рёбер, добавление которых к построенной части не приводит к образованию цикла, выбрать ребро минимальной длины а присоединить его к строящемуся дереву.

  3. Правило 2 применять пока возможно.

  1. Построение максимального потока грузов по транспортной сети.

Шаг 1. Полагаем i = 0. Пусть j0 - любой допустимый поток в транспортной сети D. (например, полный; можно начинать с нулевого потока: j0 (x), x О X).

Шаг 2. По сети D и потоку ji строим граф I(D, ji).

Шаг 3. Находим простую цепь hi, являющуюся минимальным путем из v1 в нагруженном графе I(D, ji). Если длина этой цепи равна Ґ, то поток ji максимален, и работа алгоритма закончена. В противном случае увеличиваем поток вдоль цепи hi на максимально допустимую величину ai > 0, где ai О Z (прибавляя ее для каждой дуги x О X, через которую проходит цепь hi, к уже имеющейся величине потока по дуге x, если направления x и hi совпадают, и, вычитая, если направления x и hi противоположны).