Разбиения и расстояния на графах



 

Рассмотрим вопрос разбиения ребер, дуг или вершин графа ни множества определенного структурного типа и введем дополнительную характеристику – расстояние, определяемое через длину дуги (ребра) Все эти вопросы связаны с дискретными оптимизационными задачами. Начнем с разбиения ребер графа на наименьшее число непересекающихся подмножеств, каждое из которых является либо цепью, либо циклом (не обязательно простым). Разбиения такого типа назовем реберным разделением [10, II], а состоящие из наименьшего возможного числа цепей и циклов будут называться минимальными реберными разделениями. Заметим, что каждое отдельное ребро графа является цепью или в случае петли циклом. Следовательно, каждый граф имеет реберное разделение. Очевидно также, что для конечных графов всегда существует минимальное реберное разделение. При этом изолированные вершины не влияют на вид реберного разделения. Минимальное реберное разделение для несвязного графа может быть получено путем нахождения минимального реберного разделения отдельно для каждой компоненты, имеющей ребра. С учетом этого без потери общности будем рассматривать только связные графы. Особый интерес представляют графы, реберные разделения которых являются единственной цепью или циклом т.е. графы, совокупность ребер которых образует цепь или цикл. Такие графы называют уникурсальными, поскольку здесь существует воз­можность непрерывного прохождения всех ребер, без повторения какого-либо ребра. Свойства минимальных реберных разделений существен­но зависят от наличия в графе вершин нечетной степени. (И, как бы­ло показано ранее, число вершин нечетной степени всегда четно.) Графы, не обязательно связные, все вершины которых имеют четную сте­пень, называются эйлеровыми графами. Минимальные реберные разде­ления для связных эйлеров графов определяются следующей теоремой.

Теорема. Если G =(V,E) – связный эйлеров граф, то E является циклом, образующим единственное минимальное реберное разделение, покрывающее граф G.        

Доказательство. Если граф содержит петли, то удалим их и рассмотрим полученный таким образом новый граф, все вершины которого сохраняют  четную степень. Начнем движение с любой вершины v1 по некоторому ребру к другой граничной точке ребра, скажем v2. Так как вершина v2 имеет четную степень, то она инцидентна второму ребру, которое приводит нас к вершине v3. Продолжая такой процесс обхода, мы всегда дойдем до вершины так как четность всех вершин гарантирует, что в любом случае мы можем покинуть любую вершину, используя ребро, отличное от того, по которому пришли в эту вершину. Так как число ребер конечно, то в результате для некоторого n  мы имеем vn= v1. Пройденные ребра образуют цикл. Если при этом оказалось, что  пройдены все ребра, то теорема доказана. В противном случае удалим полученный цикл и рассмотрим оставшийся подграф. Каждая вершина этого подграфа имеет четную степень, и, следовательно, мы можем повторить предыдущее построение, найти и удалить второй цикл. За конечное число шагов удаление очередного цикла приведет к тому, что в подграфе не останется ребер. Полученное множество циклов вместе с удаленными вначале петлями образует реберное разделение графа G. А так как G связен, то объединение этих циклов, т.е. ним является циклом. Цикл, который покрывает граф, называется эйлеровым циклом (рис.3.22).

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

Связный граф G = (V, Е), содержащий 2 n вершин нечетной степени, где n≥1, имеет минимальное реберное разделение, состоящее из цепей, каждая из которых соединяет две вершины нечетной степени. Из рассмотренной теоремы и последнего утверждения непосредственно следует, что связный граф является уникурсальным тогда и только тогда, когда он имеет 0 или точно 2 вершины нечетной степени. В первом случае он покрывается циклом, в последнем – цепью, соединяющей две вершины нечетной степени.

Рис. 3.22

Классической задачей, имеющей отношение к уникурсальным графам, является задача о кенигсбергских мостах, которая возникла в свази с прогулкой горожан по городу. Вопрос состоял в том, можно ли совер­шить прогулку таким образом, чтобы, выйдя из дома, вернуться обрат­но, пройдя только один раз по каждому из семи мостов, связывающих части города, расположенного на берегах реки Прегель и двух остро­вах. Предположим, что v1 и v2 обозначают оба берега реки, a v3 и v4 - острова, тогда граф на рис.3.23 показывает, каким образом мосты связывают части города.

