![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Рассмотренные в предыдущих параграфах критерии планарности таковы, что если даже удалось установить планарность графа, то нет информации о том, как строить его укладку на плоскости. В то же время при решении практических задач, о которых говорилось в начале этой главы, недостаточно знать, что граф планарен, а необходимо, как правило, построить его плоское изображение. Все это вызвало появление алгоритмов, которые не только проверяют граф на планарность, но и одновременно строят его плоскую укладку, если это возможно. Один из таких алгоритмов (алгоритм γ) рассмотрим в этом параграфе.
Алгоритм γ укладки графа G представляет собой процесс последовательного присоединения к некоторому уложенному подграфу С0 графа G новой цепи, оба конца которой принадлежат G0. Тем самым эта цепь разбивает одну из граней графа G0 на две. При этом в качестве начального плоского графа G0 выбирается любой простой цикл графа G. Процесс продолжается до тех пор, пока не будет построен плоский граф, изоморфный графу G, или присоединение некоторой цепи окажется невозможным. В последнем случае граф G не является планарным.
Поскольку связный граф планарен тогда и только тогда, когда планарны все. его блоки (теорема 37.8), а граф К2 планарен, то будем предполагать не теряя общности, что укладываемый граф 2-связен.
Введем ряд определений. Пусть построена некоторая укладка подграфа G0 графа G. Сегментом S относительно G0 (иногда просто сегментом) будем называть подграф графа G одного из следующих двух видов:
1) ребро e = uvÎEG такое, что eи Ï EG0, u,vÎVG0;
2) связную компоненту графа G — G0, дополненную
всеми ребрами графа G, инцидентными вершинам взятой компоненты, и концами этих ребер.
Очевидно, что в случае, когда граф G планарный, всякий сегмент, как подграф графа G, планарен, а в случае, когда G не является планарным, сегмент может быть как планарным, так и не планарным.
Вершину v сегмента S относительно G0 будем называть контактной, если v Î VG0. Так как в графе G нет точек сочленения, то легко доказать, что в случае, когда граф G является 2-связным, каждый сегмент содержит не менее двух контактных вершин.
На рис. 41.1 изображены граф G, его уложенный подграф G0 и все сегменты относительно G0. Контактные вершины сегментов обведены кружками.
Поскольку граф G0 плоский, то он разбивает плоскость нa грани. Допустимой гранью для сегмента S относительно G0 называется грань Г графа G0, содержащая все контактные вершины сегмента S. Через Г(S) будем обозначать множество допустимых граней для S. Может оказаться, что Г (S) = ø.
Простую цепь L сегмента S, соединяющую две различные контактные вершины и не содержащую других контактных вершин, назовем α-цепью. Очевидно, что всякая α-цепь, принадлежащая сегменту, может быть уложена в любую грань, допустимую для этого сегмента.
Два сегмента S1 и S2 относительно G назовем конфликтующимщ если
1) 0 = Г (S1) Ç Г (S2) ¹ ø, 2) существуют две α -цепи L1Î S1, L2Î S2, которые без пересечений нельзя уложить одновременно ни в какую грань Г Î 0. В противном случае будем говорить, что сегменты не конфликтуют.
![]() |
Для графа, изображенного на рис. 41.1, конфликтующими являются, например, сегменты S1 и S2, S3 и S4,S2 и S6
Вернемся к обсуждению алгоритма у.
Итак, на первом шаге этого алгоритма уложим произвольный простой цикл графа G.
Пусть, далее, G0 — построенная на предыдущем шаге укладка некоторого подграфа графа G. Для каждого сегмента относительно G0 находим множество допустимых граней. Теперь могут представиться только следующие три случая.
1. Существует сегмент, для которого нет допустимой грани. Как мы покажем в дальнейшем, граф G в этом случае не планарен.
2. Для некоторого сегмента S существует единственная допустимая грань Г. Тогда очередной шаг состоит в расположении любой α -цепи сегмента S в грани Г. При этом, как уже отмечалось, а-цепь разбивает грань Г на две грани.
3. 3.Г (S)³2 для всякого сегмента S. Тогда появляется несколько вариантов продолжения построения укладки графа, поскольку любой сегмент можно размещать в любую допустимую для этого сегмента грань. Поэтому возникают опасения, что неудачный выбор сегмента и грани может помешать процессу построения укладки на следующих шагах и плоская укладка планарного графа не будет построена. Это могло бы привести нас к неверному заключению о том, что планарный граф непланарен. В дальнейшем мы покажем, что в этом случае для продолжения алгоритма γ можно выбирать а~цепъ в любом сегменте и помещать ее в любую допустимую грань.
Теперь формально опишем алгоритм γ, а затем займемся его обоснованием.
Алгоритм γ
0. Выберем некоторый простой цикл С графа G и уложим его на плоскости; положим G0 = =C.
1. Найдем грани графа G0 и сегменты относительно G0. Если множество сегментов пусто, то перейдем к п. 7.
2. Для каждого сегмента S определим множество Г(S).
3. Если существует сегмент S, для которого Г (S) = ø, то граф G непланарен. Конец. Иначе перейдем к п. 4.
4. Если существует сегмент S, для которого имеется единственная допустимая грань Г, то перейдем к п. 6. Иначе — к п. 5.
5. Для некоторого сегмента S (Г(S)> 1) выбираем произвольную допустимую грань Г.
6. Поместим произвольную а-цепь L Î S в грань Гзаменим G0 наG U L и перейдем к п 1. 7.Построена укладка G0 графа G на плоскости. Конец.
Шагом алгоритма γ будем считать присоединение к G α -цепи L.
Дальнейшее изложение посвящено обоснованию алгоритма γ. Сначала докажем, что для планарного графа алгоритм γ строит плоскую укладку графа. Для этого нам понадобятся две леммы.
Лемма 41.1. Если конфликтующие сегменты S1 иS2 относительно G0 таковы, что |Г(S1)|³2, Г|(S2)|³2, то Г(S1) = Г(S2), |Г(S1) |=2.
Сначала докажем, что Г(S1) = Г(S2). Допустим противное. Тогда по условию леммы существуют три различных грани: Г1ÎГ(S1), Г2Î Г(S2),Г3Î0=Г(S1)ÇГ(S2)¹ø. Поэтому всякая а-цепь L1лежитS1 укладывается в Г1, а всякая а-цепь L2ÎS2 укладывается в Г2. Но это значит, что всякая пара α-цепей L1лежитS1, L2 лежит S2 од-
новременно укладывается вне Гз. Тогда они укладываются и внутри грани Гз. Но это противоречит тому, что S1и S2 — конфликтующие сегменты.
![]() |
Итак, F(S1) = Г(S2) = 0.
От противного легко показать, что|0|= 2. Пусть |0| ³ 3. Тогда существует по крайней мере три различных грани Г1, Г2, Гз Î 0. Поэтому, повторяя предыдущие рассуждения, получаем противоречие.
Построим вспомогательный граф S (G0) по следующему правилу: каждому сегменту относительно G0 поставим в соответствие вершину графа S(G0), причем будем считать, что две вершины смежны тогда и только тогда, когда соответствующие им сегменты конфликтующие.
На рис. 41.2 изображен вспомогательный граф S(G0), соответствующий сегментам ранее рассмотренного графа S (рис. 41.1) относительно G0. При этом вершины графа S(G0) обозначены так же, как и соответствующие им сегменты.
Частичной укладкой планарного графа G называется такой граф, который можно получить из какой-либо укладки графа G на плоскости путем удаления некоторых ребер и вершин. Тем самым во всякую частичную укладку планарного графа G можно уложить оставшуюся часть, т. е. недостающие вершины и ребра графа G.
Лемма 41.2. Если результатом некоторого шага алгоритма γ является частичная укладка G0 планарного графа G такая, что \ Г (S) \ ³ 2 для всякого сегмента S относительно G0, то S(G0)— двудольный граф.
Доказательство проведем от противного. Пусть граф S(G0) не двудольный. Тогда на основании теоремы Кёнига в S(G0) есть r-цикл нечетной длины. Этому циклу соответствует последовательность Р сегментов S1, S2,......, Sr, S1 относительно G01, в которой каждые соседние сегменты конфликтующие. Поэтому на основании леммы 41.1 Г(Si)={Г1, Г2} (i = i, r). Поскольку G0 — частичная укладка графа G, то все сегменты S1, S2,..., Sr могут быть уложены, а так как соседние сегменты последовательности Р конфликтуют, то они должны быть уложены в различные грани (Г1 и Г2). Но это невозможно в силу нечетности числа сегментов r.
Теорема 41.3. Если G — планарный граф, то резулътатом каждого шага алгоритма γ является частичная укладка G0 графа G.
Доказательство проведем индукцией по числу шагов.
Полученный на начальном этапе работы алгоритма γ граф G является простым циклом, который присутствует в любой укладке графа G. Следовательно, G0 — частичная укладка.
Пусть граф G0, построенный на предыдущем шаге работы алгоритма γ, является частичной укладкой. Покажем, что граф G0 U L, полученный на очередном шаге при-
соединением к G0 α -цепи L, также является частичной укладкой.
Прежде всего заметим, что не существует сегмента S относительно G0, для которого Г(S)= ø. Действительно, если бы такой сегмент S существовал, то существовала
бы и а-цепь этого сегмента, обе контактные вершины которой не принадлежат одной грани. Поэтому укладка такой цепи (и тем более сегмента S) невозможна.
Итак, могут представиться лишь следующие два случая.
Случай 1. Для некоторого сегмента S относительно G0 существует единственная допустимая грань Г. Пусть G' — укладка графа G, из которой путем удаления вершин и ребер можно получить граф G. В этой укладке сегмент S находится в грани Г, так как только этой грани принадлежат все его контактные вершины. Это значит, что, помещая любуюа-цепь L Î.S в грань Г, снова получим частичную укладку графа G.
Случай 2. |Г(S)|³2 для всякого сегмента S относительно G0. Рассмотрим связную компоненту Н двудольного (по лемме 41.2) графа S(G0), содержащую не менее
двух вершин. Эта компонента также является двудольным графом, и в силу леммы 41.1 Г(S)={Г1,Г2 }для всякого S Î H.
Пусть G' — укладка графа G, из которой путем удаления вершин и ребер можно получить граф G0. Так как все контактные вершины каждого сегмента принадлежали только граням Г1 и Г2, то каждый из сегментов относительно G0 находится в одной из этих граней. При этом сегменты, соответствующие вершинам каждой доли графа S(G0), не конфликтуют. Поэтому в графе G' сегменты, соответствующие одной доле, находятся в грани Г1 а сегменты, соответствующие вершинам другой доли, в грани Г2. Если теперь сегменты, находящиеся в Г1, поменять местами с сегментами, находящимися в Г2, то получим граф G", который также является укладкой графа G. Это значит, что всякая а-цепь любого сегмент» S Î Н в любой плоской укладке графа G может быть расположена и в Г1, и в Г2. Иными словами, помещая α-цепь LÎS в любую грань, допустимую для сегмента S, получаем частичную укладку графа G.
Если для некоторого сегмента S нет конфликтующих сегментов, т. е. вершина SÎS(G0) является изолированной, то наше утверждение очевидно.
Замечание. Если граф G не является циклом, то в процессе работы алгоритма γ встретится случай, когда |Г (S)| ³ 2, и поэтому существуют различные укладки графа G. На рис. 41.3 показаны две возможные укладки графа G, изображенного на рис. 41.1.
Следствие 41.4. Если граф G планарный, то алгоритм γ строит его плоскую укладку.
Следствие 41.5. Если в процессе работы алгоритма γ встретится сегмент S, для которого нет допустимой грани, то граф G непланарный.
Проиллюстрируем работу алгоритма γ на примерах.
Пример 1. Пусть граф G изображен на рис. 41.4. Уложим сначала цикл С = (1, 2, 3, 4, 1), который разбивает плоскость на две грани Г1 и Г2. На рис. 41.5 изображены граф G0 = C и сегменты S1, S2, S3 относительно G0 с контактным вершинами, обведенными кружками. Так как Г(Si) = {Г1,Г2} (i=1, 2, 3), то любую α-цепь произвольного сегмента можно укладывать в любую допустимую для него грань. Поместим, например, α -цепь L =
= (2, 5, 4) в Г1 Возникает новый граф G0 и его сегменты (рис. 41.6). При этом Г(S1)={Г3}, Г(S2)={Г1 Г2}, Г(Sз) = {Г1, Г2, Гз). Укладываем цепь L = (l, 5) в Гз (рис. 41.7). Тогда Г(S1)=(Г1, Г2}, Г(S2)={Г1, Г2}. Далее, уложим α-цепь L=(2, 6, 4) сегмента S1 в Г1 (рис. 41.8). В результате имеем Г(S1) = {Г5}, Г(S2) = (Г1, Г2, Гз). Наконец, уложив ребро (6, 3) в г5, а ребро
![]() | |||||
![]() | |||||
![]() |
![]() | |||
![]() |
(2, 4) —например, в Г1, получаем укладку графа G на плоскости (рис. 41.9).
Пример 2. Пусть G = K3,3 (рис. 41.10).
Цикл и сегменты относительно этого цикла изображены на рис. 41.11. При этом Г(Si)=
={Г1 Г2} (i= 1, 2, 3),
![]() |
Помещаем S1 в грань Г2 Тогда S2 необходимо поместить в грань Г1 (рис. 41.12). Поскольку Г(S1)= ø, то Kз,з — непланарный граф.
§ 42. Характеристики планарных графов
Приводимые ниже характеристики графов представляют ту или иную меру непланарности.
Род графа. Мы уже знаем, что планарные графы и только они укладываются как на плоскости, так и на сфере. Возникает вопрос: можно ли уложить пеплапарный граф на какой-либо другой поверхности?
Утвердительный ответ на этот вопрос получаем сразу же, если нарисуем граф на плоскости и для каждого пересечения двух ребер, добавив к плоскости ручку, проведем одно ребро по ручке, а другое — под ней. На рис. 42.1 изображена укладка графа К5 на плоскости, к которой добавлена одна ручка, т. е. построен «мост». Тем самым очевидно, что граф К5 (и Кз,з) можно уложить на торе, т. е. на сфере с одной ручкой (рис. 42.2).
Графы, которые нельзя уложить на плоскости, но можно уложить на торе, называются тороидальными.
На рис. 42.3 изображена укладка графа Кз,з на торе.
Укладку тороидального графа на торе удобно изобразить с помощью прямоугольника, в котором отождествлены обе пары противоположных сторон. На рис. 42.4—42.7 изображены такие укладки тороидальных графов К5, Gз,з, К7, K4,4 соответственно.
Определим теперь род Y(G) графа G как наименьшее число ручек, которые необходимо добавить к сфере, чтобы можно было граф G уложить на полученной таким образом поверхности.
![]() |
Тем самым, поскольку графы К5 Кз,з, K7,K4,4 непла-
нарны, то y(K5) = Y(K3,3) = Y (K7) = Y(К4,4)=1. Очевидно,
что 1) Y(G) = 0 тогда и только тогда, когда граф G планарный;
2) Y(G)=1 тогда и только тогда, когда граф G тороидальный.
Приведем без доказательств некоторые известные результаты о роде графа (см., например, [7], [28]):
![]() |
если G — связный (n, m)-граф (здесь и далее ]х[ — наименьшее целое число n³x);
если B1,B2,.., Bk — система всех блоков графа G, то
![]() | |||
![]() | |||
где Qn — n-мерный куб.
Число скрещиваний. Числом скрещиваний cr(G) графа
G называется наименьшее число пересечений, получаемых при
изображении графа на плоскости (понятие пересечения
относится к пересечению ровно двух ребер). Очевидно,
что сг(С) = 0 тогда и только тогда, когдa G — планарный граф.
Приведем здесь следующие известные оценки для числа скрещиваний:
причем при р £ 6 и любом q |
Толщина графа. При изготовлении печатных схем соединительные провода наносятся на одну сторону непроводящей пластинки. Поскольку печатные проводники нe изолированы, то они не должны пересекаться. Поэтомy важно знать, является ли планарным граф, в котором роль вершин играют приборы, а ребрами являются соединения. Если такой граф непланарный, то возникает
вопрос: какое наименьшее число пластинок необходимо (ля комплектования всей схемы (сети)? Таким образом, мы приходим к понятию толщины графа. Толщиной t(G) графа G называется наименьшее число его планарных подграфов, объединение которых дает граф G. Очевидно, сто толщина планарного графа равна 1. Для толщины связного (n, m)-графа справедливы оценки
Действительно, первое неравенство сразу вытекает из следствия 37.3, а второе следует из первого, если учесть легко показываемое равенство
где а, b — положительные целые числа.
Непосредственным следствием первого неравенства выделяется следующая оценка толщины полного графа
(ввиду того, что т =(n2) — целое число):
Оказывается,что
если n @4 (mod 6) и n ¹ 9.
Известны также следующие формулы для толщины (доказательство можно найти в [28]):
заисключением,
![]() |
где Qn — n-мерный куб
![]() |
за исключением тех случаев, когда р <q, pq — нечетное и существует такое целое число k, что q=[2k(p-2)/(p-2k)].
Из последней формулы, используя равенство (1), получаем формулу
Искаженность графа. Искаженностъю sk(G) графа G называется наименьшее число ребер, удаление которых приводит к планарному графу. Для искаженности полного графа справедлива формула
которая непосредственно вытекает из следствия 38.3.
Дата публикования: 2015-01-23; Прочитано: 1803 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!