ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
2015 Прикладная теория графов №3(29)
УДК 519.17
О МАКСИМАЛЬНЫХ ВНЕШНЕПЛОСКИХ ГРАФАХ С ДВУМЯ СИМПЛИЦИАЛЬНЫМИ ВЕРШИНАМИ
Ю. Л. Носов
г. Липецк, Россия
Рассматриваются максимальные внешнеплоские графы (МВП-графы) с двумя симплициальными вершинами. Для графов этого класса получены: рекурсивная характеризация, формула для расчёта количества непомеченных графов и полный инвариант, отличающийся от известного полного инварианта произвольных МВП-графов. Описан полиномиальный алгоритм вычисления полного инварианта.
Ключевые слова: максимальные внешнеплоские графы, 2-цепь, рекурсивная характеризация, непомеченные графы, полный инвариант.
DOI 10.17223/20710410/29/8
MAXIMAL OUTERPLANE GRAPHS WITH TWO SIMPLICIAL VERTICES
Y. L. Nosov
Lipetsk, Russia
E-mail: yl.nosov@yandex.ru
The class of maximal outerplane graphs with two simplicial vertices is considered.
The following results are obtained for graphs of this class: recursive characterization, a formula for computation of unlabeled graphs, a complete invariant that differs from the known complete invariant of arbitrary maximal outerplane graphs, and a polynomial algorithm for computation of the complete invariant.
Keywords: maximal outerplanar graphs, 2-path, enumeration, unlabeled graphs, complete invariant.
Введение
Одним из объектов изучения теории графов являются максимальные внешнеплоские графы (МВП-графы), которые впервые были исследованы Г. Чартрэндом и Ф. Харари в 1967г. [1].
Внешнеплоским графом называется плоский граф, все вершины которого принадлежат внешней грани. Максимальным внешнеплоским графом называется такой внешнеплоский граф, который при добавлении хотя бы одного ребра перестаёт быть внешнеплоским [2]. Графы этого вида являются триангуляциями выпуклого многоугольника и относятся к классу хордальных графов [3].
Работы по исследованию МВП-графов достаточно хорошо представлены в математической литературе (см., например, [1-11]). Основные свойства МВП-графов описаны в [2]. Характеризация в терминах запрещёных подграфов дана в [1], а рекурсивная характеризация — в [4, 5]. Некоторые «конструктивные» свойства МВП-графов рассмотрены в [5 - 7], а условия возможности укладки МВП-графов на двух параллельных
96
Ю. Л. Носов
линиях — в [8]. В работе [9] получены производящие функции для помеченных и непомеченных МВП-графов и формула для числа непомеченных МВП-графов, использующая числа Каталана. Полный инвариант МВП-графов и полиномиальный алгоритм определения изоморфизма представлены в [10]. В работе [11] разработан полиномиальный алгоритм расчёта индекса Винера МВП-графов. Такой широкий интерес к изучению МВП-графов вызван тем, что МВП-графы входят в класс хордальных графов, для которых многие NP-трудные задачи теории графов полиномиально разрешимы.
Структура МВП-графов определяется количеством вершин степени 2, являющихся симплициальными (т. е. такими, что их окрестность порождает клику). Вое МВП-графы, имеющие более двух симплициальных вершин, суть простые 2-деревья [6], а МВП-графы с двумя симплициальными вершинами — это 2-цепи [12]. Далее эти графы будем называть МВП-графами класса 2-цепь.
МВП-графы класса 2-цепь могут быть использованы в качестве графовой модели потоковых сетей с источником и стоком, сетевых графиков, электрических двухполюсников, электрических сетей с двумя источниками и с поперечными связями [13, 14]. Однако несмотря на многочисленные исследования по МВП-графам, пока не получено полного описания МВП-графов класса 2-цепь. Это определяет актуальность исследования графов данного класса.
В работе полностью описаны МВП-графы класса 2-цепь. В п. 1 приводятся типы МВП-графов класса 2-цепь, их основные свойства и условия укладки графов на двух параллельных линиях. Рекурсивная характеризация, полный инвариант и формула для числа непомеченных МВП-графов класса 2-цепь представлены в п. 2, 3 и 4. В п. 3 описан полиномиальный алгоритм вычисления их полных инвариантов.
1. Типы МВП-графов класса 2-цепь и их свойства
Введём необходимые обозначения и определения. Везде далее через G(V, E) обозначается конечный неориентированный связный граф G без петель и кратных рёбер с множеством вершин V и множеством рёбер E. Число вершин и рёбер графа обозначается через n(G) = |V| и m(G) = |E| соответственно. Все основные термины и обозначения приводятся в соответствии с [3].
Полный граф из к вершин есть k-дерево; к-дерево с n + 1 вершинами получается из к-дерева с n вершинами путём добавления в него вершины v и к рёбер, соединяющих вершину v со всеми вершинами некоторой клики размера к (к-клики) [6].
Простым к-деревом называется k-дерево, в котором любая его k-клика является подграфом не более двух (к + 1)-клик. Простое к-дерево с двумя симплициальными вершинами есть 2-цепь [12].
Внутренним графом Int(G) МВП-графа G называется связный граф, образующийся после удаления всех внешних рёбер графа G [7]. Граф типа «гусеница» (или просто гусеница) —это дерево, в котором удаление всех вершин степени 1 приводит к образованию простой цепи [15]. Простая цепь, остающаяся после удаления из гусеницы всех вершин степени 1, называется спином. Вершины степени 1 называются концевыми вершинами или листьями.
Двудольный граф G(A U B,E) называется BA-планарным, если его можно уложить на плоскости так, что все вершины размещены на двух параллельных линиях (вершины из множества A на одной линии, а вершины из множества B — на другой) без пересечений рёбер и каждое ребро является отрезком прямой. Уже уложенный таким образом граф называется плоской BA-укладкой графа G(A U B, E) или BA-плоским графом [8].
О максимальных внешнеплоских графах с двумя симплициальными вершинами
97
Граф G называется LL-планарным, если его можно уложить на плоскости так, что все вершины размещены на двух параллельных линиях без пересечений рёбер и каждое ребро является отрезком прямой. Уже уложенный таким образом граф называется плоской LL-укладкой графа G(V,E) или LL-плоским графом [8].
Гамильтоновой степенной последовательностью МВП-графа называется список D = (di,d2,... ,dn) степеней вершин графа, упорядоченный в соответствии с порядком следования вершин в гамильтоновом цикле H = (vi,v2,... ,vn,vi). В работе [10] показано, что гамильтонова степенная последовательность МВП-графа является его полным инвариантом.
Основные свойства МВП-графов описаны в [2, 4-6, 8-11]. Рассмотрим основные свойства МВП-графов класса 2-цепь.
Пусть G(V, E) — МВП-граф класса 2-цепь с n вершинами. Тогда граф G имеет две несмежные симплициальные вершины si, s2, которые разделяют гамильтонов цикл Cn графа на две цепи Pi = (si,xi,x2,..., Xa, s2) и P2 = (si,yi,y2,..., yb, s2), для которых
Pi U P2 = Cn, Pi П P2 = {si, s2}i
X = {xi,x2 ,...,xa}, Y = {yi,y2,.. . ,yb}. (1)
Таким образом, множество вершин V состоит из подмножества V1 (\V'\ = n — 2), разделённого на две доли X и Y, и симплициальных вершин si, s2:
V = V' U{si,s2}, V = X U Y, X П Y = 0. (2)
Множество рёбер E состоит из подмножеств внешних рёбер Eo (\Eo\ = n) и внутренних рёбер Ei (\Ei\ = n — 3), причём любое внутреннее ребро {u, w} соединяет пару вершин и и w из множеств X и Y:
E = Eo U Ei, Eo = {ei : ei E Cn}, Ei = {ei : ei E Cn}- (3)
Этим условиям удовлетворяют три типа МВП-графов класса 2-цепь. Графы первого типа будем называть графами типа «веер», второго типа — графами типа «лестница», третьего типа — графами типа «цепь». Образцы графов этих трёх типов приведены на рис. 1 (внутренние рёбра изображены утолщёнными линиями, а внешние рёбра — тонкими).
3
3 5 7 9
B........... B
А..^^^з-ЪА>- A .-.М
1 2 4 5 6 7 2 4 6 8
а б
Ж7 а 'Ж™
B
А
2458 9 10 12
1сЛ уз/ // 4 XV/7 5'ЛА/д 10/ /11 12р
(- э -Ш—1
3 6 7 11 13
в
Рис. 1. МВП-графы класса 2-цепь: а — типа «веер»; б — типа «лестница»; в —типа «цепь»
98
Ю. Л. Носов
Нетрудно заметить, что при удалении внешних ребер МВП-графа получается внутренний граф и несколько изолированных вершин, каждая из которых в исходном МВП-графе была симплициальной вершиной.
Таким образом, внутренний граф МВП-графа представляет собой граф, полученный удалением внешних рёбер с последующим удалением изолированных вершин. Используя принятые в выражениях (1)-(3) обозначения множеств вершин и рёбер, для внутреннего графа H некоторого МВП-графа G класса 2-цепь можно написать
Int(G) = H(V, Ej) = H(V \ {si,s2}, E \ Eo).
Утверждение 1 [7]. Если внутренний граф МВП-графа — дерево, то этот граф есть гусеница.
Следствие 1. Внутренний граф МВП-графа класса 2-цепь есть гусеница.
Доказательство следует из того, что для любого МВП-графа G(V, E) класса 2-цепь его внутренний граф H(V',Ej) является деревом.
Определение 1. В МВП-графе G класса 2-цепь вершины степени 3 будем называть терминальными вершинами, а вершины степени 4 и более — спинальными.
На рис. 1 терминальные вершины изображены простыми кружками, а спинальные — зачернёнными.
Замечание 1. Нетрудно заметить, что после удаления внешних рёбер МВП-гра-фа G класса 2-цепь спинальные и терминальные вершины графа будут соответственно вершинами спина и концевыми вершинами внутреннего графа Int(G).
С учётом введённой терминологии имеем:
а) внутренний граф n-вершинного МВП-графа типа «веер» есть звезда Sn-2 с (п — 2) вершинами (вырожденная гусеница с одной вершиной спина);
б) внутренний граф n-вершинного МВП-графа типа «лестница» есть простая цепь Pn-2 с (п—2) вершинами (вырожденная гусеница с двумя вершинами степени 1);
в) внутренний граф n-вершинного МВП-графа типа «цепь» есть невырожденная гусеница.
Определим условия возможности плоской LL-укладки МВП-графов класса 2-цепь. Для этого используем результаты, полученные в [6, 8, 16].
Утверждение 2 [16]. Двудольный граф G имеет плоскую BA-укладку тогда и только тогда, когда G есть гусеница.
Утверждение 3 [8]. Двусвязный граф G имет плоскую LL-укладку тогда и только тогда, когда:
1) граф G есть внешнепланарный;
2) слабый двойственный граф DW((Л) внешнеплоской укладки G графа G есть простая цепь.
Утверждение 4 [6]. Любой МВП-граф класса 2-цепь имеет слабый двойственный граф, изоморфный простой цепи.
Из утверждений 3 и 4 вытекает
Следствие 2. Любой МВП-граф класса 2-цепь имеет плоскую LL-укладку.
Пример плоской LL-укладки МВП графов класса 2-цепь представлен на рис. 1, а. Графы, изображённые на рис. 1, б,в, также имеют плоскую LL-укладку, для этого достаточно поместить их симплициальные вершины на параллельных линиях A и B.
О максимальных внешнеплоских графах с двумя симплициальными вершинами
99
Следствие 3. МВП-граф G класса 2-цепь является LL-плоским графом тогда и только тогда, когда его внутренний граф Int(G) является BA-плоским графом.
Анализируя всё вышеизложенное, можно сделать следующие выводы:
а) структура и вид (укладка) МВП-графа класса 2-цепь полностью определяются его внутренним графом;
б) любые два МВП-графа класса 2-цепь с одинаковым количеством вершин отличаются друг от друга своими внутренними графами.
2. Характеризация МВП-графов класса 2-цепь
МВП-графы имеют следующие, имеющие конструктивный характер, свойства.
Утверждение 5 [5]. Из любого n-вершинного МВП-графа можно получить другой МВП-граф с (n +1) вершинами посредством добавления одной вершины и двух рёбер, соединяющих эту вершину с двумя вершинами ребра, принадлежащего внешней грани исходного МВП-графа.
Утверждение 6. Из любого n-вершинного МВП-графа можно получить другой МВП-граф с (n — 1) вершинами посредством удаления симплициальной вершины и двух инцидентных ей рёбер.
Доказательства этих утверждений очевидны и непосредственно вытекают из определения МВП-графов. Описанная выше операция добавления вершины и двух рёбер, иногда называемая элементарным расширением [5], стала основой для рекурсивной характеризации МВП-графов [10].
Любой МВП-граф, имеющий n ^ 3 вершин, может быть определён рекурсивно следующим образом:
1) К3 есть МВП-граф;
2) если G есть МВП-граф, уложеный на плоскости так, что все его вершины принадлежат внешней грани, а граф G1 получен добавлением новой вершины и двух рёбер, соединяющих её с вершинами ребра, принадлежащего внешней грани, то G' есть МВП-граф;
3) H есть МВП-граф тогда и только тогда, когда он может быть получен из К3 выполнением конечной последовательности операций 2.
Дадим характеризацию МВП-графов класса 2-цепь. Для этого понадобится детализация ранее введённого определения элементарного расширения.
Определение 2. Элементарным расширением s-типа будем называть элементарное расширение, при котором новая вершина соединяется рёбрами с вершинами ребра, инцидентного симплициальной вершине.
Утверждение 7. Пусть G — МВП-граф класса 2-цепь, имеющий n вершин. Тогда после выполнения операции элементарного расширения s-типа будет получен МВП-граф G1 класса 2-цепь с количеством вершин n + 1.
Доказательство. Пусть G — МВП-граф класса 2-цепь с симплициальными вершинами si и s2 (см. рис. 2). Для выполнения операции элементарного расширения s-типа выберем симплициальную вершину, например s2. Эта вершина имеет две смежные с ней вершины ха и уь. Вершины ха, Уь, s2 и соединяющие их рёбра {xa, уь}, {ха, s2} и {yb, s2} образуют концевую грань.
Выполним операцию элементарного расширения s-типа, то есть добавим новую вершину s2 и соединим её рёбрами с вершинами одного из двух рёбер, инцидентных симплициальной вершине s2, например с вершинами ребра {s2,xa} (или с вершинами ребра {s2,Уь}).
100
Ю. Л. Носов
В графе G1 появляется новая симплициальная вершина s'2, при этом общее количество симплициальных вершин не изменится, поскольку в графе G1 вершина s2 уже не является симплициальной. Следовательно, в результате получается новый МВП-граф G1 класса 2-цепь с количеством вершин n +1 (рис. 2). ■
с .о s
s2 * ■ 2
X
X
Уь
х ж Ух
s
х б
a
s
3
х
а
Рис. 2. Операция элементарного расширения s-типа; добавление новой вершины слева (a) и справа (б) от концевой грани {xa,y^,s2}
Замечание 2. Пусть G — МВП-граф, имеющий n вершин и KS(G) симплициальных вершин. Тогда после выполнения операции элементарного расширения, не являющейся операцией s-типа, будет получен МВП-граф G1 с количеством вершин n +1 и с количеством симплициальных вершин Ks(G1) = Ks(G) + 1.
На рис. 2, а в качестве примера представлен МВП-граф класса 2-цепь с симплициальной вершиной s3, добавленной при выполнении операции элементарного расширения, не являющейся операцией s-типа.
По аналогии с термином «базовая клика k-дерева», введённым в [7], дадим определение базового подграфа МВП-графа класса 2-цепь.
Определение 3. Подграф G0 МВП-графа G класса 2-цепь, имеющий n0 ^ 4 вершин, называется базовым подграфом (базой) графа G, если он является МВП-графом класса 2-цепь, индуцирован n0 вершинами G и одной из вершин G0 является симпли-циальная вершина G.
Для графа, изображённого на рис. 1, в, базовыми подграфами являются подграфы, индуцированные вершинами 1, 2, 3, 4, или вершинами 1, 2, 3, 4, 5, и т. д.
Утверждение 8. Пусть G0 — МВП-граф класса 2-цепь порядка n0 ^ 4, к ^ 1 — целое число. Тогда справедливы следующие утверждения:
а) любой n-вершинный (n = n0 + к) МВП-граф класса 2-цепь, имеющий базовый подграф G0, можно получить из графа G0 посредством последовательного применения к операций элементарного расширения s-типа;
б) количество вариантов такого построения равно 2П-П0.
Доказательство. Рассмотрим процесс выполнения последовательности к операций элементарного расширения s-типа. Для сохранения базового подграфа G0 добавление новых вершин в этом процессе должно производиться только со стороны одной симплициальной вершины G0 так, чтобы другая его симплициальная вершина всегда оставалась симплициальной. Пусть этот процесс имеет некоторое количество Nr реализаций (вариантов) его выполнения.
О максимальных внешнеплоских графах с двумя симплициальными вершинами 101
Обозначим через Gr,i, Gr,2,... , Gr,k МВП-графы, получаемые из G0 после исполнения первой, второй, ..., k-й операции элементарного расширения s-типа в r-й реализации. Из утверждения 7 следует, что для любой r-й (г = 1, 2,, Nr) реализации все эти графы являются МВП-графами класса 2-цепь и число n(Gr,i) вершин графа Gr,i, i = 1,2,... ,k, определяется выражением n(Gr,i) = n(Gr,i-1) + 1 = n(G0) + i.
Следовательно, для любой r-й реализации после выполнения k операций элементарного расширения s-типа будет получен n-вершинный МВП-граф Gr,k класса 2-цепь с базовым подграфом G0. Количество возможных вариантов такого построения равно Nr = 2к = 2n-n0. ■
Нетрудно заметить, что величина Nr является верхней оценкой числа непомеченных n-вершинных МВП-графов класса 2-цепь, имеющих базовый подграф G0.
Утверждения 7 и 8 отражают конструктивные свойства МВП-графов класса
2-цепь, аналогичные свойствам МВП-графов, описанным в утверждениях 5 и 6. Но при этом исходным элементом для построения МВП-графов класса 2-цепь является 4-вершинный МВП-граф, полученный удалением одного ребра из полного графа К4, который обозначают через D4 и называют графом диамонд.
Утверждение 9. Любой МВП-граф класса 2-цепь с n ^ 5 вершинами имеет граф D4 в качестве базового подграфа.
Доказательство. Из утверждения 4 следует, что слабый двойственный граф DW(G) графа G имеет две концевые вершины со степенью 1, все остальные вершины имеют степень 2. Следовательно, в графе G есть две грани (будем называть их концевыми), каждая из которых смежна с одной гранью, причём в каждую концевую грань входит одна симплициальная вершина. Все грани графа G треугольные. Таким образом, концевая грань вместе со смежной ей гранью образует подграф D4, который является базовым подграфом графа G. ■
Утверждение 10. Граф G, имеющий n ^ 4 вершин, является МВП-графом класса 2-цепь тогда и только тогда, когда он является графом диамонд D4 или получен из D4 с помощью конечной последовательности элементарных расширений s-типа.
Доказательство. Необходимость. Пусть G — МВП-граф класса 2-цепь. Тогда из рекурсивного определения МВП-графов следует, что G можно получить из графа К3 посредством k операций элементарного расширения. Нетрудно заметить, что операция элементарного расширения, выполняемая на графе К3, является операцией s-типа, в результате которой получается МВП-граф D4. Таким образом, граф G получается из МВП-графа D4 посредством выполнения (k — 1) операций элементарного расширения.
Из замечания 2 следует, что все (k — 1) операции элементарного расширения тоже должны быть операциями s-типа, поскольку в противном случае граф G не был бы МВП-графом класса 2-цепь. Количество операций элементарного расширения s-типа, выполняемых при построении графа G из D4, равно (n — 4).
Достаточность. Пусть D4 —граф диамонд, k ^ 1 —целое число. Очевидно, что D4 есть МВП-граф класса 2-цепь с четырьмя вершинами. По утверждению 8 из графа D4 посредством k-кратного выполнения операции элементарного расширения s-типа будет получено множество Mg всех n-вершинных (n = 4 + k) МВП-графов класса 2-цепь, имеющих граф D4 в качестве базового подграфа. Докажем, что в множество Mg входят все n-вершинные МВП-графы класса 2-цепь.
102
Ю. Л. Носов
От противного. Предположим, что существует n-вершинный МВП-граф класса
2-цепь, не принадлежащий множеству Mg, т. е. не имеющий D4 в качестве базового подграфа. Но по утверждению 9 такое невозможно. ■
Утверждение 11. Пусть G — МВП-граф класса 2-цепь, имеющий n ^ 5 вершин. Тогда справедливы следующие утверждения:
а) из двух вершин, смежных с симплициальной вершиной, одна является спинальной, а другая — терминальной;
б) после удаления из G симплициальной вершины будет получен МВП-граф класса
2-цепь с количеством вершин n — 1.
Доказательство. Пусть G — МВП-граф класса 2-цепь, s2 — одна из его симпли-циальных вершин, ха,уь — вершины, смежные с s2.
а) Рассмотрим распределение степеней вершин, смежных с вершиной s2. При этом возможны три случая распределения степеней вершин ха,уь (рис. 3).
В первом случае (рис. 3, а) вершины ха, yb имеют степени deg(xa) ^ 4 и deg(yb) ^ 4. Во втором случае (рис. 3, б) вершины xa, yb имеют степени равные 3, то есть deg(xa) = 3 и deg(yb) = 3. И в третьем случае (рис. 3, в) deg(xa) ^ 4 и deg(yb) = 3 или deg(xa) = 3 и deg(yb) ^ 4.
Первый случай невозможен, так как в этом случае граф G не плоский. Второй случай невозможен, так как в этом случае граф G не МВП-граф, поскольку одна из его граней не треугольная. Следовательно, возможен только третий случай и, в соответствии с определением 1, одна из вершин xa,yb является терминальной, а другая — спинальной.
s S s
Л ж2 •2
X * 2* У X X
^ b aT ТУ и ■
b a
Уь
XX/ У XV/ У XV/ У
1 • -У1 1 ж -У1 1 V V
б
S
S
S
1
1
а
в
Рис. 3. Распределение степеней вершин xa, yb, смежных с симплициальной вершиной S2 МВП-графа класса 2-цепь: первый случай (a), второй случай (б), третий случай (в)
б) По свойству п. а только одна из вершин, смежных с s2, имеет степень 3. Именно эта вершина после удаления вершины s2 станет симплициальной. Другая вершина (с большей степенью) не будет симплициальной. ■
3. Полный инвариант МВП-графов класса 2-цепь
Так как укладка МВП-графа полностью определяется его внутренним графом, естественно определять полный инвариант МВП-графа 2-цепь через полный инвариант его внутреннего графа. Поэтому рассмотрим свойства графов типа гусеница, поскольку они являются внутренними графами МВП-графов. Введём некоторую числовую характеристику гусеницы.
О максимальных внешнеплоских графах с двумя симплициальными вершинами 103
Определение 4 [17]. Пусть T — гусеница со спином (w\, w2,... , wq). Тогда s-кодом гусеницы T называется последовательность целых неотрицательных чисел (ti, t2,... , tq), где ti есть количество вершин степени 1, смежных с Wi в T.
Для каждого i = 1,2,... ,q величина ti и степень degT(wi) вершины wi спина связаны следующими соотношениями:
ti = degT (wi) - 1, tq = degT (wq) - 1, ti = degT (wi) - 2, i = 2, 3 ,...,q - 1.
Сумма всех величин ti,t2,... ,tq определяет количество nf концевых вершин гусеницы. Для n-вершинной гусеницы с количеством вершин спина q верно nf = n - q. В дальнейшем s-код гусеницы будем обозначать через S(T).
Очевидно, что любая невырожденная гусеница T имеет два s-кода:
Si(T) = (ti,t2 ,-.-Л), S2 (T) = (tq ,tq-i,...,tl).
В качестве примера рассмотрим внутренние графы МВП-графов, изображённых на рис. 1. Граф звезда S5, который является внутренним графом МВП-графа типа «веер», имеет s-код S(S5) = (4), граф Р8 — внутренний граф МВП-графа типа «лестница» — имеет два одинаковых s-кода:
Si(Pg) = (1,0,0, 0, 0,1), S2(Ps) = (1,0, 0, 0,0,1).
Внутренний граф T' графа, изображённого на рис. 1, в, имеет два разных s-кода: Si(T') = (2,1,2, 0, 0,1) и S2(T0 = (1, 0, 0, 2,1, 2).
В [17] предложено использовать уникальный c-код гусеницы T как лексикографически максимальный из его кодов Si(T) и S2 (T). Так, c-код внутреннего графа T/ графа, изображённого на рис. 1, в, равен Si(T/), то есть c(T') = (2,1, 2,0, 0,1), поскольку из его двух s-кодов Si(T/) и S2(T/) код Si(T/) лексикографически максимальный.
Нетрудно заметить, что по гусенице T однозначно определяется её c-код c(T), а по c-коду определяется гусеница.
Лемма 1. Два графа типа «гусеница» Ti и T2 изоморфны тогда и только тогда, когда c(Ti) = c(Tj).
Доказательство. Необходимость. Докажем, что по гусенице однозначно получается её c-код. Действительно, по определению c-кода, порядок следования и величины элементов c-кода определяются порядком следования и величинами степеней вершин спина и не зависят ни от нумерации вершин, ни от способа укладки гусеницы. Если две гусеницы Ti и T2 изоморфны, то между множествами их вершин есть взаимно однозначное соответствие, сохраняющее смежность и степени вершин. Следовательно, их c-коды равны друг другу, то есть c(Ti) = c(T2).
Достаточность. Докажем, что из c-кода однозначно получается гусеница. Пусть имеем c-код (ci, c2,... , cq). По нему строится простая цепь с вершинами wi, w2,... , wq. Затем к каждой вершине wi добавляется ci вершин, каждая из которых соединяется ребром с вершиной wi. Полученный граф является гусеницей, в которой каждому элементу ci c-кода соответствует одна вершина wi спина и подмножество из ci концевых вершин, смежных с вершиной wi (рис. 4, б).
Следовательно, из двух равных друг другу c-кодов получаются две изоморфные гусеницы, то есть из равенства c(T0 = c(T2) следует Ti = T2. ■
Легко показать, что алгоритм построения гусеницы по её c-коду имеет временную сложность O(n).
104
Ю. Л. Носов
c w c w c
c w c w
б
Рис. 4. МВП-граф класса 2-цепь (а) и его внутренний граф — гусеница (б)
Из леммы 1 следует, что c-код гусеницы является её полным инвариантом и любая гусеница может быть однозначно восстановлена по её c-коду.
Докажем, что код гусеницы является и полным инвариантом МВП-графа класса
2-цепь, для которого гусеница является его внутренним графом. Для этого сначала докажем следующую лемму.
Лемма 2. Из c-кода гусеницы Тс однозначно получается МВП-граф G класса
2-цепь, для которого гусеница Тс является внутренним графом.
Доказательство. Пусть имеем гусеницу Тс с общим количеством вершин р, количеством q вершин спина и c-кодом (ci, c2,... , cq).
Плоская BA-укладка гусеницы Тс является внутренним графом некоторого LL-плоского МВП-графа G класса 2-цепь порядка n = р + 2. Определим структуру графа G. Она полностью определяется плоской BA-укладкой его внутреннего графа Тс (см. рис. 1 и 4). Отсюда, используя утверждение 11, а и двудольность гусениц, нетрудно показать, что граф G имеет следующие свойства:
1) первая спинальная вершина и одна из смежных с ней терминальных вершин используются при создании списка рёбер концевой грани {1, 2, 3};
2) терминальные вершины, смежные с i-й спинальной вершиной, и (i + 1)-я спинальная вершина находятся на одной линии, отличной от линии, на которой находится i-я спинальная вершина;
3) если пронумеровать спинальные вершины (в порядке их следования в спине) числами 1, 2, . . . , q, то все вершины с нечётными номерами будут располагаться на одной линии, а с чётными номерами — на другой.
Таким образом, предлагается следующий алгоритм построения МВП-графа класса
2-цепь из c-кода c = (c1, c2,... , cq):
1) Построить две параллельные линии A и B; построить граф К3 с вершинами 1, 2, 3; при построении графа вершину 2 разместить на линии B, вершину 3 — на линии A так, чтобы ребро {2, 3} располагалось вертикально, а вершину 1 — слева от ребра {2, 3}.
2) Для i = 1, 2,... ,q выполнить следующие действия:
О максимальных внешнеплоских графах с двумя симплициальными вершинами 105
а) определить количество ki добавляемых вершин по следующим выражениям: если i = 1 и q > 1, то ki = щ; если i = 1 и q = 1, то ki = С\ — 1; если 1 < i < q, то ki = (ci + 1); если i = q, то ki = cq;
б) выполнить ki раз операцию элементарного расширения s-типа; каждая добавляемая вершина соединяется двумя рёбрами с последними вершинами, находящимися на линиях A, B, и размещается на одной из этих линий в зависимости от чётности номера i.
3) Добавляется новая вершина и два ребра, соединяющие её с двумя последними вершинами, находящимися на линиях A и B.
Легко видеть, что предложенный алгоритм позволяет построить МВП-граф класса 2-цепь по c-коду его внутреннего графа, являющегося гусеницей. Однозначность такого построения следует из леммы 1. ■
Определим временную сложность алгоритма. Алгоритм имеет один внешний и один вложенный цикл. Внешний цикл выполняется q раз. Количество ki повторений вложенного цикла (для i-й итерации внешнего цикла) равно ki = ci + 1 при i = q и ki = ci при i = 1 и i = q. Общее количество выполняемых итераций равно
E(ci + 1) — 2 = E ci + (q — 2) = nf + (q — 2) = n — 4.
i=1 i=1
Следовательно, временная сложность алгоритма получения МВП-графа класса
2-цепь из c-кода равна O(n).
Из леммы 2 вытекает следующее утверждение об изоморфизме МВП-графов класса
2-цепь.
Лемма 3. Два n-вершинных МВП-графа класса 2-цепь изоморфны тогда и только тогда, когда изоморфны их внутренние графы.
Доказательство. Необходимость. Пусть имеем два изоморфных n-вершинных МВП-графа G1 и G2 класса 2-цепь, а Т1 и T2 — их внутренние графы, являющиеся гусеницами. Так как внутренние графы Т1 и Т2 получены из графов G1 и G2 удалением n внешних рёбер, то изоморфным МВП-графам однозначно соответствуют изоморфные внутренние графы, то есть если G1 = G2, то T1 = T2.
Достаточность. Пусть T1 и T2 —изоморфные внутренние графы графов G1 и G2. По лемме 1 графы T1 и T2, являющиеся гусеницами, имеют одинаковые c-коды, то есть c(T1) = c(T2). Из леммы 2 следует, что из c-кода графа типа «гусеница» Tc с p вершинами можно с точностью до изоморфизма построить n-вершинный (n = p + 2) МВП-граф G класса 2-цепь, для которого Tc будет внутренним графом. Следовательно, из двух одинаковых c-кодов c(T1) и c(T2) получаются два изоморфных МВП-графа G1 и G2 класса 2-цепь, то есть если T1 = T2, то G1 = G2. ■
Из лемм 1 и 3 следует справедливость следующего утверждения.
Теорема 1. Два n-вершинных МВП-графа G1 и G2 класса 2-цепь с внутренними графами T1 и T2 изоморфны тогда и только тогда, когда равны c-коды их внутренних графов T1 и T2, то есть G1 = G2 ^ c(Tl) = c(T2).
Таким образом, c-код является полным инвариантом для гусениц (лемма 1) и для МВП-графов класса 2-цепь (теорема 1).
Полученный полный инвариант МВП-графа класса 2-цепь отличается от полного инварианта, описанного в [10], как по количеству его элементов, так и по их значениям.
106
Ю. Л. Носов
Нетрудно заметить, что c-код является линейным списком в отличие от гамильтоновой степенной последовательности, которая является циклическим списком. Поэтому количество элементов c-кода может быть легко увеличено посредством добавления новых симплициальных вершин.
Приведём алгоритм расчёта полного инварианта МВП-графов класса 2-цепь. Будем исходить из того, что для любого МВП-графа класса 2-цепь его c-код определяется из последовательности спинальных вершин w1,w2,...,wq по их степеням degG(wi), degG(w2),... , degG(wq). Действительно, в МВП-графе G класса 2-цепь при q > 1 для каждого i = 1,2,... ,q величина ti и степень degG(wi) спинальной вершины Wi связаны следующими соотношениями:
ti = degG(wi) - 3, tq = degG(wq) - 3, ti = degG(wi) - 4, i = 2, 3,...,q - 1. (4)
В случае, когда в МВП-графе есть только одна спинальная вершина, то есть при q = 1 , для ti выполняется равенство
t1 = degG(w1) - 2 (5)
С учётом этого алгоритм получения c-кода МВП-графа класса 2-цепь состоит из следующих шагов:
1) создать список D степеней вершин, список p = {s1,s2} симплициальных вершин и определить количество q спинальных вершин;
2) определить две вершины а и b, смежные с симплициальной вершиной s1 = p(1);
3) из двух вершин а и b выбрать одну спинальную вершину w1;
4) создать упорядоченный список W спинальных вершин;
5) определить s-коды S1 и S2;
6) определить c-код как лексикографически максимальный из s-кодов.
Исходный МВП-граф G удобно задавать списком Al смежностей вершин.
На первом шаге создаётся список степеней вершин. Определение симплициальных вершин s1, s2 и всех спинальных вершин производится по их степеням.
На втором шаге определение вершин а и b, смежных с симплициальной вершиной s1, производится по списку смежностей.
На третьем шаге из вершин а и b выбирается спинальная вершина w1 .
На четвертом шаге создаётся список меток вершин, заполненный нулями. Сим-плициальные вершины s1,s2 и первая спинальная вершина w1 помечаются как уже просмотреннные. Затем создаётся пустой список W спинальных вершин и в него добавляется вершина w1. Далее для каждой спинальной вершины wc определяется список Nc смежных с ней вершин, вершины из этого списка просматриваются и каждая непомеченная вершина v Е Nc со степенью degG(v) ^ 4 добавляется в список W, затем все просмотренные вершины помечаются.
На пятом шаге проверяется условие q > 1. При q =1 выполняется расчёт s-кода S1 по выражению (5), при q > 1 —по выражениям (4). Далее с помощью реверсирования S1 получается s-код S2.
На шестом шаге (в цикле) элементы кодов S1 и S2 сравниваются друг с другом и в качестве c-кода принимается лексикографически максимальный из s-кодов.
Определим временную сложность алгоритма. Количество операций, выполняемых на первом шаге, равно сумме степеней всех вершин и, следовательно, равно 2m. Так как для МВП-графов m = 2n - 3, количество операций, выполняемых на первом шаге, равно 4n - 6. Количество операций, выполняемых на четвёртом шаге, равно
О максимальных внешнеплоских графах с двумя симплициальными вершинами 107
сумме степеней спинальных вершин и, следовательно, равно количеству терминаль-нальных вершин, то есть равно (n — q — 2). Количество операций, выполняемых на пятом шаге, определяется количеством спинальных вершин и равно 2q. Максимальное количество операций шестого шага равно |_q/2_|.
Таким образом, временная сложность алгоритма получения c-кода МВП-графа класса 2-цепь равна O(n).
Замечание 3. Полный инвариант МВП-графов класса 2-цепь можно определить методом последовательного удаления симплициальных вершин. В основе метода лежит свойство МВП-графов класса 2-цепь, доказанное в утверждении 11, а. Однако алгоритм, реализующий этот метод, довольно сложен и здесь не рассматривается.
4. Подсчёт количества непомеченных МВП-графов класса 2-цепь
Найдём точное количество непомеченных МВП-графов класса 2-цепь с использованием основных свойств гусениц, которые являются внутренними графами МВП-гра-фов класса 2-цепь. Будем использовать работу [15], в которой определено количество непомеченных гусениц.
Утверждение 12 [15]. Количество n-вершинных (n ^ 3) непомеченных гусениц равно Cn = 2n-4 + 2L(n-4)/2J
Для n = 1, 2, 3, 4,... количество n-вершинных гусениц определяет последовательность 1,1,1, 2, 3,5,10, 20, 36, 72,... (последовательность A005418 в [18]).
Теорема 2. Количество n-вершинных (n ^ 5) непомеченных МВП-графов класса 2-цепь равно 2n-6 + 2L(n-6)/2J.
Заключение
В работе дано полное описание МВП-графов класса 2-цепь. Получена их рекурсивная характеризация, в основу которой положено понятие элементарного расширения s-типа. Основными результатами являются: условие изоморфизма (лемма 3), полный инвариант (теорема 1) и формула для числа непомеченных МВП-графов класса 2-цепь (теорема 2). Получены полиномиальные алгоритмы построения гусениц и МВП-графов класса 2-цепь по c-коду, а также полиномиальный алгоритм расчёта полного инварианта МВП-графов класса 2-цепь.
Перспективным направлением дальнейших исследований является использование c-кода МВП-графов класса 2-цепь для кодирования информации.
ЛИТЕРАТУРА
1. Chartrand G. and Harary F. Planar permutation graphs // Ann. Inst. Henri Poincare, Sec. B. 1967. V. 3. No. 4. P. 433-438.
2. Харари Ф. Теория графов. М.: Мир, 1973. 300с.
3. Евстигнеев В. A., Касьянов В. Н. Словарь по графам в информатике. Новосибирск: ООО «Сибирское Научное Издательство», 2009. 300с.
4. Mitchel S. Linear algorithms to recognize outerplanar and maximal outerplanar graphs // Inform. Process. Lett. 1979. V. 5. No. 1. P.229-232.
5. Asratian A. S. and Oksimets N. Graphs with hamiltonian balls // Australasian J. Combinatorics. 1998. V. 17. No 4. P.185-198.
6. Markov M. On the vertex separation of maximal outerplanar graphs // Serdica J. Computing.
2008. V. 154. No5. P.207-238.
7. Hedetniemi S. M., Proskurowski A. J., and Syslo M. M. Interior graphs of maximal outerplane graphs // J. Combin. Theory. Ser. B. 1985. V. 38. No. 2. P.156-167.
108
Ю. Л. Носов
8. Cornelsen S., Schank T., and Wagner D. Drawing graphs on two and three lines // J. Graphs Algorithms Appl. 2004. V. 8. No. 2. P. 161-177.
9. Guanzhang Hu. Catalan number and enumeration of maximal outerplanar graphs // Tsinghua Sci. Technol. 2000. V. 5. No. 1. P. 109-114.
10. Beyer T., Jones W., and Mitchell S. Linear algorithms for isomorphism of maximal outerplanar graphs // J. ACM. 1979. V.26. No. 4. P.603-610.
11. Носов Ю.Л. Индекс Винера максимальных внешнеплоских графов // Прикладная дискретная математика. 2014. №4(26). С. 112-122.
12. Markenzon L., Justel C. M., and Paciornik N. Subclasses of k-trees: Characterization and recognition // Discr. Appl. Math. 2006. V. 154. No. 5. P.818-825.
13. Майника Э. Алгоритмы оптимизации на сетях и графах. М.: Мир, 1981. 324с.
14. Свами М., Тхуласираман К. Графы, сети и алгоритмы. М.: Мир, 1984. 455 с.
15. Harary F. and Schwenk A. J. The number of caterpillars // Discr. Math. 1973. V. 6. No. 4. P. 359-365.
16. Harary F. and Schwenk A. J. A new crossing number for bipartite graphs // Utilitas Math. 1972. V. 1. P.203-209.
17. Gionfrido M., Harary F., and Tuza Z. The color cost of caterpillar // Discr. Math. 1997. V. 174. No. 1-3. P. 125-130.
18. http://www.oeis.org/A005418 — Sloane N. J. A. The On-Line Encyclopedia of Integer Sequences.
REFERENCES
1. Chartrand G. and Harary F. Planar permutation graphs. Ann. Inst. Henri Poincare, Sec. B, 1967, vol. 3, no. 4, pp. 433-438.
2. Harary F. Graph Theory. Perseus Books, 1994.
3. Evstigneev V.A., Kas’yanov V.N. Slovar’ po grafam v informatike [Dictionary of Graphs in Computer Science]. Novosibirsk, OOO «Sibirskoe Nauchnoe Izdatel’stvo», 2009. 300p. (in Russian)
4. Mitchel S. Linear algorithms to recognize outerplanar and maximal outerplanar graphs. Inform. Process. Lett., 1979, vol. 5, no. 1, pp. 229-232.
5. Asratian A. S. and Oksimets N. Graphs with hamiltonian balls. Australasian J. Combinatorics, 1998, vol. 17, no. 4, pp. 185-198.
6. Markov M. On the vertex separation of maximal outerplanar graphs. Serdica J. Computing, 2008, vol. 154, no. 5, pp. 207-238.
7. Hedetniemi S. M., Proskurowski A. J., and Syslo M. M. Interior graphs of maximal outerplane graphs. J. Combin. Theory. Ser. B, 1985, vol. 38, no. 2, pp. 156-167.
8. Cornelsen S., Schank T., and Wagner D. Drawing graphs on two and three lines. // J. Graphs Algorithms Appl., 2004, vol. 8, no. 2, pp. 161-177.
9. Guanzhang Hu. Catalan number and enumeration of maximal outerplanar graphs. Tsinghua Sci. Technol., 2000, vol. 5, no. 1, pp. 109-114.
10. Beyer T., Jones W., and Mitchell S. Linear algorithms for isomorphism of maximal outerplanar graphs. J. ACM, 1979, vol. 26, no. 4, pp. 603-610.
11. Nosov Yu. L. Indeks Vinera maksimal’nykh vneshneploskikh grafov [The Wiener index of maximal outerplane graphs.] Prikladnaya diskretnaya matematika, 2014, no. 4(26), pp. 112-122. (in Russian)
12. Markenzon L., Justel C. M., and Paciornik N. Subclasses of k-trees: Characterization and recognition. Discr. Appl. Math., 2006, vol. 154, no. 5, pp. 818-825.
О максимальных внешнеплоских графах с двумя симплициальными вершинами 109
13. Minieka E. Optimization Algorithms for Networks and Graphs. N.Y., Basel, Marcel Dekker, Inc., 1978. 323 p.
14. Swamy M. N. S. and Thulasiraman K. Graphs, Networks and Algorithms. N.Y., Wiley, 1981. 592 p.
15. Harary F. and Schwenk A. J. The number of caterpillars. Discr. Math., 1973, vol. 6, no. 4, pp.359-365.
16. Harary F. and Schwenk A. J. A new crossing number for bipartite graphs. Utilitas Math., 1972, vol. 1, pp. 203-209.
17. Gionfrido M., Harary F., and Tuza Z. The color cost of caterpillar. Discr. Math., 1997, vol. 174, no. 1-3, pp. 125-130.
18. http://www.oeis.org/A005418 — Sloane N. J. A. The On-Line Encyclopedia of Integer Sequences.