Задача была сформулирована Л.Эйлером в 1736 г. в следующем ви­де: определить, существует ли непрерывный маршрут, который проходит по каждому мосту точно один раз, другими словами, является ли граф, показанный на рис.3.23,.уникурсальным. Так как все четыре вершины имеют нечетную степень, то граф не является уникурсальным, и тре­буется, по крайней мере, две цепи для того, чтобы покрывать этот граф. На рис.3.24 показаны два минимальных реберных разделения. (В обоих случаях одна из цепей показана штриховой линией, а другие - сплош­ной.)

Для ориентированного графа Д=(V, A) разобьем вершины на непересекающиеся множества:

Рис. 3.23 Рис. 3.24

Ориентированный граф называется равновесным по вершине v, если . Ориентированный граф, который является равновес­ным по каждой вершине, называется ориентированным эйлеровым графом. В этом случае имеет место R=V, и если граф связен, то множество А образует контур и является минимальным (единственным) реберным разделением.

Если ориентированный граф Д=(V, A) связен, но не является равновесным, то всякое минимальное реберное разделение Д состоит из k путей, каждый из которых соединяет вершину из S с вершиной из Т. При этом

          (3.7)

Ориентированный связный граф Д=(V, A) является уникурсальным тог­да и только тогда, когда он является либо ориентированным эйлеро­вым графом, либо таким, что |S|=|T| и  для единственной вершины v S.Последние два утверждения используются при описании потоков в сетях. К вопросу уникурсальности близкой является следующая:

Задача [10, 12]: найти, при каких условиях конечный связный граф содержит цепь или цикл, проходящий через все вершины. Если та­кие цепь или цикл существуют и являются простыми, то они называют­ся соответственно гамильтоновой цепью или гамильтоновым циклом. Название цикла и цепи связано с работами знаменитого математика Вилья­ма Гамильтона, придумавшего деловую игру (рис.3.25) в 1859 г.

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

Рис. 3.25 Рис. 3.26

В настоящее время не известно эффективных описаний гамилътоновых графов (граф, имеющий остовный гамильтоновый цикл), но известно несколько необходимых и достаточных условий существования гамилътоновых циклов. Для этого введем понятие тэта-графа. Тэта-графом на­зывается блок, содержащий только вершины степени 2 и две несмежные вершины степени 3. Таким образом, тэта-граф состоит из двух вершин степени 3 и трех непересекающихся простых цепей, соединяющих эти вершины, причем длина каждой из этих цепей не меньше 2. Имеет место

Теорема. Каждый гамильтонов граф двусвязен. Каждый негамильтонов двусвязный граф содержит тэта-подграфы [11, 13].

На рис. 3.26 легко найти тэта-подграфы в негамильтоновом блоке.

Достаточное условие, что граф гамильтонов, дают теоремы Поша [11, 12] и Дирака [11, 12].

Теорема Поша. Пусть G имеет 3 вершин. Если для вся­кого n,  число вершин со степенями, не превосходящими n, меньше чем n, и для нечетного  число вершин степени ( -1)/2 не превосходит , то G - гамильтонов граф.

Приведенное достаточное условие не является необходимым.

Теорема Дирака. Если граф G=(Y,Е), , является связным и степень каждой вершины , где [ ] - бли­жайшее целое число, то граф является гамильтоновым [13].

Понятия гамильтоновых цепей и циклов могут быть непосредствен­но обобщены на случай ориентированных графов.

Простой путь или контур, который проходит через все вершины графа, называется соответственно гамильтоновым путем или гамильто­новым контуром. Гамильтоновы пути и контуры в ориентированном графе определяют гамильтоновы цепи и циклы в соответствующем неориентированном графе. Они, кроме всего прочего, требуют определенной ориен­тации дуг; поэтому появление их в графах будет еще более редким. В отличие от обыкновенного полного ориентированного графа, который име­ет множество гамильтоновых циклов, полный антисимметрический граф может и не иметь гамильтоновых контуров. Например, если в графе сушествует вершина v, для которой  или , то в таком графе не могут существовать гамильтоновы контуры.

