Достижимость графов. Орграфы и бинарные отношения

Пусть V - множество вершин ориентированного графа F , Е - множество его рёбер. Каждое ребро e ÎE имеет начало v’ ÎV и конец v’’ ÎV . Таким образом, заданы два отображения j 1 и j 2 , где v’ =j 1 (e ) - начало ребра е , v’’ =j 2 (e ) - конец ребра е .

Можно дать несколько определений пути в орграфе F .

1. Путь из вершин и рёбер - это последовательность L (v 0 ,e 1 ,v 1 ,e 2 ,...,e n ,v n ), где v i - 1 =j 1 (e i ), v i =j 2 (e i ). Вершина v 0 называется началом пути L ,вершина v n - концом пути L , число n рёбер - его длиной . Путь, состоящий из одной вершины, имеет нулевую длину.

2. Путь из рёбер - это последовательность (e 1 ,e 2 ,...,e n ). Это понятие пути - аналог понятия маршрута в неориентированном графе.

3. Путь из вершин - это последовательность (v 0 ,v 1 ,...,v n ). Путь из вершин определён для графов, не содержащих кратных рёбер.

На практике можно пользоваться тем определением пути, которое окажется удобнее в данной конкретной задаче.

Путь называется ориентированной цепью (или просто цепью , когда рассматриваются только орграфы), если каждое ребро встречается в нём не более 1 раза, и простой ориентированной цепью , если каждая вершина графа F инцидентна не более чем двум его рёбрам.

Пример . Путь (e 5 ,e 6 ,e 7 ,e 1 ,e 4 ,e 3) (рис. 3.11) - ор.цепь, а путь (e 7 ,e 1 ,e 4 ,e 3) - простая ор. цепь.

Рис. 3.11.

Путь называется ориентированным циклом (или просто циклом , когда рассматриваются только орграфы), если он состоит более чем из одного элемента и его начало совпадает с его концом. Как и для неориентированного графа, начало цикла обычно не фиксируется. Цикл называется простым , если каждая принадлежащая ему вершина инцидентна ровно двум его рёбрам.

Пример . Путь (e 1 ,e 4 ,e 3 ,e 2 ,e 5 ,e 6 ,e 7) - цикл, путь (e 5 ,e 6 ,e 7) - простой цикл.

В связи с ориентированными цепями справедлива теорема, которую доказал Redei при изучении квадратичных полей.

Теорема 3.3. Пусть F - конечный орграф, в котором каждая пара вершин соединена ребром. Тогда в F существует простая ориентированная цепь, проходящая через все его вершины.

ÿ Доказательство проведем методом МИ. Обозначим количество вершин графа через n .

· n =2: дуга, соединяющая две вершины графа F 2 , и есть простая ориентированная цепь, проходящая через все вершины графа.

· Предположим, что при n = m для графа F m теорема верна.

· Докажем, что при n = m +1 для графа F m +1 теорема верна.

Построим граф F m +1 , добавив к графу F m некоторую вершину v m +1 , в которой имеются ребра ко всем вершинам v i (i =1,2,...,m ) из F m . По предположению, существует простая ориентированная цепь, проходящая через все вершины графа F m : P m =(v 1 ,v 2 ,...,v m ). Для ребер, инцидентных вершине v m +1, имеется три возможности.

1. Существует дуга (v m +1, v 1). Добавив ее к цепи P m “слева”, получим искомую цепь, проходящую через все вершины графа F m +1: P m +1 =( v m +1 ,v 1 ,v 2 ,...,v m ).

2. Существует дуга (v m , v m +1). Добавив ее к цепи P m “справа”, получим искомую цепь, проходящую через все вершины графа F m +1: P m +1 =( v m +1 ,v 1 ,v 2 ,..., v m ,v m +1).

3. Если в графе F m +1 нет ни дуги (v m +1 ,v 1), ни дуги (v m ,v m +1), то при некотором k (k =2,3,...,m -1) в нем обязательно найдутся дуги (v k ,v m +1) и (v m +1 ,v k +1). Составим цепь

P m +1 =(v 1 ,v 2 ,...,v k ,v m +1 ,v k +1 ,...,v m ).

Эта цепь проходит через все вершины графа F m +1 .

