УДК 519.8
Е.В. БОБЫЛЕВА
ЧАСТНЫЙ СЛУЧАЙ ЗАДАЧИ РАСПОЗНАВАНИЯ ПОЛНОГО НЕКАНОНИЧЕСКОГО ПРЕДФРАКТАЛЬНОГО ГРАФА
Abstract: In the paper the properties of noncanonical prefractal graphs with substitution of the vertexes according to identified principle are discussed. The algorithm of recordinition of prefractal graphs with one and k substitutable vertexes. The problem HAMILTON CYCLE is solved for noncanonical prefractal graph, gene- rated by complete n-vertexes priming and for canonical prefractal graph, generated by n-vertex star.
Key words: fractal (prefractal) graph, canonical and noncanonical fractal graphs, homogeneons priming, algorithm of graph recognition, algorithm substitution.
Анотація: В роботі досліджуються властивості неканонічних предфрактальних графів із заміщенням вершин за деяким принципом. Побудовані алгоритми розпізнавання предфрактальних графів з однією та k вершинами, що заміщуються. Розв’язана задача ГАМІЛЬТОНІВ ЦИКЛ для неканонічного предфрактального графа, породженого повною n-вершинною затравкою, та для канонічного предфрактального графа, породженого n-вершинною зіркою.
Ключові слова: фрактальний (предфрактальний) граф, канонічний та неканонічний фрактальні графи, однорідна затравка, алгоритм розпізнавання графів, алгоритм заміщення.
Аннотация: В работе исследуются свойства неканонических предфрактальных графов с замещением вершин по определенному принципу. Построены алгоритмы распознавания предфрактальных графов с одной и k замещаемыми вершинами. Решена задача ГАМИЛЬТОНОВ ЦИКЛ для неканонического предфрактального графа, порожденного полной n-вершинной затравкой, и для канонического предфрактального графа, порожденного n-вершинной звездой.
Ключевые слова: фрактальный (предфрактальный) граф, канонический и неканонический фрактальные графы, однородная затравка, алгоритм распознавания графов, алгоритм замещения.
1. Введение
Актуальность проблемы. В последнее время в классе задач оптимизации и в экстремальных задачах на графах внимание исследователей привлекли задачи распознавания на фрактальных (предфрактальных) графах. Интерес к этим объектам обусловлен как теоретическими предпосылками, так и тем, что с помощью их моделируются задачи биологии, медицины, социологии, физики, экономики.
Анализ исследований и публикаций. Впервые понятие фрактальный (предфрактальный) граф было введено в работе В.А. Перепелицы, И.В. Сергиенко [1]. Авторы вводят понятия канонического и неканонического предфрактальных графов, исследуют свойства канонического предфрактального графа, порожденного однородной затравкой, и приводят алгоритм распознавания данного графа.
В работах [2, 3] продолжены исследования в данной области. В [2] рассмотрены свойства и построены алгоритмы распознавания канонических предфрактальных графов, порожденных полной затравкой, звездой, колесом. В [3] приводятся полиномиальные алгоритмы для некоторых ЫР-полных задач на упомянутом выше классе графов.
Постановка задачи. В настоящей работе изучаются свойства неканонических предфрактальных графов и построены алгоритмы их распознавания.
Неканонический предфрактальный граф - это граф, полученный замещением на каждом этапе определенного подмножества вершин [1].
Рассмотрим неканонический предфрактальный граф, полученный замещением на каждом i-м шаге кг~1 вершин (i = 1,2,...L; L = 1,2,....).
Алгоритм замещения реализуется следующим образом.
Пусть дана затравка H = (W, Q ) - граф, содержащий циклы, т. е. не являющийся деревом.
Она является предфрактальным графом ранга 1, т.е. графом G(1). В ней замещаются произвольные к вершин (к < п ). Остальные незамещенные (п - к ) вершин называются заблокированными и на последующих этапах не замещаются. В дальнейшем будут замещаться только вершины вновь появляющихся затравок. Заблокированные вершины образуют множество M1 - множество заблокированных вершин первого уровня (L = 2). Все вершины множества M1 имеют степень п-1. Далее, в каждой из к затравок замещаются такие к вершин, что вершины из множества M1 смежны только с новыми заблокированными вершинами (новые заблокированные вершины - заблокированные вершины затравок, которые были присоединены на предыдущем шаге). Данные вершины образуют множество M2.
Этот процесс продолжается до тех пор, пока не будет построен требуемый граф G^).
Пусть неканонический предфрактальный граф G = (V,E), порожденный произвольной затравкой H = (W, Q ), построен. Тогда имеют место следующие равенства:
. ^-1 к -и’
V\ = kL 1n + (n — k )----------------------------------------------------------------------------------------------, (i)
і і кЬ -1
\Щ = Я------ , (2)
1 1 к -1
где Ь - ранг графа G ; к - количество замещаемых вершин (1 < к < п): п - количество вершин затравки Н.
При к=1 V = 1+Ь(п -1);
Е = яЬ, (3)
где я - количество ребер затравки Н = (Ж, Q).
На каждом шаге Ь в текущем графе G^) распознается к'-1 затравок.
Лемма 1. Множество вершин графа G можно разбить на два непересекающихся подмножества вершин К и М, где К - множество вершин распознаваемых затравок; М -множество заблокированных вершин и
|К|=пкЬ-1. (4)
Доказательство. Так как граф G неканонический, то на каждом шаге ' замещается только к'-1 (' = 2,..., Ь) вершин. Остальные вершины являются заблокированными. Следовательно,
множество вершин графа G разбивается на два непересекающихся подмножества, одно из
которых содержит все вершины затравок, и мощность его равна пк1 1, другое - все заблокированные вершины, что и требовалось доказать.
Лемма 2. Множество заблокированных вершин М неканонического предфрактального графа G, порожденного полной затравкой Н, можно разбить на (Ь — 1) непересекающихся подмножеств М1, М2, ..., МЬ—1. Причем
Мг | = (п — к) , (при 1 < к < п — 1);
|М|=к1'1, (при к=п — 1);
\М\ = п — 1 (при к = 1),
где 1 = 1,...,Ь — 1 и для каждого подмножества М1^ каждые п — к вершин смежны между
собой.
Доказательство. Пусть множество М1 - множество заблокированных вершин,
образованных на шаге 2. Так как в исходной затравке замещается только к вершин, то остальные п — к вершин по определению являются заблокированными, и образуют множество М1 и
\М 1 = п—к . Так как затравка полный граф, то все вершины множества М1 смежны между собой.
Множество М2 формируется по следующему принципу: в каждой из затравок, которые заместили к вершин графа G, замещаются к вершин. Остальные незамещенные (п - к) вершин в каждой из этих затравок являются заблокированными и образуют множество М2 . Очевидно, что так как затравка полный граф, то каждые эти (п - к) вершины будут смежны между собой. И так далее, пока не дойдем до заблокированных вершин последнего шага. Из вышесказанного можно сделать вывод, что множество заблокированных вершин графа G можно
разбить на (Ь — 1) подмножеств М1, М2, МЬ—1. Причем |Мг | = (п—к)г, если 1 < к < п — 1, |Мг| = к1—1 при к = п — 1, |Мг | = п — 1 при к = п — 1 (г = 1,...,Ь — 1) и для каждого подмножества М1 каждые п — к вершин смежны между собой, что и требовалось доказать.
Лемма 3. Множество вершин V неканонического предфрактального графа G = (V, Е), порожденного полной л-вершинной затравкой, можно разбить на два подмножества вершин V1 и ^ степени п — 1 и п соответственно и V! = п .
Соответственно множество вершин затравки Н = (\¥ ,0) можно разбить на два подмножества Ж1 и Ж2 степеней п — 1 и п соответственно.
Теорема 1. Пусть G = (V,E) неканонический предфрактальный граф, порожденный полной л-вершинной затравкой H = (W,Q) и количество замещаемых вершин в каждой затравке равно к . Тогда только для к затравок W |= 1, для остальных W |= 0 .
Доказательство. Согласно лемме З количество вершин степени n -1 равно n . Из них (n - к) вершин принадлежат множеству M1 (множество заблокированных вершин на первом шаге). Остальные к вершин множества V1 являются вершинами затравок. Согласно построению, только к затравок имеют вершины степени n -1 и это затравки, присоединенные на последнем шаге. Следовательно, только для к затравок W |= 1, для остальных W |= 0 , что и требовалось доказать.
2. Алгоритм распознавания неканонического предфрактального графа, порожденного полной n-вершинной затравкой при к = 1
Пусть неканонический предфрактальный граф G = (V, E ) порожден полной л-вершинной затравкой и к =1. Представим алгоритм распознавания.
1. Проверяем условия (2), (З). Если они не выполняются, то данный граф не является неканоническим предфрактальным графом.
2. Возьмем произвольную вершину v степени n — 1. Эта вершина либо принадлежит множеству M1 (множеству заблокированных вершин первого уровня), либо является вершиной затравки. Рассмотрим смежные с ней вершины. Если среди них n - 2 вершины имеют степень n -1 , то записываем их, в том числе и вершину v, во множество M1. Если все смежные с ней вершины имеют степень n и граф, индуцированный подмножеством этих вершин и вершиной v полный, то помечаем все его вершины и ребра, тем самым выделяя затравку, а все вершины, кроме v, имеющие степень n -1 , записываем во множество M1 , и таким образом вершины множества M1 определены. Стягиваем вершины выделенных затравок в одну вершину и переходим к графу G( L—1).
3. В графе G(L—1) берем вершину степени n — 1, не принадлежащую множеству M1. Если граф, индуцированный подмножеством смежных с ней вершин и самой этой вершиной, является полным, то помечаем все его вершины и ребра, тем самым выделяя затравку. Стягиваем ее в одну вершину
и переходим к графу G( L—2).
Процесс, описанный в п. З, продолжаем до тех пор, пока не получим граф G(1).
3. Алгоритм распознавания неканонического предфрактального графа, порожденного полной п-вершинной затравкой при к > 1
В этом случае на каждом шаге і = 2,..., Ь распознается кг~1 затравок.
1. Проверяем условия (1), (2). Если они не выполняются, то данный граф не является неканоническим предфрактальным графом.
2. Определяем множества М1,М2, ...,МЬ—1 следующим образом. Множество М1 - это (п — к) вершин, имеющих степень п — 1, и эти вершины смежны между собой. Множество М2 - это (п—к)2 вершин, если к < п — 1 (к вершин, если к = п — 1), имеющих степень п , и эти вершины смежны с вершинами множества М1 (каждая вершина из множества М2 смежна с одной вершиной множества М1МЬ—1 - это (п—к)Ь—1 вершин, если к < п — 1 (кЬ—2 вершин, если к = п — 1), имеющих степень п, и эти вершины смежны с вершинами множества МЬ—2 (каждая вершина из множества МЬ-1 смежна с одной вершиной множества МЬ-2).
3. Берем произвольную вершину V, не принадлежащую множеству Мі (і = 2,...,Ь — 1), и рассмотрим п -1 смежных с ней вершин, не принадлежащих ни одному множеству Мг (і = 2,...,Ь — 1). Если граф, индуцированный этими вершинами и самой вершиной V является полным, то помечаем все его вершины и ребра, тем самым, выделяя затравку.
Когда все затравки выделены (а именно кЬ~1), стягиваем каждую из них в одну вершину и переходим к графу G(Ь~1). Так как для этого графа множества Мі (і = 2,...,Ь — 2) определены, то
остается только распознать кЬ-2 затравок, т.е. применительно к этому графу выполняем действия, описанные в п. 3.
Этот процесс продолжается до тех пор, пока не будет получен граф G(1).
4. Задача ГАМИЛЬТОНОВ ЦИКЛ на неканоническом предфрактальном графе, порожденном полной п-вершинной затравкой
Теорема 2. Задача ГАМИЛЬТОНОВ ЦИКЛ полиномиально разрешима на неканоническом предфрактальном графе, порожденном полной п-вершинной затравкой.
Докажем эту теорему путем описания полиномиального алгоритма нахождения гамильтонового цикла для графа указанного типа.
Пусть количество вершин, замещаемых в каждой затравке, равно к .
Считаем, что множества Мі заблокированных вершин известны после действий алгоритма распознавания.
Алгоритм
1. По аналогии с алгоритмом построения гамильтонового цикла для канонического предфрактального графа, порожденного полной затравкой, исходный граф О разбиваем на множества вложенных подграфов [3]. Всего таких множеств будет Ь. Назовем каждое такое множество слоем. Каждый подобный слой является разбиением исходного графа на подграфы. Разбиение происходит следующим образом:
- к слою КЬ отнесем все вершины исходного графа О (как отдельные одновершинные
г т кЬ~1 -1
графы): КЬ ={ОЬ, О2Ь ,.. О^1}, где тЬ = кЬ 1п + (п - к)--------- при 1< к < п-1 (тЬ =1+Ь(п -1)
к-1
при к = 1);
- к слою КЬ-1 отнесем все затравки исходного графа О и вершины множества Мі (і = 1, Ь -1). Каждый граф из КЬ-1 будет или затравкой исходного графа, то есть содержит в себе п вершин (или п графов слоя КЬ), смежных между собой: КЬ-1 ={о^-1, О^-1,..., От-- }
кЬ-2 - 1
(тЬ-1 = кЬ-2 п + (п - к)----- при 1< к < п-1 (тЬ-1 = 1 + (Ь-1)(п-1) при к = 1)) , или
к-1
одновершинным графом, если эта вершина входит в состав множества Мі (і = 1, Ь -1) ;
- к слою КЬ-2 отнесем следующие подграфы: каждый граф из КЬ-2 будет содержать в себе либо к затравок исходного графа и п - к вершин множества МЬ-1, смежных с ними (т.е. п
кЬ-з -1
графов слоя Кь-1 ): К Ь-2 ={о1-2 , ОЬ-2 , . . ., От-22 } (тЬ-2 = кЬ~'п +(п - к) , , при
к-1
1<к< п-1 (тЬ-2 =1 + (Ь-2)(п-1)при к = 1)) , или будет являться одновершинным графом, если
эта вершина входит в состав множества М1 иМ2 и. . . иМЬ-2;
,кЬ-4 -1
- Кь-з ={oi-з, ^-з^.^ От-І } (ть-з =кЬ-4 п + (п - к) 1 Л при 1<к < п-1
к-1
(ть_3 =\ + (Ь-3)(п-1)при к = 1)) , где каждый граф слоя Кь_3 является либо совокупностью из п смежных между собой графов слоя Кь-2, или является одновершинным графом, если эта вершина входит в состав множества Ых иМ2 иМ3 и... иМь-3.
- наконец, “верхний” слой К\ = (С\,С2,...,} будет содержать всего п элементов, каждый из которых содержит в себе или п смежных между собою графов слоя К2 , или будет одновершинным графом, если эта вершина входит в состав множества М1.
Описанный процесс осуществим: граф является предфрактальным, порожденным полной затравкой, то на каждом этапе построения слоев мы будем иметь возможность находить или к
подграфов, смежных между собой, или одновершинные подграфы, вершины которых входят в
состав множеств Мі (і = 1, . . .,Ь -1).
Далее выполняем действия, аналогичные, как и для алгоритма построения гамильтонового цикла для канонического предфрактального графа [3].
2. Для первого слоя К1 проставляем произвольную нумерацию меток его подграфов. В
дальнейшем опустим номера подграфов всех слоев, считая их постоянными, введем для каждого такого графа, наряду с его номером (верхним индексом), понятие пометки - порядковый номер графа текущего слоя в гамильтоновом цикле, который ми строим. Ниже, под номером графа, будем иметь в виду именно пометку, а не тот номер, который подграф получил при разбиении.
3. Считаем і = 2.
4. Если і = Ь , то идем на шаг 7.
5. Для слоя под номером і выполняем следующую последовательность действий (подэтапов):
5.1. Находим в слое і -1 первый и последний пронумерованные подграфы (номер 1 и номер ті-1).
5.2. Находим в слое і подграфы, которые содержатся в подграфах Оі1 и О1ті
5.3. Среди этих двух множеств подграфов выбираем подграфы, которые являются смежными, то есть соединяют между собой два этих множества в исходном графе О ребром.
Обозначаем два данных подграфа как первый и последний в обходе (нумеруем О1-1 и О*"і-).
Далее, по такому же правилу, находим смежные подграфы для каждых двух последовательных графов ОД и О-+ . Смежные подграфы обозначаем номерами О1рп и Орп+1. Остальные подграфы (те, что не являются смежными для подграфов “верхних” слоев) нумеруем в произвольном порядке в интервале [(р - 1)п + 1, рп-1] для данного рассмотренного графа Ор. Ясно, что рє[1,ті ].
6. Увеличиваем і := і +1 и переходим к шагу 4.
7. Слой КЬ представляет собой искомый гамильтонов цикл, а пометки его подграфов (они являются вершинами) и будут номерами вершин исходного графа в гамильтоновом цикле.
Иллюстративный пример. Пусть граф, изображенный на рис. 1, является неканоническим предфрактальным графом, порожденный полной 3-вершинной затравкой.
1
Рис. 1. Граф, порожденный полной 3-вершинной затравкой Для этого графа Ь = 5, к = 2, п = 4.
1. Разбиваем исходный граф на множества вложенных подграфов:
К5: (О5 = {1}О; ={2},..., О563 ={63});
К4 : (О4 = {16,62,63}, О42 ={17,60,62}, О43 = {18,58,59}, О44 ={19,57,56}, . . . ,
О46 = {31,32,33}, О47 ={15}, О48 ={14}, . . .,О431 = {1}) ;
К3 : (о1 = {62,63,16,15,17,60,61}, . . ., О38 = {31,32,33,35,34,30,8}, О39 ={7},
О30 = {6},..., О35 = {1});
К2 : (о1 ={62,63,16,15,17,60,61,4,14,18,59,58,19,57,56},. . .,О25 ={3},О26 ={2},О27 ={1}); К1 : (О1 = {63,62,16,15,17,61,60,59,58,18,14,19,57,56,4,2,5,13,20,55,54,53,52 21,51,22,50,12,23,49,48}, . . ., О1 = {1}).
2. Ставим произвольную нумерацию меток подграфов слоя К1. Пусть “1” для О1, “2” для
012, “3” для О1.
3. Переходим к слою 2.
На предыдущем слое 1, как видно, первая метка соответствует подграфу О1, последняя -
013. На слое 2 подграфы, которые соответствуют подграфу О1, - это подграфы О2,О2, О23; О13-
это единый подграф О27 .
Как видно из структуры исходного графа в, графы “1” и “3” слоя 1 смежны по вершинам 1 и 2, то есть в нашем случае - по подграфам О^ и О^. Эти подграфы получают метки “1” и “7” соответственно.
Находим для графов “1” и “2” предыдущего слоя 1 подграфы слоя 2, по которым они смежны. Как видно, это подграфы О22 и О|. Эти подграфы получают метки “3” и “4”
соответственно. Так как первый и последний компоненты в обходе для графа О\ уже
пронумерованы, то другие подграфы слоя 2, которые соответствуют графу О\, получают произвольные метки в диапазоне от 2 до 2-х. Далее подобным образом расставляем номера для других подграфов слоя 2, обозначая в первую очередь те подграфы данного графа, которые связывают два последовательных подграфа предыдущего слоя.
Пусть, таким образом, все подграфы слоя 2 получили метки, которые уже пронумерованы.
4. Переходим к слою 3.
На предыдущем слое 2, как видно, первая метка соответствует подграфу Ов2 , последняя -
О7 . На слое 3 подграфы, которые соответствуют подграфу О2 - это подграф О32, (или просто
вершина 2), О7 - это подграф О35 (вершина 1).
Как видно из структуры исходного графа в, графы “1” и “7” слоя 2 смежны по вершинам 7 и
15, то есть в нашем случае - по подграфам О\4 и О\5. Эти подграфы (вершины) получают метки
“1” и“15” соответственно.
По аналогии с предыдущим слоем, переходя от двух следующих (по метке) подграфов слоя 2 (в данном случае затравок), мы ставим метки всем подграфам слоя 3 (вершинам), проставляя в первую очередь метки для подграфов слоя 2. В результате подграфы слоя 3 получат следующие
метки: О32 - “2”, О3 - “3”, О32 - “4”, О33 - “5”, О31 - “6”, О34 - “7”, О35 - “8”, О\0 - “9”, О36 - “10”,
О37 - “11”, О3 - “12”, О39 - “13”, О34 - “14”.
5. Переходим к слою 4.
На предыдущем слое 3, как видно, первая метка соответствует подграфу О314 , последняя -О315 . На слое 4 подграфы, которые соответствуют подграфу О314 - это подграф О430 (или просто вершина 2), О35 - это подграф О3 (вершина 1).
Как видно из структуры исходного графа О , графы “1” и “15” слоя 3 смежны по вершинам 1 и 2, то есть в нашем случае - по подграфам О430 и О431 . Эти подграфы (вершины) получают метки
“1”и “31” соответственно.
По аналогии с вышеописанным нумеруем остальные подграфы слоя 4 и в результате
получим: О428 - “2”, О47 - “3”, О4 - “4”, О42 - “5”, О43 - “6”, О48 - “7”, О44 - “8”, О45 - “9”, О46 - “10”,
047 - “11”, о427 - “12”, 048 - “13”, о47 - “14”, о48 - “15”, о49 - “16”, 040 - “17”, о421 - “18”, о426 -
“19”, О422 - “20”, О41 - “21”, О42 - “22”, О43 - “23”, О423 - “24”, О44 - “25”, О45 - “26”, О46 - “27”, О424 - “28”, О425 - “29”, О429 - “30”.
В итоге, гамильтонов цикл будет иметь следующий вид: 2, 4, 15, 16, 63, 62, 61, 17, 60, 59, 58, 18, 14, 19, 57, 56, 55, 20, 54, 53, 52, 21, 13, 5, 12, 22, 51, 50, 49, 23, 48, 47, 14, 46, 45, 44, 25, 11, 6, 10, 26, 43, 42, 41, 27, 40, 39, 38, 28, 9, 29, 36, 35, 30, 34, 33, 32, 31, 8, 7, 3, 1, 2.
5. Задача ГАМИЛЬТОНОВ ЦИКЛ на каноническом предфрактальном графе, порожденном п-вершинным колесом
Теорема 3. Задача гамильтонов цикл полиномиально разрешима на каноническом предфрактальном графе, порожденном полным п-вершинным колесом.
Доказательство этой теоремы будет иметь конструктивный характер.
Алгоритм
Алгоритм аналогичен алгоритму построения гамильтонового цикла для неканонического предфрактального графа, только разбиение на вложенные подграфы происходит таким образом, что каждый граф слоя КЬ-І является совокупностью, состоящей из п смежных между собой по
схеме “колесо” графов слоя КЬ-І (І = 1,...Ь -1) .
Опишем структуру, которую можно считать смежной по схеме “колесо”.
Пусть задана следующая структура: п подграфов, причем п -1 подграф (“оболочка колеса”) соединен только з тремя этими подграфами (двумя “соседями” и “центром колеса”) и является единым подграфом (“центр колеса”), который соединен дугами со всеми другими п -1 подграфами.
Назовем такую структуру подобной колесу - ”колесо”, поскольку в качестве узлов в этой структуре могут выступать как вершины (тогда мы получим обычное “колесо”), так и подграфы.
Нумерация узлов такой структуры уже не может проходить произвольно, так как это было представлено для случая полной затравки. Поэтому опишем такой способ нумерации, чтобы мы могли пройти с первой пронумерованной вершины этой структуры к последней, пометив все узлы только один раз таким образом, чтобы /-й и /+1-й узлы были смежны между собой.
Пусть первый и последний узлы находятся на оболочке этой структуры. Центр никогда (кроме начального шага) не будет первым или последним, так как он в исходном графе О смежный только с вершинами данной структуры, в отличие от вершин оболочки.
Рассмотрим на примере 6-вершинного колеса. Пусть известна только первая и последняя вершины в нумерации.
Рис. 2. Первый шаг нумерации Рис. 3. Второй шаг нумерации
Далее, среди всех узлов, смежных с узлом “1”, выбираем один из тех, который принадлежит оболочке. Нумеруем такой узел номером “2”.
Среди всех узлов, смежных с узлом “2”, выбираем один из тех, что принадлежит оболочке и еще не пронумерован. Нумеруем такой узел номером “3”.
Рис. 4. Третий шаг нумерации Рис. 5. Четвертый шаг нумерации
Далее идти подобным путем уже не удается. Вершина 3 не имеет смежных с ней вершин, которые находятся на оболочке и не пронумерованы.
В этом случае мы нумеруем уже центр “колеса”.
После этого переходим к нумерации узла, который смежный с первой вершиной и не был пронумерован.
Рис. 6. Б-нумерация Рис. 7. Граф, порожденный 5-вершинным колесом
После этого продолжаем нумерацию аналогично первым шагам до тех пор, пока не пронумеруем все узлы (когда дойдем до последнего узла).
Эту нумерацию будем называть в-нумерацией, так как контур обхода структуры напоминает латинскую букву ‘^”.
Иллюстративный пример. Пусть граф, изображенный на рис. 7, канонический
предфрактальный граф, порожденный 5-вершинным колесом.
Для этого графа Ь = 2 .
1. Разбиваем на множества вложенных подграфов:
К 2 :(С2 = {1}, 02 = {2},..., О? = {25});
К1 : 01 = {1,2,5,7,8}, 0? ={16,17,20,22,23}, 0? = {3,4,6,9,10} 04 ={11,12,13,14,15}, 05 = {18,19,21,24,25}.
2. Ставим нумерацию меток подграфов слоя К1 . Пусть “2” для 01, “3” для 013, “1” для
01, “5” для 012, “4” для 015.
3. Переходим к слою 2.
На предыдущем слое 1, как видно, первая метка соответствует подграфу 01, последняя -015. На слое 2 подграфы, которые взяты из подграфа 01, - это подграфы 0" , 0^2, 0^3, 01, 01.
05 - это подграфы 0\6, 0Ц , 0220, 0222, 0223.
Как видно из структуры исходного графа 0 , графы “1” и “5” слоя 1 смежны по вершинам
14 и 17. Эти подграфы (вершины) получают метки “1” и “25” соответственно.
Находим для графов “1” и “2” предыдущего слоя 1 подграфы слоя 2, по которым они
смежны. Как видно, это подграфы 0” и 02 . Они получают метки “5” и “6” соответственно. Так как
первый и последний компоненты в обходе для графа 014 уже пронумерованы, то остальные
подграфы слоя 2, которые соответствуют графу 014 , получают метки в диапазоне от 2 до 5 с
помощью в-нумерации, а именно: “2” - 015, “3” - 012, “4” - 013.
По аналогии с предыдущим слоем, переходя от двух следующих (по метке) подграфов слоя 2 (в данном случае затравок), мы ставим метки всем подграфам слоя 3 (вершинам), проставляя в первую очередь метки для подграфов слоя 2.
Пусть, таким образом, все подграфы слоя 2 получили метки (уже пронумерованы).
В итоге, гамильтонов цикл будет иметь такой вид:14,15, 12, 13,11, ..., 23, 22, 16,20,17, 14.
6. Выводы
В работе исследованы свойства полного неканонического графа, в котором замещение вершин подчиняется определенному принципу. На основе этих свойств построены алгоритмы распознавания данных графов на предфрактальность. Доказана теорема о полиномиальной разрешимости задачи ГАМИЛЬТОНОВ ЦИКЛ на данном классе графов.
СПИСОК ЛИТЕРАТУРЫ
1. Перепелица В.А., Сергиенко И.В., Кочкаров А.М. К проблеме распознавания фрактальных графов // Кибернетика и системный анализ. - 1999. - № 4. - С. 72 - 89.
2. Бобылева Е.В. Алгоритмы распознавания графов на предфрактальность // Питання прикладної математики
і математичного моделювання. - 2003. - С. 9 - 15.
3. Бобылева Е.В. О полиномиально разрешимых подклассах ЫР-полных задач на предфрактальных графах // Питання прикладної математики і математичного моделювання. - 2004 (у редакції).