Ориентированный граф называется тотальным, если каждая пар различных вершин соединяется, по крайней мере в одном направлении контуром. Необходимым и достаточным условием того, что ориентированный граф без контуров содержит в точности один гамильтонов путь является тотальность графа. Интересной задачей, связанной с поиском кратчайшего гамильтонова контура, является задача.коммивояжера. Коммивояжер должен посетить по одному разу каждый из n городов (каждая пара городов связана дорогой) и вернуться в исходный город. При этом он должен выбрать кратчайший маршрут. Таким образом, мы пришли к необходимости ввести еще одну характеристику множества дуг-вес, длину, стоимость. Очевидно, что определение кратчайшего маршрута с по­мощью просмотра всех гамильтоновых циклов приводит к перебору  возможных циклов, и эта величина является астрономической для больших n. Необходимо найти эффективный алгоритм решения этой задачи. Такого алгоритма до сих пор не существует [13]. Вычисли­тельные алгоритмы, предложенные для решения задачи коммивояжера, приведены в работе [13].

Рассмотрим подход [13], позволяющий свести сложную задачу нахождения кратчайшего гамильтонова цикла к просмотру возможных, которые находятся в более простых подграфах. Будем предполагать, что рассматриваемый граф является плоским и обыкновенный плоский граф имеет, по крайней мере, одну вершину степени 5 или меньше. Кроме того, предполагается также, что длины ребер выражаются положитель­ными числами. Начиная с произвольной вершины v1, минимальной сте­пени  можно определить  различных подграфов, каждый из которых состоит из всех вершин исходного графа, всех ребер, не инци­дентных c v1, и двух из  ребер, инцидентных v1. Таким образом, за­дача нахождения всех гамильтоновых циклов исходного графа свелась к задачам нахождения гамильтоновых циклов в  полученных подгра­фах, каждый из которых содержит вершину v1 степени 2.

Рассмотрим один из подграфов . Выберем вершину v1 степени 2. Начиная с ребра е1, инцидентного v1, и смежной вершины наименьшей степени (если обе смежные вершины од­ной степени, то выбираем любую), строим гамильтонов цикл Сn из последовательности n простых цепей Ck=(e1, …, ek), где ej≈(vj & vj+1) для j=1, …, k, помня при этом, что vn+1 v1. (Это обо­значение подразумевает, что ребра и вершины помечаются в той пос­ледовательности, в какой они встречаются при построении.) Ребро ek может присоединяться к Сk-1, если выполняются следующие условия:

1) , eсли

2)  не разделяет оставшийся граф в том смысле, что любые две вершины ,  могут быть связаны цепью из рёбер, нe инцидентных ни одной вершине {v2, v3, …, vk+1}. Если несколько ребер удовлетворяют условиям добавления к цепи в одной и той же вершине, то выбирается ребро наименьшей длины, а остальные ребра запоминаются. Если ни одно ребро не удовлетворяет условиям 1 и 2 и не может быть присоединено к конечной вершине vk+1 цепи Ck, (k<n), то такая цепь не является частью гамильтонова цикла и отбрасывается. При этом производится возврат в последнюю вершину произвольного выбран­ного ребра и исследуется новая цепь. Когда описанный процесс закончится, все существующие в Gi гамильтоновы циклы будут найдены. Если применим эту про­цедуру для всех подграфов, то найдем все гамильтоновы циклы исходного гра­фа. Пусть Si - длина кратчайшего ребра в i-м подграфе (т.е. , где λ - функция расстояния, определенная на Е). После того как найден первый гамильтонов цикл Сn (в любом подграфе), можно вычислить его длину |Сn|. Пусть С  обозначает некоторую часть строящейся цепи в i-м подграфе дли­ной |С |. Для того чтобы С  вошла в гамильтонов цикл С длиной меньше Сn, необходимо обеспечить |С |+(n-k)Si<|Сn| на каждом ша­ге описанной процедуры. Поясним метод на примере графа G (рис. 3.27), где цифры указывают длину ребер. На рис. 3.28 показаны три подграфа, полученные при определенном выборе v1 и соответствующих значениях Si.

Рис. 3.27

Рис. 3.28

На рис. 3.29 показана последовательность шагов, требуемых для построения первого гамильтонова цикла в G. Ребра, показанные жир­ными линиями, являются ребрами цикла.