На множестве вершин V зададим отношение достижимости R D следующим образом: Вершина v’ ÎV находится в отношении R D с вершиной v’’ ÎV (в этом случае говорят, что вершина v’’ достижима из вершины v’ ), если существует путь L (v’ ,... ,v’’ ) с началом v’ и концом v’’ .

Аналогично отношению связности для вершин неориентированного графа отношение достижимости для вершин ориентированного графа рефлексивно и транзитивно , но в отличие от отношения связанности отношение достижимости не обязательно симметрично .

С помощью отношения достижимости определяется разбиение множества вершин орграфа на классы эквивалентности: вершины v’ , v’’ принадлежат одному классу, если отношение симметрично, т.е. v’’ достижима из v’ , а v’ достижима из v’’ .

Пусть L 1 (v’ , ... ,v’’ ) и L 2 (v’’ , ... ,v’ ) - соответствующие пути, связывающие эти вершины. Тогда вместе они образуют цикл, проходящий через вершины v’ и v’’ . Таким образом, любые вершины одного и того же класса эквивалентности принадлежат некоторому циклу. Если циклы в графе отсутствуют, то каждый класс эквивалентности состоит из одной вершины.

Рис. 3.13.

Минимальный граф F B , индуцирующий на множестве вершин V то же отношение достижимости, что и данный ориентированный граф F , т.е. граф с неуменьшаемым далее множеством рёбер, называется базисным графом для графа F .

Если существует базисный граф, то он не обязательно единственный. Так, для графа на рис. 3.13, любое радиальное ребро и ориентированный многоугольный цикл определяют базисный граф.

Если F - конечный орграф, то базисные графы существуют; они могут быть получены при последовательном удалении “излишних” рёбер (v 0 ,v n ), для которых найдётся не содержащая ребра (v 0 ,v n ) ориентированная цепь Р (v 0 ,v n ).

