Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы_1К_1Семестр_Дискретная_Математика_ПГ_ИТ....doc
Скачиваний:
37
Добавлен:
04.08.2019
Размер:
411.65 Кб
Скачать
  1. Графы. Поиск путей (маршрутов) с минимальным числом дуг (ребер). Алгоритм фронта волны.

Пусть задан ориентированный граф G(V, X).

Путь из vi в vj называется кратчайшим, если он содержит наименьшее число дуг по сравнению со всеми другими путями из vi в vj.

Будем искать кратчайший путь из вершины vi в vj.

1). Пометим вершину vi индексом "0". Она принадлежит фронту волны нулевого уровня W0(vi).

2). Рассмотрим образы вершины vi: Гvi. Пометим их индексом "1". Они принадлежат фронту волны первого уровня: W1(vi).

k). Рассмотрим образы всех вершин k-1ого уровня фронта волны: Г(Wk-1(vi)). Пометим непомеченные ранее вершины индексом k. Получим Wk(vi). Если через n-1 шагов мы не получим ни одном из множеств W1(vi),..., Wn-1(vi) вершины vj, то пути из vi в vj не существует.

Если на некотором шаге мы получили vjОWk(vi), то процесс окончен.

Пусть кротчайший путь содержит следующие вершины: vi " v(1) " v(2) " ..." v(k-1) " vj. Найдём номера вершин v(1),..., v(k-1):

v(k-1) О Wk-1(vi)ЗГ-1vj;

v(k-2) О Wk-2(vi)ЗГ-1v(k-1);

...

v(1) О W1(vi)ЗГ-1v(2);

Путей может быть несколько.

  1. Графы. Минимальные пути (маршруты) в нагруженных орграфах (графах). Алгоритм Форда-Беллмана.

Алгоритм Форда-Беллмана нахождения минимального пути в нагруженном ориентированном графе D из vнач в vкон.( vнач ≠ vкон)

записываем в виде матрицы, i- строка, k-столбец.

1)Составляем таблицу , i=1,…,n, k=0,…,n-1. Если , то пути из vнач в vкон нет. Конец алгоритма.

2)Если то это число выражает длину любого минимального пути из vнач в vкон. Найдем минимальное k1³1, при котором . По определению получим, что k1- минимальное число дуг в пути среди всех минимальных путей из vнач в vкон.

3)Затем определяем номера i2,…, такие, что

,

,

,

то есть, восстанавливаем по составленной таблице и матрице стоимости искомый минимальный путь из vнач в vкон.

  1. Графы. Деревья и циклы.

Граф G называется деревом, если он является связным и не имеет циклов. Граф G, все компоненты связности которого являются деревьями, называется лесом.

У графа, который является деревом, число ребер на единицу меньше числа вершин. Дерево не содержит циклов, любые две его вершины можно соеденить единственной простой цепью.

Если у дерева G есть, по крайней мере, одно ребро, то у него обязательно найдется висячая вершина, т.к. в противном случае в графе будет цикл.

Для графов, которые сами по себе не являются деревьями, вводится понятие остовного дерева.

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

Пусть G – связный граф. Тогда остовное дерево графа G (если оно существует) должно содержать n(G)-1 ребер.

Таким образом, любое остовное дерево графа G есть результат удаления из графа G ровно m(G) - (n(G) - 1) = m(G) – n(G) + 1 ребер.

Число v(G) = m(G) – n(G) + 1 называется цикломатическим числом связного графа G.

  1. Графы. Эйлеровы цепи и циклы.

Цепь (цикл) в G называется эйлеровой (эйлеровым), если она (он) проходит по одному разу через каждое ребро псевдографа G.

Граф является эйлеровым, если он содержит эйлеров цикл.

Рассмотрим вопрос о наличии эйлеровой цепи и цикла в псевдографе.

Теорема. Связный граф является эйлеровым тогда и только тогда, когда каждая вершина имеет четную локальную степень.

Теорема. Связный граф содержит эйлерову цепь тогда и только тогда, когда ровно две вершины имеют нечетную локальную степень.