Рис. 3.29

Условие 2 данного метода эквивалентно требованию того, чтобы граф, полученный из G1, удалением жирных и штриховых линий (на каждом шаге) был связен. Длина гамильтонова цикла для G, равна 13. Проделав аналогичные шаги для подграфов G2 и G3, найдем,что кратчайший гамильтонов цикл будет для подграфа G2 (длина рав­на 10). Его вид приведен на рис.3.30.

Рис. 3.30

Рассматриваемый метод иллюстрирует смысловую сторону нахождения гамильтонова цикла и решение задачи коммивоя­жера и хорошо работает для небольших графов; Реализация метода на ЭВМ затруднена проверкой условия 2. Обычно на ЭВМ она решается ме­тодом ветвей и границ. Для графа может быть поставлена не только за­дача нахождения минимального гамильтонова цикла. Не менее важной за­дачей является задача наикратчайшего маршрута между любыми двумя произвольными вершинами. Эта задача имеет более широкое 'применение в сетевых моделях, теории кодирования, исследовании моделей производ­ственных систем [10] и обычно именуется как задача о кратчайшем пути и формулируется следующим образом.

Дан неориентированный граф G=(V,E). Каждому ребру этого гра­фа приписано некоторое число L(e) 0, называемое длиной ребра. В частных случаях L(e) может быть расстоянием между вершинами, сое­диняемыми ребром е, временем или стоимостью проезда по этому ребру и т.п. При этом любая цепь μ будет характеризоватьcя длиной, опре­деляемой следующей формулой:

                                   (3.8)

Рассмотрим вначале наиболее простой случай нахождения кратчайшего пути в графе с ребрами единичной длины. При решении этой задачи используем метод индексов [10, 14]. Поясним его на примере графа для задачи о ханойской башне (рис.3.31).

Рис. 3.31

Общее правило для нахождения кратчайшего пути в графе состоит в том, чтобы каждой вершине vi приписать индекс λi, равный длине кратчайшего пути из данной вершины в конечную (за начальную и ко нечную выбираются вершины, кратчайшее расстояние между которыми необходимо найти).

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

- конечной вершине v0 приписывается индекс 0;

- всем вершинам, из которых идет ребро в конечную вершину,приписывается индекс 1;

- всем вершинам, еще не имеющим индексов, из которых идет реб'ро в вершину с индексом λi, приписывается индекс λi+1.

Процесс продолжается до тех пор, пока не будет помечена верши­на, до которой ищется минимальное расстояние от v0, причем индекс этой вершины будет длиной кратчайшего пути. Сам кратчайший путь найдем, если будем двигаться из начальной вершины в направлении убыва­ния индексов (рис.3.31).

Описанный способ определения кратчайшего пути является частным случаем нахождения оптимального решения по методу динамического пpoграммирования [10, 14]. Задача приписывания вершинам графа числовых индексов усложняется, если ребра графа имеют произвольную длину. Усложнение вызвано тем, что в сложном графе путь, проходящий через наименьшее число вершин, нередко имеет большую длину, чем некоторые обходные пути. Так, в графе (рис.3.32) прямой путь из вершины (10) в конечную имеет длину 12, а обходной - через вершину (9) имеет дли­ну 10. Процесс приписывания индексов для такого вида графов заклю­чается в следующем [12, 14]:

- каждая вершина vi помечается индексом λi. Первоначально конечной вершине v0 приписывается индекс λ0. Для остальных вершин предварительно полагаем λi=∞ (i≠0);

- ищем такое ребро (vi, vj), для которого vji>l(vi, vj), и заменяем индекс λj индексом λ j+l(vi, vj)<λj. Продолжаем процесс замены индексов до тех пор, пока останется хотя бы одна дуга, для которой можно уменьшить λj.

Рис. 3.32

Отметим два свойства, которыми будут обладать приписанные вершинам индексы:

- пусть (vk, vS) - произвольное ребро. Для него обязательно выполняется условие , так как, если бы оно не выполнялось, индекс λS можно было бы уменьшить;

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

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

Пусть vn=а - начальная вершина с индексом vn. Ищем вершину  такую, что . Далее ищем вершину , такую, что  и т.д. до тех пор, пока не дойдем до конечной вершины . Пусть , длина которого  является кратчайшей.