Пусть G = (X , Г) - граф модульной структуры, х г, х-. - вершины, принадлежащие X. Если в графе G существует ориентированная цепь от х, к Хр то вершина х,- - достижима из вершины х,-. Справедливо следующее утверждение: если вершина Xj достижима из х, ах (- из Хр то X/ достижима из х^ Доказательство этого факта очевидно. Рассмотрим бинарное отношение на множестве X, которое определяет достижимость между вершинами графа. Введем обозначение х, -> х, для достижимости вершины х,- из Xj. Отношение транзитивно. Обозначим через Я(х,) множество вершин графа G, достижимых из х; . Тогда равенство

определяет транзитивное замыкание х, по отношению к достижимости.

Докажем следующую теорему.

Теорема 1.1. Для выбранного компонента связности графа модульной структуры любая вершина достижима из корневой, соответствующей данному компоненту, т.е. выполняется равенство (х/- корневая вершина)

Доказательство. Предположим, вершинах, (х,е X) недостижима из Xj. Тогда х, ё X/ и множество X" = X х), непусто. Поскольку выбранный компонент графа связанный, то существуют вершина х,- е х, и цепь /7(х; , xj), ведущая от х, к х,-. Исходя из ацикличности графа G, в X" должна существовать простая цепь Н(х/, xj), где в вершину x f не входят дуги (данная цепь может быть пустой, если X" состоит только из х,). Рассмотрим цепь Я(х/, xj) = Н (х/, х,) U Я (х, xj). Это означает, что модуль х. достижим из вершин х, и Xj и обе вершины не содержат входящих дуг. А это противоречит определению графа модульной структуры с единственной корневой вершиной. Теорема доказана.

Основное требование для обеспечение достижимости - это отсутствие неориентированных циклов в графе. Исходя из графа на рис. 1.4, отмечаем, что граф содержит ориентированный цикл и модули, соответствующие вершинам х 4 , х 5 , ж 6 , никогда выполняться не будут. Таким образом, результаты теоремы 1.1 усиливают требование отсутствия ориентированных циклов в графе модулей.

Для анализа матричного представления отношения достижимости графа модульной структуры рассмотрим граф матрицы достижимости, приведенной на рис. 1.1.

Коэффициент а,у= 1, если модуль, соответствующий индексу /, достижим из модуля, соответствующего индексу i. Следующие результаты основаны на известной теореме из теории графов.

Рис. 1.4.

Теорема 1.2. Коэффициент ту l-й степени матрицы смежности Доопределяет количество различных маршрутов, содержащих / дуг и связывающих вершину X/ с вершиной ^-ориентированного графа.

Рассмотрим следующие три следствия из этой теоремы .

Следствие 1.1. Матрица М = "? J M t , где М - матрица смежности ориен-

тированного графа с п вершинами, совпадает с точностью до числовых значений коэффициентов с матрицей достижимости А.

Доказательство. В ориентированном графе, содержащем п вершин, максимальная длина пути без повторяющихся дуг не может превышать п. Поэтому последовательность степеней матрицы смежности М 1 , где i = 1,2,

я, определяет количество всех возможных путей в графе с количеством дуг п. Пусть коэффициент т 1} матрицы М отличен от нуля. Это означает, что существует степень матрицы М>, у которой соответствующий коэффициент т {} также отличен от нуля. Следовательно, существует путь, идущий от вершины Xj к Хр т.е. вершина ^ достижима из х г Данное следствие определяет связь матрицы вызовов графа модульной структуры, совпадающей с матрицей смежности А/, с матрицей достижимости А и определяет алгоритм построения последней.

Следствие 1.2. Пусть для некоторого i в последовательности степеней матрицы смежности М* существует коэффициент т Х1 > 0. Тогда в исходном графе существует ориентированный цикл.

Доказательство. Пусть m (i > 0 для некоторого I. Следовательно, Xj достижима из x v т.е. существует цикл. Согласно теореме 1.2 данный цикл имеет / дуг (в общем случае повторяющихся).

Следствие 1.3. Пусть п-я степень матрицы смежности М п ациклического графа совпадает с нулевой матрицей (все коэффициенты равны нулю).

Доказательство. Если граф ациклический, то в нем максимально простой путь не может иметь больше чем п - 1 дуг. Если в М п имеется коэффициент, отличный от нуля, то должен существовать путь, состоящий из п дуг. А этим путем может быть только ориентированный цикл. Следовательно, все коэффициенты М п для ациклического графа равны нулю. Данное следствие предоставляет необходимое и достаточное условие отсутствия циклов в графе модульной структуры.

Для ациклических графов отношение достижимости эквивалентно частичному строгому порядку. Транзитивность отношения достижимости рассмотрена выше. Антисимметричность следует из отсутствия ориентированных циклов: если вершина х } достижима из x v то обратное неверно. Введем обозначение х х > Хр если вершина Xj достижима из вершины x v

Пусть G = (X, Г) - ациклический граф, соответствующий некоторой модульной структуре. Рассмотрим убывающую цепь элементов частично упорядоченного множества X:

где через знак «>» обозначено отношение достижимости. Поскольку X конечно, то цепь обрывается х п > x i2 > ... > x in . Вершина x jn не имеет исходящих дуг, т.е. элемент x in минимальный (ему соответствует модуль, который не содержит обращения к другим модулям). Максимальный элемент во множестве X - корневая вершина.

  • Доказательство этой теоремы приводится в работе (книга): Лаврищева Е. М., Грищенко В. Н. Сборочное программирование. Киев: Наукова думка, 1991. 287 с.

1. Достижимость и контрдостижимость

Задач, в которых используется понятие достижимости, довольно много. Вот одна из ник. Граф может быть моделью какой-то организации, в которой люди представлены вершинами, а дуги интерпретируют каналы связи. При рассмотрении такой модели можно поставить вопрос, может ли информация от одного лица х, быть передана другому лицу х 7 , т.е. существует ли путь, идущий от вершины х,- к вершине X/. Если такой путь существует, то говорят, что вершина х,- достижима из вершины х,. Можно интересоваться достижимостью вершины х,- из вершины х, только на таких путях, длины которых не превосходят заданной величины или длина которых меньше наибольшего числа вершин в графе.

Достижимость в графе описывается матрицей достижимости R = ||г,у||, i,j =1,2,... п, где п - число вершин графа, а каждый элемент определяется следующим образом:

Гу- 1, если вершина х, достижима из х,

Гу= 0 в противном случае.

Множество вершин R(x,) графа G, достижимых из заданной вершины х„ состоит из таких элементов х; , для которых (/, /)-й элемент в матрице достижимостей равен 1. Очевидно, что все диагональные элементы в матрице R равны 1, поскольку каждая вершина достижима из себя самой путем длиной 0. Поскольку прямое отображение 1-го порядка Г +1 (х,) является множеством таких вершин Xj, которые достижимы из х, с использованием путей длины 1, то множество Г (Г (х,)) = Г х,) состоит из вершин, достижимых изх, с использованием путей длиной 2. Аналогично Г р (х,) является множеством вершин, которые достижимы из х, с помощью путей длиной р.

