Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
38.Матрицы и циклы в неориентированном графе. Для алгебраического задания графов используются матрицы смежности и инцидентности. Матрица смежности A = (aij) определяется одинаково для ориентированного и неориентированного графов. Это квадратная матрица порядка n, где n - число вершин, у которой: aij = Для неориентированного графа матрица инцидентности B задается следующим образом: bi =
Пусть G - неориентированный граф. Маршрутом или цепью в G называется такая последовательность (конечная или бесконечная) ребер a1, a2,... an..., что каждые соседние два ребра ai и ai+1 имеют общую инцидентную вершину. Одно и то же ребро может встречаться в маршруте несколько раз Длиной (или мощностью) маршрута называется число ребер, входящих в маршрут, причем каждое ребро считается столько раз, сколько оно входит в данный маршрут. Замкнутый маршрут называется циклом.Маршрут (цикл), в которой все ребра различны, называется простой цепью (циклом). Маршрут (цикл), в которой все вершины, (кроме первой и последней), различны, называется элементарной цепью (циклом).
39.Пути и контуры в ориентированном графе. Путем ориентированного графа называется последовательность дуг, в которой конечная вершина всякой дуги, отличной от последней, является начальной вершиной следующей дуги. Число дуг пути называется длиной пути. Путь называется контуром, если его начальная вершина совпадает с конечной вершиной. Путь (контур), в котором все дуги различны, называется простым. Путь (контур), в котором все вершины, кроме первой и последней, различны, называется элементарным
40.Связость графа. Неориентированный граф называется связным, если каждая пара различных вершин может быть соединена по крайней мере одной цепью.
Ориентированный граф называется сильно связным, если для любых двух его вершин xi и xj существует хотя бы один путь, соединяющий xi с xj. Ориентированный граф называется односторонне связным, если для любых двух его вершин по крайней мере одна достижима из другой. Компонентой связности неориентированного графа называется его связный подграф, не являющийся собственным подграфом никакого другого связного подграфа данного графа (максимально связный подграф). Компонентой сильной связности ориентированного графа называется его сильно связный подграф, не являющийся собственным подграфом никакого другого сильно связного подграфа данного графа (максимально сильно связный подграф). Компонентой одностронней связности неориентированного графа называется его односторонне связный подграф, не являющийся собственным подграфом никакого другого односторонне связного подграфа данного графа (максимально односторонне связный подграф).
41. Экстремальные пути в нагруженных ориентированных графах. Ориентированный граф называется нагруженным, если дугам этого графа поставлены в соответствие веса, так что дуге (xi,xj) сопоставлено некоторое число c(xi,xj) = cij, называемое длиной (или весом, или стоимостью дуги). Длиной (или весом или стоимостью) пути s, состоящего из некоторой последовательности дуг (xi,xj), называется число l(s), равное сумме длин дуг, входящих в этот путь, т.е. l(s) = Е cij, причем суммирование ведется по всем дугам (xi, xj) s.Матрица C = (cij) называется матрицей длин дуг или матрицей весов.
Для ненагруженного графа введем понятие кратчайшего пути. Это путь с минимальным общим числом дуг, причем каждая дуга считается столько раз, сколько она содержится в этом пути В общем случае задача решается с помощью алгоритмов Флойда, Форда, Беллмана Алгоритмы нахождения минимального пути могут быть использованы для поиска кратчайших путей в ориентированном графе без контуров. Для этого нужно каждой дуге приписать вес, равный единице.
42.Алгоритм Форда Беллмана нахождения минимального пути
Алгоритм 3.1 (Алгоритм Форда Беллмана). Основными вычисляемыми величинами этого алгоритма являются величины j(k), где i = 1, 2, … , n (n число вершин графа); k = 1, 2, … , n 1. Для фиксированных i и k величина j(k) равна длине минимального пути, ведущего из заданной начальной вершины х1 в вершину хi и содержащего не более k дуг.
Шаг 1. Установка начальных условий. Ввести число вершин графа n и матрицу весов C = (cij).
Шаг 2. Положить k = 0. Положить i(0) = для всех вершин, кроме х1; положить 1(0) = 0.
Шаг 3. В цикле по k, k = 1,..., n 1, каждой вершине xi на k-ом шаге приписать индекс i(k) по следующему правилу
:i(k) = {j(k 1) + cji} для всех вершин, кроме х1, положить 1(k) = 0.
В результате работы алгоритма формируется таблица индексов i(k), i = 1, 2, … , n, k = 0, 1, 2, … , n 1. При этом i(k) определяет длину минимального пути из первой вершины в i-ую, содержащего не более k дуг. 5. Восстановление минимального пути. Для любой вершины xs предшествующая ей вершина xr определяется из соотношения: r(n 2) + crs = s(n 1), xr G-1(xs), где G-1(xs) - прообраз вершины xs. Для найденной вершины xr предшествующая ей вершина xq определяется из соотношения: q(n 3) + cqr = r(n 2), xq G-1(xr), где G-1(xr) - прообраз вершины xr, и т. д.
Последовательно применяя это соотношение, начиная от последней вершины xi , найдем минимальный путь.