Для доказательства рассмотрим произвольный путь из а в b; . Его длина будет . Согласно правилу расстановки индексов будут выполняться следующие неравенства:

Складывая - почленно эти неравенства, находим, что для любого пути μ имеет место . Так как для пути  выполняется условие , то путь  является кратчайшим.

Метод нахождения кратчайшего пути проиллюстрирован на примере карты дорог, представленной в виде графа на рис.3.32. Цифры у ребер указывают время проезда по каждой из дорог. Индексы вершин дают вре­мя проезда от данной вершины до ко­нечной.

С вопросами расстояний на гра­фе тесно связаны понятия радиуса и диаметра графа, в частности о по­нятием диаметра связано одно из важных понятий графов – матрица достижимости, которая определяет все цепи между любой парой вершин. Если обозначить  расстояние между вершинами vi и vj, где число ребер цепи, соединяющей vi и vj, то максимальное расстояние между вершинами графа G  называется диаметром графа d (G):

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

 

 

Рис. 3.33

Матрица смежности S определяет цепи единичной длины. Для це­пей длиной n необходимо матрицу смежности Sn возвести в n-ю сте­пень. При атом элемент матрицы Sn представляет множество цепей длиной n, описываемых идентификаторами ребер, входящих в цепи, сое­диняющие вершины vi и vj. При возведении в n-ю степень матрицы смежности S = (Si j) (Si j – множество идентификаторов ребер, соеди­няющих вершины vivj; sij = 0, если вершины не смежны) умноже­ние рассматриваем как конкатенацию – приписывание справа к иденти­фикатору, соответствующему i-й строке, идентификатора, соответcтвующему i-му столбцу, суммирование – как теоретико-множественное объединение полученных в результате умножения слов. Для примера най­дем все цепи длиной 2 в ранее рассмотренном графе Питерсона. С этой целью возведем матрицу S в квадрат (см. ниже).


1 2 3 4 5 6 7 8 9 10  
      e k         1
  b       m       2
  b   c       n     3
    c   d       p   4
е     d           r 5
k             s x   6
  m             t y 7
    n             u 8
      p   x t       9
        r   y u     10

         

 

S =

 

                             

 

        

1 2 3 4 5 6 7 8 9 10  
  1
  m 2
    3
  4
    5
    6
    7
      8
  t   9
r 10

 

 

         

 

S =

 

                             

 

 

Суммируя матрицы получаем, что в результирующей матри­це отсутствуют нулевые элементы, что означает существованиние цепи длиной І или 2 между любой парой вершин графа Питерсона; а это означает, что параметр графа d (G) = 2.

Следовательно, граф Питерсона связный и представляет собой ком-понентную связность. Если граф имеет k компонент связанности, то его матрицы достижимости, под которой понимается выражение

                                               (3.10)

где d (G) – диаметр графа (G); S(G) – матрицы смежность, является k-клеточной, имеет вид


            A1      0

                A2                                    

Д (G) =         .                                                                                 (3.11)

                       .

                         .

             0      Ak

 

 

Здесь матрицы A1, A2, …, Aк не содержат ни одного нулевого элемен­та (кроме, быть может, диагональных). Матрица достижимости содер­жит информацию о всех цепях, соединяющих любую пару вершин в графе, и используется при построении сетевых графиков планирования работ [13].

Для ориентированных графов было введено понятие сильной связности. Граф G сильно связен, если любая пара вершин соединена пу­тем. Максимальный по включению вершин сильно связный подграф графа называется его компонентой сильной связности. Граф называется не­сильно связным, если число его компонент сильной связности больше единицы. Для определения компонент сильной связности максимальная степень, в которую необходимо возвести матрицу смежности графа S(G),равна диаметру этого графа. Компоненте сильной связности в матрице достижимости соответствует подматрица максимального разме­ра, каждый элемент которой не равен нулю.

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

