Реферат: Разработка системы задач (алгоритмы-программы) по дискретной математике
Матрица смежности - это двумерный массив размерности N*N. 1, вершина с номером i смежна с вершиной с номером j, 0, вершина с номером i не смежна с вершиной с номером j
Для хранения перечня ребер необходим двумерный массив R размерности М*2. Строка массива описывает ребро.
Достижимость
Путем (или ориентированным маршрутом) ориентированного графа называется последовательность дуг, в которой конечная вершина всякой дуги, отличной от последней, является начальной вершиной следующей.
Простой путь - это путь, в котором каждая дуга используется не более одного раза.
Элементарный путь - это путь, в котором каждая вершина используется не более одного раза.
Если существует путь из вершины графа v в вершину i, то говорят, что i достижима из v.
Матрицу достижимости определим следующим образом:
1, если вершина i достижима из v и
R[v,u]=0, при недостижимости
Множество R(v) - это множество таких вершин графа G, каждая из которых может быть достигнута из вершины v. Обозначим через F(v) множество таких вершин графа G, которые достижимы из v с использованием путей длины 1. T2(v) - это Г(Г(у)), то есть с использованием путей длины 2 и так далее. В этом случае:
R(v)={v}UГ(v)UГ2 (v)U...UГp (v).
При этом р - некоторое конечное значение, возможно, достаточно большое.
Пример (для рисунка). R(1)={1}U{2,5}U{1,6}U{2,5,4}U{1,6,7}={1,2,4,5,6,7}
Выполняя эти действия для каждой вершины графа, мы получаем матрицу достижимостей R.
Кратчайшие пути.
Алгоритм Дейкстры
Дано. Ориентированный граф G=<V,E>, s - вершина источник; матрица смежности A (A:array[1..n,1..n] of integer); для любых u, v€V вес дуги неотрицательный (А[u,v]>=0). Результат. Массив кратчайших расстояний - D.
В данном алгоритме формируется множество вершин Т, для которых еще не вычислена оценка расстояние и, это главное, минимальное значение в D по множеству вершин, принадлежащих Т, считается окончательной оценкой для вершины, на которой достигается этот минимум. С точки зрения здравого смысла этот факт достаточно очевиден. Другой "заход" в эту вершину возможен по пути, содержащему большее количество дуг, а так как веса неотрицательны, то и оценка пути будет больше.
Пример
Его матрица смежности:
∞ 3 7 ∞ ∞ ∞ 1 ∞ 2 ∞ ∞ 1 А= ∞ 1 ∞ 4 4 ∞ ∞ ∞ ∞ ∞ 1 5 ∞ ∞ 1 ∞ ∞ 3 ∞ ∞ ∞ 2 ∞ ∞ |
В таблице приведена последовательность шагов (итераций) работы алгоритма. На первом шаге минимальное значение D достигается на второй вершине. Она исключается из множества Т, и улучшение оценки до оставшихся вершин (3,4,5,6) ищется не по всем вершинам, а только от второй.
№ итерации |
D[1] |
D[2] |
К-во Просмотров: 488
Бесплатно скачать Реферат: Разработка системы задач (алгоритмы-программы) по дискретной математике
|