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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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















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

Введение

граф алгоритм маршрут

При конструировании радиоаппаратуры и других электронных устройств возникает задача об оптимальном размещении компонентов на печатной плате, или отдельных элементов в корпусе устройства. Помощь в ее решении могут оказать различные алгоритмы теории графов, один из них будет изложен в этой работе.

1. Теоретическая часть

.1 Постановка задачи

1) Определить минимальный путь из υ1 в υ7 в нагруженном орграфе D, причем он должен иметь минимальное число дуг среди всех возможных минимальных путей. Орграф D: около каждой дуги указана ее длина.


Составлена (7 ˟ 7) - матрица C(D) длин дуг нагруженного орграфа D.

υ1υ2υ3υ4υ5υ6υ7υ1∞∞9∞∞212υ21∞∞∞124υ321∞∞1∞2υ4∞11∞∞1 ∞υ512∞2∞∞∞υ6∞∞∞∞1∞8υ7∞21∞12∞

2) Составить матрицу смежности A = (aij) для данного графа.

) Составить матрицу инцидентности B = (bij) для данного графа.

1.2 Основные понятия теории графов

Пусть υ - не пустое множество и Х - некоторый набор пар элементов из V вида (υ, ω), υ, ω € V. Элементы множества V - вершины, множества X - ребра графа.

X = {( υ1, υ2), (υ2, υ3), (υ1, υ4), (υ4, υ4)}

Ребро вида (υ, υ) называется петлей, одинаковые пары во множестве X называются кратными ребрами.

Количество одинаковых пар (υ, ω) называется кратностью ребра υ, ω.

Множество V и набор Х определяют псевдограф G(V, X), т. е. граф с кратными ребрами и петлями.

Псевдограф без петель называется мультиграфом.

Если во множестве X нет кратных ребер, то G(V, X) называется графом.

Если во множестве Х пары являются упорядоченными, то граф называется ориентированным графом или орграфом.

Ребра орграфа называются дугами.

Если граф не ориентированный и х = (υ, ω) - ребро, то вершины υ и ω называются концами ребра х.

Если же граф ориентированный, то υ называется началом дуги х, а ω - концом дуги х.

Вершина υ и ребро х называются инцидентными.

Вершины υ и ω называются смежными, если они имеют общую вершину.

Степенью вершины υ называется число δ(υ) ребер графа инцидентных данной вершине.

Вершина, имеющая степень 0 называется изолированной, 1 - висячей.

Последовательность υi1xi1, υi2xi2, …, υikxik, υik+1, k ≥ 1, υij € V, xij € X, в которой чередуются вершины и ребра (дуги) и ребро xij (υij, υij+1) называется маршрутом, соединяющим вершины υi1 и υik+1.

υi1 называется начальной вершиной. υik+1 называется конечной вершиной. Остальные - внутренние.

Одна и та же вершина может быть одновременно и начальной, и конечной, и внутренней.

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

Для орграфа маршрут называется путь.

Число ребер или дуг в маршруте (пути) называется его длинной.

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

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

Цепь, в которой все вершины попарно различны, называется простой.

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

Цикл, в котором внутренние вершины попарно различны, называется простым.

Матричные способы задания графов.

Пусть ϧ(υ, x) - граф

V = {υ1, υ2, …, υn}

X = {x1, x2, …, xn}

Матрицей смежости называется квадратная матрица А n - ого порядка, элементы которой определяются формулой:

A = (aij) aij = 1, (υi, υj) € X

0, (υi, υj) не € X

Если дан псевдограф, то aij = 0, (υi, υj) € X k, k - кратность ребра

Матрицей инцидентности называется матрица В размера M x N, элементы которой определяются по формуле:

B = (bij) bij = 0, υi не инцидентна xj

1, υi есть конец дуги xj

-1, υi есть начало дуги xj

Пусть D - ориентированный мультиграф с непустым множеством дуг, тогда:

) сумма строк матрицы B(D) есть нулевая строка

) любая строка B(D) есть линейная комбинация остальных

) ранг матрицы B(D) не превосходит числа вершин - 1 (минус 1)

) для любого контура в D сумма столбцов матрицы B(D) соответствующих дугов входящих в этот контур равна нулевому столбцу.

A(G) - матрица смежности

k(G) = A * A * … * A

Элемент qkij матрицы Ak(G) ориентированного псвдографа равен числу всех путей длины k из вершины υi в υj.

Теорема: для того, чтобы n - вершинный орграф D с матрицей смежности A(D) имел хотя бы один контур необходимо и достаточно, чтобы матрица k = A2 + + A3 + … + An имела не нулевые диагональные элементы.

Объединением графов G1(V1, X1) и G2(V2, X2) называется граф

G = G