Множество вершин называется независимым, если оно не содержит двух смежных вершин. В частности, изолированная вершина образует независимое множество. Для по­лучения независимого множества можно начать его построение с произвольной вершины и добавить к нему последовательно другие по условию несмежности с уже выбранными вершинами. Такой процесс может закончиться нахождением максимального независимого множества. Однако у нас не может быть полной уверенности в том, что W будет наибольшим из всех возможных независимых множеств, так как объем W зависит от того, какие вершины выбираются на каждом шаге процесса. В качестве предельного случая рассмотрим граф, показанный на рис. 3.34. Если начнем процесс выбора с любой вершины, отличной от v1, и на каждом шаге выбираем любую вершину, кроме v1, то в конце концов получим максимальное независимое множество Wr, которое включает все верши­ны графа, кроме одной. С другой стороны, если нам не повезло и мы выбрали на первом шаге v1, то в результате получится максимальное независимое множество W2 ,состоящее из единствен-ной вершины. Максимальное независимое множество обладает свойством доминирования в графе в том смысле, что каждая вершина графа является либо элемен­том W, либо смежна с элементом W. Действительно, если какое-то не­зависимое множество не доминирует в графе, то существует, по край­ней мере, одна вершина, не принадлежащая множеству W и не смежная о ним. Такую вершину можно включать в множество W, не нарушая его свойств. Таким образом, исходное множество не было максимальным. Множество вершин, обладающее свойством доминирования, называется доминирующим множеством, вне зависимости от того, является оно независимым или нет. (В неориентированном графе понятие доминирующе­го множества соответствует понятию внешне устойчивого множества. В ориентированном графе понятию внешне устойчивого множества соответ­ствует понятие обратного доминирующего множества.) Введем основные инварианты графа для попарно несмежных вершин и попарно несмежных ребер. В соответствии с введенными понятиями будем считать множест­во вершин внутренне устойчивым, если они попарно несмежны. Внутрен­не устойчивое множество вершин называется пустым подграфом, если добавление хотя бы одной вершины, не принадлежащей этому множеству, образует хотя бы одно ребро (дугу). Максимальная мощность пустого подграфа графа G называется числом внутренней устойчивости, или вершинным числом независимости графа    Максимальное число попарно несмежных ребер графа G называется реберным числом независимости графа

 

Рис. 3.34

 

Если ребро инцидентно вершине, то говорят, что они покрывают друг друга. Множество вершин, покрывающих все ребра графе, называется  вершинным покрытием графа G .

Минимальная мощность вершинного покрытия называется числам вершинного покрытия графа  Аналогично множество ребер, покры-вающих все вершины графы G, называетсяпокрыттям графа. Минимальная мощность реберного покрытия графа G называется числом реберного покрытия Условимся считать, что любая вершина графа покрывает сама себя и две смежные вершины покрывают друг друга. Тогда минимальная мощность множества вершин, покрывающих все вершины графа G, называется вершинным числом внешней устойчивости графа β0 (G).

Аналогично будем считать, что каждое ребро графа покрывает се­бя и два смежных ребра покрывают друг друга; тогда минимальная мощ­ность множества ребер, покрывающих все ребра графа G, называется ре­берным числом внешней устойчивости β1 (G). Вычисление рассмотрен­ных инвариантов графа требуется при решении многих практических задач [I3].

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

Для решения этой задачи надо определить вершинное число внешней устойчивости данного графа. Так, например, введенные инварианты для графа Петерсона (см. рис. 3.33) имеют следующие значения:  Для любого нетривиального связного графа G = (V, E).  Алгоритмы нахождения инвериантов графа приведены в [13].

В обыкновенном графе G вершина v доминирует над собой и над  вершинами, с которыми она смежна. Следовательно, множество из k вершин  доминирует самое большее над вершинами. Если граф содержит n вершин, то необходимым условием того, что S будет внешне устойчивым множествам, является

                                               (3.12)

В частности, внешне устойчивое множество для обыкновенного графа, который является р-однородным, должно содержать по меньшей мере n/(p+1) вершин. С рассмотренными задачами тесно связан один класс задач, который является предметом многих исследований.

Требуется разделить вершины данного графа на наименьшее число независимых множеств. Задачи подобного типа называются задачами раскраске и формулируются следующим образом: назначить каждой вер­шине цвет (или абстрактную метку) таким образом, чтобы смежные вер­шины всегда имели различные цвета (пометки) и число различных ис­пользуемых цветов (пометок) было как можно меньше. Это наименьшее число называется хроматическим числом графа. Хроматическое число обыкновенного графа G, имеющего n вершин, меньше чем n, если граф G неполный, и больше 1, если G вообще содержит какие-нибудь ребра.

