
- •Лабораторная работа № 1
- •1.1. Основные операции над многомерными матрицами
- •1.1.5. Кронекеровское произведение многомерных матриц
- •1.1.6. Обращение многомерной матрицы
- •Порядок выполнения работы
- •Содержание отчета
- •2. Основные определения теории графов
- •2.1.1. Задание графа множествами вершин и линий
- •2.1.2. Задание графа с помощью отображения
- •2.1.3. Задание графа с помощью обратного отображения
- •2.1.4. Матричное представление графа
- •2.2. Достижимость и обратная достижимость вершин графа
- •2.2.1. Матрица достижимостей и матрица обратных достижимостей
- •2.2.2. Определение матриц достижимостей и обратных достижимостей с помощью прямых и обратных отображений
- •2.2.3. Определение матриц ограниченных достижимостей
- •2.2.4. Определение матриц достижимостей и обратных
- •Лабораторная работа № 2
- •Порядок выполнения работы
- •Содержание отчета
- •3.2. Алгоритм построения всех остовных деревьев графа на основе полного перебора последовательностей ребер или дуг
- •3.3. Определение кратчайшего остова неориентированного графа на основе упорядочения ребер графа (алгоритм Краскала)
- •3.4. Построение кратчайшего остовного дерева с помощью алгоритма Прима в табличной форме
- •Порядок выполнения работы
- •Содержание отчета
- •4.2. Пример расчета попадания точки в заданную область
- •4.3. Алгоритм преобразования области в плоскостных координатах
- •4.4. Порядок выполнения работы
- •5.2. Пример решения задачи о максимальном потоке
- •Порядок выполнения работы
- •Содержание отчета
- •Порядок выполнения работы
- •8.2.2. Нахождение приближенного решения
- •8.2.3. Oпределение оптимального решения
- •Порядок выполнения работы
- •Содержание отчета
- •Библиографический список
- •Вопросы для итоговой аттестации по лабораторному практикуму
- •Содержание
- •390005. Рязань, ул. Гагарина, 59/1.
2.2. Достижимость и обратная достижимость вершин графа
2.2.1. Матрица достижимостей и матрица обратных достижимостей
При исследовании и оптимизации дискретных систем на графовых моделях часто возникает вопрос, существует ли путь от вершины xiк вершинеxj. Если такой путь существует, то говорят, что вершинаxj достижима из вершиныxi. В ряде случаев необходимо определить достижимость за конечное число шагов вершиныxjиз вершиныxi, т.е. достижимость только на таких путях, длины которых не превосходят заданной величины.
Матрица достижимостей R[1,1] = {rij}и матрица обратных достижимостейQ[1,1] = {qij}определяется следующим образом:
rij= { 1, если вершинаxj достижима изxi, (2.3)
0 в противном случае;
qij= { 1, если из вершиныxjможно достигнуть (2.4)
вершину xi, 0 в противном случае.
2.2.2. Определение матриц достижимостей и обратных достижимостей с помощью прямых и обратных отображений
Обозначим через RM(xi)множество вершин графа, достижимых из заданной вершиныxi. Это множество состоит из таких элементовxj, для которых элементrij(2.3) в матрице достижимостей равен 1. Очевидно, что все диагональные элементы в матрице достижимостейRравны 1, поскольку каждая вершина достижима из себя самой с помощью пути длиной 0.
Поскольку отображение Г(xi), описанное в п.2.1.2, является множеством таких вершинxj, которые достижимы изxiс использованием дуг длиной 1 [т.е.Г(xi)– такое множество вершин, для которых в графе существуют дуги(xi,,xj)],тоГ(Г(xi)) = Г2(xi)состоит из вершин, достижимых изxiс использованием путей длиной 2. АналогичноГр(xi)является множеством вершин, которые достижимы изxiс помощью путей длиной Р.
Так как любая вершина графа, которая достижима из xi, должна быть достижима с использованием пути (или путей) длиной 0, или 1, или 2,…,
или Р (с некоторым конечным, но, возможно, достаточно большим значением Р), то множество вершин, достижимых из xi, можно представить в виде
RM(xi) = {xi}È Г(xi) È Г2(xi) È Гр(xi). (2.5)
Таким образом, множество RM(xi)может быть получено последовательным выполнением (слева направо) операций объединения в соотношении (2.5) до тех пор, пока «текущее» множество не перестанет увеличиваться по размеру при очередной операции объединения. С этого момента последующие операции не будут давать новых членов множеству, и, таким образом, будет образовано достижимое множествоRM(xi). Число объединений, которое нужно выполнить, зависит от графа, но, очевидно, что число Р меньше числа вершин в графе.
Имея RM(xi)для всех вершин графа, можно построить матрицу достижимостейRтак. Положимrij = 1, еслиxj Î R(xi) и rij = 0в противном случае. Полученная таким образом матрицаRявляется матрицей достижимостей.
Для построения матрицы обратных достижимостей применим обратные отображения (п.2.1.3). Обозначим через QM(xi)множество таких вершин графа, что из любой вершины этого множества можно достигнуть вершиныxi.
Аналогично построению достижимого множества RM(xi)на основе соотношения (2.5) можно «сформировать» множествоQM(xi), используя следующее выражение:
QM(xi) = {xi} È Г-1(xi) È Г-2(xi) È … È Г-р(xi), (2.6)
где Г-2(xi) = Г-1(Г-1(xi)и т.д.
Операция выполняется слева направо до тех пор, пока очередная операция объединения не перестанет изменять «текущее» множество QM(xi).
Имея QM(xi)для всех вершин графа, можно построить матрицу обратных достижимостейQ. Положимqij = 1, еслиxj Î QM(xi) и qij = 0в противном случае.
Из определений матриц RиQочевидно, что столбецxiматрицыQсовпадает со строкойxiматрицыR, т.е.Q = RT.