Так как любая вершина графа, которая достижима из х„ должна быть достижима с использованием пути (или путей) длиной 0 или 1, или 2,..., или р , то множество вершин, достижимых для вершины х„ можно представить в виде

Как видим, множество достижимых вершин R(x,) представляет собой прямое транзитивное замыкание вершины х„ т.е. R(x,) = Т (х,). Следовательно, для построения матрицы достижимости находим достижимые множества R(x,) для всех вершин х, е X. Полагая г у - 1, если х 7 е R(x,) и гу- 0 в противном случае. Для графа, приведенного на рис. 59.4, а , множества достижимостей находятся следующим образом:

Рис. 59.4.

Матрицы смежности (А), достижимости (R), контрдостижимости (Q) имеют следующий вид:

Матрица контрдостижимости Q = qij, i,j= 1,2,... п, где п - число вершин графа, определяется следующим образом:

qij= 1, если из вершины ху можно достичь вершину x h qtj = Ов противном случае.

Контрдостижимым множеством Q(x,) является множество таких вершин, что из любой вершины этого множества можно попасть в вершину X/. Аналогично построению достижимого множества R(x,) можно записать выражение для Q(x,):

Таким образом, видно, что Q(x,) есть не что иное как обратное транзитивное замыкание вершины х, т.е. Q(x () = Т"(х,). Из определений видно, что столбец X, матрицы Q (в котором q t j = 1, если ху€ Q(x,), и с/у=0 в противном случае) совпадает со строкой х, матрицы R, т.е. Q = R , где R - матрица, транспонированная к матрице достижимости R.

Матрица контрдостижимости показана ранее.

Следует отметить, что поскольку все элементы матриц R и Q равны 1 или 0, каждую строку можно хранить в двоичной форме, экономя затраты памяти ЭВМ. Матрицы R и Q удобны для обработки на ЭВМ, так как в вычислительном отношении основными операциями являются быстродействующие логические операции.

2. Нахождение множества вершин, входящих в путь Если необходимо узнать о вершинах графа, входящих в эти пути, то следует вспомнить определения прямого и обратного транзитивных замыканий. Так как Т + (х,) - это множество вершин, в которые есть пути из вершины х„ а Т"(У) - множество вершин, из которых есть пути в х / , то Т (х,) n Т(xj) - множество вершин, каждая из которых принадлежит, по крайней мере, одному пути, идущему от х, к ху. Эти вершины называются существенными, или неотъемлемыми относительно двух концевых вершин X, и ху. Все остальные вершины графа называются несущественными, или избыточными, поскольку их удаление не влияет на пути от х/ к ху.

Так, для графа на рис. 59.5 нахождение вершин, входящих в путь, например, из вершины Х2 в вершину Х4, сводится к нахождению Т + (хг) = {хг, хз, Х4, Х5, Хб}, Т"(х4) = {xi, Х2, Х3, Х4, Х5}, и их пересечения Т + (хг) п Т(х4) = = {Х2, Хз, Х4, Х 5 }.

По аналогии с графом достижимости определим граф сильной достижимости.

Определение: Пусть– ориентированный граф.Граф сильной достижимости
дляимеет тоже множество вершини следующее множество рёбер
в графевершиныивзаимно достижимы.

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

По матрице
можно выделить компоненты сильной связности графаследующим образом:

Повторяем второй шаг до тех пор, пока все вершины не будут распределены по компонентам.

В нашем примере для графа примера 14.1. по матрице
получаем следующую матрицу графа сильной достижимости

Используя описанную выше процедуру, находим, что вершины графа разбиваются на 4 компоненты сильной связности:
,
,
,
. На множестве компонент сильной связности также определим отношение достижимости.

Определение: Пусть
и
– компоненты сильной связности графа. Компонента
достижима из компоненты
, если
или существуют такие две вершины
и
, чтодостижима из.
строго достижима из
, если
и
достижима из
. Компонента
называется минимальной, если она не является строго достижимой ни из какой компоненты.

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

Из определения легко выводится следующая характеристика строгой достижимости.

Лемма: Отношение строгой достижимости является отношением частичного порядка, т.е. оно антирефлексивно, антисимметрично и транзитивно.

Это отношение можно представлять в виде ориентированного графа, вершинами которого являются компоненты, а ребро
означает, что
строго достижима из
. Ниже показан граф компонент для графа примера 14.1.

В данном случае имеется одна минимальная компонента
.

Во многих приложениях ориентированный граф представляет собой сеть распространения некоторого ресурса: продукта, товара, информации и т.п. В таких случаях естественно возникает задача поиска минимального числа таких точек (вершин), из которых этот ресурс может быть доставлен в любую точку сети.

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

Следующая теорема позволяет эффективно находить все базы графа.

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

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

Обратно, если
является базой, то оно обязано включать хотя бы по одной вершине из каждой минимальной компоненты, иначе вершины такой минимальной компоненты окажутся недоступны. Никаких других вершин
содержать не может, так как каждая из них достижима из уже включённых вершин.

Из этой теоремы вытекает следующая процедура построения одной или перечисления всех баз графа :

Пример 14.3: Определим все базы ориентированного графа .

На первом этапе находим компоненты сильной связности :

На втором этапе строим граф строгой достижимости на этих компонентах.

Определяем минимальные компоненты:
,
и
.

Наконец перечисляем все четыре базы :
,
,
и
.

G(V,X) с петлями, но без кратных дуг задает бинарное отношение Х на множестве V. Полный граф соответствует универсальному соотношению. Неориентированный граф соответствует симметричному соотношению. Дополнение графа соответствует дополнению отношения. Изменение направления дуг соответствует обратному отношению.

Орграфы и бинарные отношения один и тот же класс объектов, описанных разными средствами. Бинарные отношения, функции являются базовыми средствами для построения подавляющего большинства математических моделей, использующих для решения практических задач, а графы допускают наглядное представление в виде диаграммы. Это объясняет широко использование диаграмм различного типа в кодировании и проектировании.

Вершина b орграфа (графа) G называется достижимой из U в том и только том случае, когда U=V или существует путь (маршрут) соединяющий U с V (U – начальная вершина, V – конечная вершина). Таким образом на множестве вершин орграфа (графа) определено не только отношение смежности А, но и отношение достижимости Т.

Матрицей достижимости Т орграфа(графа) G называется T 2 n×n, элементы которой находятся из условия: 1, если достижимо из ; 0, если не достижимо из .

Определение матрицы достижимости орграфа как матрицы рефлексивного и транзитивного замыкания отношения смежности.

Введенное отношение достижимости на вершинах графа G(V,Х): вершина w достижима из вершины v, если v = w или в G есть путь из v в w. Иначе говоря, достижимость является рефлексивным и транзитивным замыканием отношения смежности.

Найти матрицу смежности, транзитивное и рефлексивное замыкание.

Связность в графах. Слабая, односторонняя и сильная связность в орграфах. Матрица связности и сильной связности. Компоненты связности. Определение матрицы сильной связности на основе матрицы достижимости.



G(V,Х) называется связным , если любая его вершина достижима из любой другой вершины.

Орграф G(V,Х) называется односторонне связным , если для любых двух его вершин, покрайней мене одна достижима из другой.

Орграф G(V,Х) называется сильно связным , если любая его вершина достижима из любой другой.

Орграф G(V,Х) называется слабо связным , если связным является соответствующий ему не орграф, полученный в результате удаления ориентации дуг.

Орграф, не являющийся слабо связным, называется несвязным .

Компонентой сильнодействующей связи орграфа G(V,Х) называется максимальное, по числу вхождения вершин сильносвязный подграф данного орграфа. Аналогично определяется компонента связности не орграфа.

Матрицей сильной связности (связности) орграфа (графа) G(V,Х) называется S n×n, элементы которой находятся из условия: 1, если достижимо из и достижимо из ; 0, если не достижимо из и не достижимо из .

(орграф) сильносвязным или связным, для этого достаточно определить наличие 0 в матрице, если

0 нет, то граф (орграф) является связным (сильносвязным) в противном случае нет.

Матрица сильной связности может быть построена из матрицы достижимости по формуле