Для отдельных классов графов хроматическое число находится путем элементарных рассуждений. Например, каждое дерево (исключая вы­рожденное дерево, состоящее из одной изолированной вершины) имеет хроматическое число, равное двум. Следует отметить тесную связь между хроматическим числом графа и понятием k-дольного графа. Хроматическое число G является просто наименьшим k, при котором G является k-дольным (дерево является двудольным графом).

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

Раскраской вершин графа G = (V, E) в цветов называется раз­биение носителя V графа G, при котором каждое подмножество Vі(  не содержит ни одной пары смежных вершин. Каждому подмножеству сопоставляется цвет, в который окрешивают все элементы подмножества. Хроматическим числом h (G)графа G  называется минимальное число , для которого граф имеет раскраску. Возникают две задачи: первая – найти  вторая – найти число правильных раскрасок графа (граф называется правильно раскрашенным  красками, если каждая вершина раскрашена одной из  красок и если (v1 & v2) и  раскрашены разными красками).

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

Теорема Кенига. Граф является 2-хроматическим тогда и только тогда, когда он не содержит циклов нечетной длины [11 – 13].

Хроматическое число графа может быть оценено через его параметры (степень вершин и вершинное число независимости графа). Если максимальная степень вершин графа G равна  то хроматическое число этого графа не превышает величины т.е.  Для любого графа G = (V, E).

где вершинное число независимости графа.

 Аналогично вводится раскраска ребер. Подсчет числа правильных раскрасок графа G красками представляет собой сложную комбина­торную задачу. Для графа  G, имеющего |V| вершин и |Е| ребер, име­ет место следующее утверждение.

Теорема. Число правильных раскрасок (G, ) графа G  красками равно  Здесь  число неправильных раскрасок, где ребра  раскрашены неверно. Теорема доказывается на основе метода включения и исключения и но­сит чисто теоретическое значение, так как не дает практического способа подсчета числа правильных раскрасок. Для небольших графов G (V,E) имеет место следующая формула числа правильных раскрасок:

                                       (3.14)

Здесь Р(S,С) – число подграфов графа G, имеющих "С" компонент связности и S ребер;  – число красок,

Пример (рис. 3.35). Дан граф G(V,Е). Рассмотрим все слу­чаи сочетания S и С. Определим P(S, С) : Р (0,3) = I, P (1,2) =3, Р (2,1) = 3, Р (3,1) = 1:

 

 

Рис. 3.35

 

Хроматический полином равен нулю при  = 1,  = 2, При  = 3 =  число правильных раскрасок равно = 3 ∙ 2 ∙ 1 = 6. Для облегчения подсчета числа правильных раскрасок графа G обычно за­дачу разбивают на более простыв. Основой для такого упрощения слу­жат следующие леммы.

Лемма 1. Если графы G1, и G2 не связаны (представляют компоненты связности графа G), то

                                              (3.15)

Рис. 3.36

 

Лемма 2. Если граф G имеет точку сочленения v0 (см. рис.3.37), то

                                                    (3.16)

Рис. 3.37

 

Лемма 3. Если граф G имеет мост l (см. рис.3. 38) , то

                                           (3.17)

Рис. 3.38

 

Лемма 4. Если граф G получен из графа G1 добавлением ребра t без изменения числа вершин, то

                                         (3.18)

где граф  получен из G1 склеиванием висячей вершины инцидентной ребру l , и преобразованием полученого графа в простой граф – объединение параллельных ребер (рис. 3.39).

Рис. 3.39

 

С помощью лемм 1 – 4 можно свести задачу под­счета числа правильных раскрасок к более простым задачам, через расширение которых можно найти окончательный ре­зультат.

Интересным классом графов с точки зрения подсчета числа пра­вильных раскрасок являются однозначно раскрашиваемые графы. Граф G называется однозначно -раскрашенным (h=(G) = ), если каж­дая -раскраска порождает одно и то же разбиение вершин. Граф G, представленный на рис. 3.40, а, однозначно 3-раскрашиваем, так как каждая его 3-раскраска дает разбиение Граф G2 (рис.3.40,б) не однозначно 3-раскрашиваем: возможны, пять различных разбиений множества его вершин. В любой - раскраске однозначно -раскрашиваемого графа каждая вершина v смежна, по крайней мере, с одной вершиной каждого цвета, отличного от цвета, приписанного v. Отсюда следует, что каждый однозначно -раскра­шиваемый граф ( -1) связен и каждая его вершина имеет степень  Для дальнейшего изучения структур, задеваемых с по­мощью графов, целесообразно рассмотреть матричное представление циклических свойств графов, которое тесно связано с вопросами на­хождения разрезов (для плоских графов задача перечисления разре­зов, эквивалентна задаче перечисления циклов двойственного графа). Введем для исследования циклов в графе циклометрическую матрицу (матрицу цикла). Каждому циклу графа взаимно однозначно сопостав­ляется вектор-строка матрицы С(G). Каждый элемент этой строки определяется следующим образом:

         1, если j ребро входит в i-й цикл;

Cij =                          

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

           

Множество C (G) всех векторов, каждый из которых соответствует одному циклу графа G, образует векторное пространство (пространство циклов графа). При этом выполняются следующие условия:

– для любых двух циклов  существует некоторый третий цикл где  означает подразрядное сложение по модулю два;

– сложение по модулю два обладает свойством коммутативности, т.е. для любых

– сложение по модулю два ассоциативно, т.е. для любых

 

                     Рис. 3.40                                              Рис. 3.41

 

Базисом векторного пространства называется всякая система ли­нейно независимых векторов, порождающая данное пространство. Мно­жество векторов тогда и только тогда является базисом векторного пространства, когда всякий элемент этого пространства единственным образом представим в виде линейной комбинации векторов множества. Любой вектор цикла графа G может быть представлен в виде линейной комбинации векторов базиса циклов. Например, для графа, изображен­ного на рис.3.41, в качестве базисных циклов можно взять циклы R1, R2, R3. Цикломагическая матрица данного графа имеет вид

 

     

 

 


b c d e f m g h
0 1 1 0 0 0 0 1 1
1 0 0 0 0 1 1 1 0
1 0 0 1 1 1 0 1 1
0 1 1 1 1 0 1 1 0
1 1 1 0 0 1 1 0 1
0 0 0 1 1 0 1 0 1
1 1 1 1 1 1 1 1 0

 

 

С(G) =

 

 

Если связный граф G имеет n вершин и m ребер, то число базисных циклов в графе равно его цикломатическому числу  Если граф G   содержит k компонент связности, то его цикломатическое число

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

     
 


е1 е2 е3 е4 е5 е6
1 0 0 0 0 0
0 1 0 0 0 1
0 0 1 1 0 0
0 1 1 0 1 0
0 1 0 1 1 0
0 0 1 0 1 1
0 0 0 1 1 1

 

K1

К2

К3

К = К4

К5

К6

К7

 

 

Рис. 3.42

Между матрицей циклов С и матрицей раз­резов К любого графа существует соотношение СК'= 0. Аналогичное соотношение имеется меж­ду матрицей инциденций и матрицей циклов: SC′ = 0.

Для ориентированных и неориентированных графов определяются еще матрицы смежности вер­шин, смежности ребер, матрицы путей для различных пар вершин (более общим является матрица достижимости, рас­смотренная ранее) [13].

 

Операции над графами

 

Для представления графов в виде композиции более простых гра­фов введем следующие три операции: объединение, сумму и произведение.

Объединением графов и  называется граф носитель и сигнатура которого являются соответствен­но теоретико-множественным объединением носителей  и сигнатур графов  (рис.3.43,а).

Суммой графов  и  называется граф  представляющий собой объединение графов и  каждая вершина , не вошедшая в пересечение , соединяется со всеми вершинами  и наоборот (рис.3.43,б).

Декартовым произведением графов и  называется граф

Рис. 3.43

Для этих основных операций определим хроматическое число полу­ченных графов через хроматические числа исходных графов.

Хроматическое число h (G) графа G:

 

 где

 где

 где                                                         (3.19)

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


Дата добавления: 2018-11-24; просмотров: 471; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!