Читайте также: |
|
Один из первых вопросов, возникающих при изучении графов, это вопрос о существовании путей между заданными или всеми парами вершин. Ответом на этот вопрос – введённое выше отношение достижимости на вершинах графа вершина достижима из вершины , если или в есть путь из в . Иначе говоря, отношение достижимости является рефлексивным и транзитивным замыканием отношения . Для неориентированных графов это отношение также симметрично и, следовательно, является отношением эквивалентности на множестве вершин . В неориентированном графе классы эквивалентности по отношению достижимости называются связными компонентами. Для ориентированных графов достижимость, вообще говоря, не должна быть симметричным отношением. Симметричной является взаимная достижимость.
Определение: Вершины и ориентированного графа называются взаимно достижимыми, если в есть путь из в и путь из в .
Ясно, что отношение взаимной достижимости является рефлексивным, симметричным и транзитивным и, следовательно, эквивалентностью на множестве вершин графа. Классы эквивалентности по отношению взаимной достижимости называются компонентами сильной связности или двусвязными компонентами графа.
Рассмотрим вначале вопрос о построении отношения достижимости. Определим для каждого графа его граф достижимости (называемый иногда также графом транзитивного замыкания), рёбра которого соответствуют путям исходного графа.
Определение: Пусть – ориентированный граф. Граф достижимости для имеет тоже множество вершин и следующее множество рёбер в графе вершина достижима из вершины .
Пример 14.1: Рассмотрим граф.
Тогда можно проверить, что граф достижимости для выглядит так (новые рёбра – петли для каждой из вершин не показаны):
Каким образом по графу можно построить граф ? Один способ заключается в том, чтобы для каждой вершины графа определить множество достижимых из неё вершин, последовательно добавляя в него вершины, достижимые из неё путями длины 0, 1, 2 и т.д.
Мы рассмотрим другой способ, основанный на использовании матрицы смежности графа и булевых операций.
Ниже для сохранения сходства с обычными операциями над матрицами мы будем использовать «арифметические» обозначения для булевых операций: через «+» будем обозначать дизъюнкцию , а через «*» конъюнкцию .
Обозначим через единичную матрицу размера , а - матрицу смежности заданного графа. Положим . Пусть , ,…, . Наша процедура построения основана на следующем утверждении.
Лемма. Пусть Тогда
Доказательство проведём индукцией по .
Базис. При и утверждение справедливо по определению.
Индукционный шаг. Пусть лемма справедлива для . Покажем, что она остаётся справедливой и для . По определению имеем:
Предположим, что в графе из в имеется путь длины . Рассмотрим кратчайший из таких путей. Если его длина , то по предположению индукции . Кроме того, . Поэтому и . Если длина кратчайшего пути из в равна , то пусть - его предпоследняя вершина. Тогда из в имеется путь длины и по предположению индукции . Так как , то . Поэтому и .
Обратно, если , то хотя бы для одного слагаемое в сумме равно 1. Если это , то и по индуктивному предположению в имеется путь из в длины . Если же , то и . Это означает, что в имеется путь из в длины и ребро . Объединив их, получаем путь из в длины .
Из леммы непосредственно получаем
Следствие 1. Пусть – ориентированный граф с вершинами, а – его граф достижимости. Тогда .
Доказательство: Из леммы следует, что, если в имеется путь из в , то в нём имеется и простой путь из в длины . А по лемме все такие пути представлены в матрице .
Таким образом, процедура построения матрицы смежности графа достижимости для сводится к возведению матрицы в степень . Сделаем несколько замечаний, позволяющих упростить эту процедуру.
· Для возведения матрицы в произвольную степень достаточно выполнить возведений в квадрат:
где – это наименьшее число такое, что .
· Так как на диагонали в матрице стоят единицы, то для любых все единицы матрицы сохраняются в матрице , в частности, и в матрице .
· Если при вычислении элемента матрицы по стандартной формуле
обнаруживается такое , что и , то и вся сумма . Поэтому остальные слагаемые можно не рассматривать.
Пример 14.2: Рассмотрим в качестве примера вычисление матрицы графа достижимости для графа примера 14.1. В этом случае
Так как у имеется 6 вершин, то . Вычислим эту матрицу:
и . Таким образом,
Как видим, эта матрица действительно задаёт граф , представленный в примере 14.1.
Дата добавления: 2015-10-28; просмотров: 105 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Тема 13.3. Отношения порядка и эквивалентности на графе | | | Тема 14.2. Взаимная достижимость, компоненты сильной связности и базы графа |