УДК 519.6; 519.17 UDC 519.6; 519.17
СТРУКТУРНОЕ РАСПОЗНАВАНИЕ PREFRACTAL TREES GENERATED BY SEEDS
ПРЕДФРАКТАЛЬНЫХ ДЕРЕВЬЕВ С SET STRUCTURAL RECOGNITION
МНОЖЕСТВОМ ЗАТРАВОК
Кочкаров Ахмат Магомедович Kochkarov Ahmat Magomedovich
Доктор физико-математических наук, профессор Dr. Sci. (Phys.-Math.), Prof.
Хапаева Лёля Халисовна Hapaeva Lelya Halisovna
Северо-Кавказская Государственная гуманитар- Northern Caucasia Stat academy for technologies and
но-технологическая академия, humanities,
Черкесск, Россия Cherkessk, Russia
В работе определен класс предфрактальных де- In paper the class of prefractal the trees generated by ревьев, порожденных множеством затравок-звезд с set of seeds-stars with alternation is defined. The algo-чередованием. Построен и обоснован алгоритм rithm of this class prefractal graphs recognition is распознавания этого класса предфрактальных гра- proved. It is proved also polynomial character of the фов. Доказан полиномиальный характер предло- offered recognition algorithm женного алгоритма распознавания
Ключевые слова: СТРУКТУРНОЕ РАСПОЗНА- Key words: STRUCTURAL RECOGNITION, NET-ВАНИЕ, СЕТЕВЫЕ СИСТЕМЫ, ИЕРАРХИЧЕ- WORK SYSTEMS, HIERARCHICAL STRUC-СКИЕ СТРУКТУРЫ, ПРЕДФРАКТАЛЬНЫЕ ДЕ- TURES, PREFRACTAL TREES, FRACTAL РЕВЬЯ, ФРАКТАЛЬНЫЕ ГРАФЫ GRAPHS
Введение
Термин “сеть” широко распространен в современной научной и бизнес-литературе. На слуху такие выражения как “розничная или торговая сеть (сеть магазинов)”, “сетевой маркетинг”, “филиальная сеть”, “сеть трубопроводов”, “железнодорожная сеть”, “социальная сеть”, “компьютерная сеть”, “информационная сеть”, “телефонная сеть” и т.д. Не редко этот термин используется для обозначения совершенно различных понятий. В настоящем диссертационном исследование термин “сеть” понимается во-первых как совокупность путей доставки товаров или услуг до конечного получателя, а во вторых как совокупность связей между элементами многоэлементной системы. Системы, в основе функционирования которых лежит сеть, принято называть сетевыми системами [1].
На протяжении довольно длительного времени техническая и экономическая науки считали аксиомой стационарность структуры всякой сетевой системы. Под структурой системы понимали совокупность исключительно устойчивых связей между элементами системы. На этом понимании выросли научные школы в области теории графов, дискретной математики, комбинаторной оптимизации и теории систем. Не без основания все ре-
зультаты деятельности научных школ имеют совершенно четко очерченные области применения в практической деятельности. Но глобализационные процессы в мировой экономики и жизнеустройстве ставят новые задачи.
Развивающаяся экономика и глобализационные процессы вынуждают сетевые системы развивать, адаптировать, оптимизировать свою сетевую структуру под сильно изменчивую конкурентную среду, и под новую геополитическую конъюнктуру. В такой ситуации в регулярных изменениях сетевых структур прослеживаются закономерности. Сетевые структуры не только теряют свою стационарность (фиксированность), но и приобретают признаки динамических систем. Сетевые структуры приобретают признаки и свойства иерархических и масштабно-инвариантных структур. Процессы изменения, развития, поведения сетевых структур можно объединить общим понятием “структурная динамика”. В системах с изменяющейся структурой целесообразно вести контроль над изменениями структуры для формирования спектра необходимых свойств и характеристик. Достижение этой цели лежит в русле решения задач структурного управления или управления структурной динамикой [2, 3].
В качестве моделей структурной динамики сетевых систем в работах профессора Кочкарова А.М. предлагаются различные классы масштабноинвариантных графов, называемых предфрактальными.
Очевидно, что при исследовании сетевых систем, необходимо решать не только задачу распознавания структуры уже существующей сетевой системы, но и задачу распознавания самого процесса развития-изменения структуры сетевой системы. Задачу, объединяющую две указанные, назовем задачей структурного распознавания. В настоящей работе и предлагаются алгоритмы распознавания сетевых систем с древовидной структурой. Эти алгоритмы, во-первых, устанавливают, что процесс развития сетевых структур соответствует тем или иным правилам порождения предфрактальных деревьев [4, 5], а во-вторых, определяют какие типы затравок при порождении были использованы.
1. Предфрактальные графы: основные понятия и характеристики
Предфрактальный граф будем обозначать через GL = (VL, EL), где
VL - множество вершин графа, а EL - множество его ребер. Определим его рекуррентно, поэтапно, заменяя каждый раз в построенном на предыдущем этапе і = {1,2,..X -1} графе Gl каждую его вершину связной затравкой H = (Ж, Q). На первом этапе предфрактальному графу соответствует затравка. При этом об описанном процессе говорят, что предфрактальный граф GL = (^, Ех) порожден затравкой Н = (Ж, Q). Ребра, появившиеся
на этапе I, I = 1, X, порождения предфрактального графа, будем называть ребрами ранга I. Новыми ребрами предфрактального графа GL назовем -ребра ранга L, а все остальные ребра назовем старыми. Процесс построения предфрактального графа, по существу, есть процесс построения последовательности предфрактальных графов, которую и назовем траекторией. Фрактальный граф определяется бесконечной траекторией. Обобщением описанного процесса порождения предфрактального графа GL является такой случай, когда вместо единственной затравки Н используется множество затравок H = {НҐ}={НЬН2,...,НҐ,...,НТ}, Т > 2. Суть этого обобщения состоит в том, что при переходе от графа Gl-1 к графу Gl каждая вершина замещается некоторой затравкой Н{ є H, которая выбирается случайно или согласно определенному правилу, отражающему специфику моделируемого процесса или структуры. Если при переходе от графа Gl-1 к графу Gl каждая вершина графа Gl-1 замещается одной конкретной случайно выбранной затравкой Н{* є H, то будем говорить, что предфрактальный граф GL порожден множеством затравок H = {Нґ}, ґ = 1,2,...,Т, Т > 2, с чередованием. Если же при порождении предфрактального графа GL множеством затравок H = {Нґ}, Т > 2, с чередованием задано некоторое правило выбора затравок из H, например, неубывание числа вершин или ребер выбираемых затравок, то будем говорить, что предфрактальный граф GL порожден множеством затравок H = {НҐ}, ґ = 1,2,...,Т, Т > 2, с упорядоченным чередованием.
Очевидно, что порождение фрактального графа G = (V, E) (т.е. когда траектория является бесконечным множеством
G1,G2,...,Gf,...,Gl,Gl+1,...) с чередованием затравок, возможно только при бесконечном числе замещений затравок H = {Ht}, t = 1,2,...,T, T > 2 .
Если при порождении предфрактального графа с чередованием, для замещения вершин на последующих шагах порождения выбираются затравки с возрастанием числа вершин, то такой предфрактальный граф будем называть порожденным с упорядоченным возрастанием затравок. Если же для замещения вершин на последующих шагах порождения выбираются затравки с убыванием числа вершин, то такой предфрактальный граф будем называть порожденным с упорядоченным убыванием затравок. Использованием для порождения предфрактального графа чередованием затравок одной и то же затравки на различных этапах порождения исключается.
В случае порождения предфрактального графа GL с упорядоченным возрастанием (с упорядоченным убываем) затравок H = {Ht}, t = 1,2,...,T, T > 2, если L > T, то переход на l = T +1 шаге порождения от предфрактального графа Gt к Gt+1, осуществляется заменой всех вершин графа Gt затравкой с наименьшим (наибольшим) числом вершин из H = {Ht}, t = 1,2,...,T, T > 2. На последующих шагах l = T + 2,T + 3,...,L порождения предфрактального графа GL затравки из H = {Ht}, t = 1,2,...,T, T > 2, используются последовательно по очередности возрастания (убывания) числа вершин. В случае порождения предфрактального графа GL число этапов порождения больше числа затравок, L > T , целесообразно говорить о периоде замещения вершин затравками. Период замещения вершин затравкам в процессе порождения предфрактального графа GL с возрастанием или убыванием вершин затравок H = {Ht}, t = 1,2,...,T, T > 2, обозначим через P.
Для всякого предфрактального графа ключевыми характеристиками являются мощности множеств вершин и ребер. Для предфрактального графа порожденного множеством затравок эти характеристики подсчитаны в следующих ниже умозаключениях.
Лемма 1. Всякий предфрактальный граф Gl , порожденный множеством полных затравок H ={Ht}, t = 2,3,...,T, где Ht - t-вершинный граф и L = T -1, с упорядоченным возрастанием имеет N (Gl ) = Т! вершин.
Доказательство. Рассмотрим траекторию Gl,G2,...,Gi,...,Gl предфрактального графа Gl , порожденного множеством затравок H = {Ht}, t = 2,3,..., T с упорядоченным возрастанием. На первом шаге порождения полная двухвершинная затравка из множества H совпадает с первым элементом из траектории предфрактального, G1 = H2 . Число вершин N (Gl) = N (H 2) = 2. Граф G2 из траектории предфрактального графа Gl порождается из графа G1 замещением двух его вершин затравками H3 , -полными трехвершинными графами. Поэтому число вершин графа G2 определяется как N (G2) = N (Gl) * 3 = 2 * 3 = 3!= б. В свою очередь, граф G3 из траектории предфрактального графа GL порождается из графа G2 замещением всех шести его вершин затравками H4, - полными четырехвершинными графами. А значит, число вершин графа G3 определяется как N(G3) = N(G2) * 4 = N(Gl) * 3 * 4 = 2 * 3 * 4 = 4!= 24.
Аналогичным образом, число вершин графа Gi, l = 2,3,...,L, определяется произведением N (Gi) = N (Gi-і) * (l +1). Отметим, что T = L +1, а мощность множества затравок |H| = L. Таким образом, Пройдя все этапы порождения число вершин предфрактального графа GL , порожденного множеством полных затравок, будет равно N (Gl ) = Т! ◄1
Теорема 2. Всякий предфрактальный граф Gl, порожденный множеством затравок H = {Ht}, t = 2,3,...,T, где Ht - t-вершинный граф и L = T -1, с чередованием имеет N (Gl ) = Т! вершин.
Доказательство. Согласно общему определению фрактального и предфрактального графов число вершин всякого предфрактального графа зависит в первую очередь от числа вершин его затравок, и ни коей мере не зависит от числа ребер его затравок. Т.е. число вершин предфрактального графа не зависит от типа затравки, а зависит от числа ее вершин. Напри-
1 Здесь и далее символом “ ◄ ” будем обозначать окончание алгоритмов, доказательств лемм и теорем. http://ei.kubaaro.ru/2011/05/pdf/37.pdf
мер, предфрактальный граф JL, порожденный полной п -вершинной затравкой или множеством полных затравок, предфрактальный граф СL, порожденный п -вершинным циклом или множеством циклов, и предфрак-тальный граф DL, порожденный п -вершинной цепью или множеством цепей, будут иметь одинаковое количество вершин. Поэтому, используя результат предыдущей леммы, можно утверждать, что всякий предфракталь-ный граф GL, порожденный множеством затравок H = {Нґ}, ґ = 2,3,...,Т с чередованием имеет N (GL) = Т! вершин. ◄
Теорема 3. Всякий предфрактальный граф GL, порожденный множеством полных затравок H = {НҐ}, ґ = 2,3,...,Т, где Нґ - ґ-вершинный граф и L = Т -1, с упорядоченным возрастанием имеет
ґлґґ^ \ і 2 (і + 2)!(і +1)
Q(GL) = 1 + ^----------2------ребер.
I=1 2
Доказательство. В траектории Gl,G2,...,Gl,...,GL предфрактально-го графа GL, порождаемого множеством затравок H = {Нґ} с упорядоченным возрастанием граф Gl = Н2 имеет одно ребро и две вершины,
Q(Gl) = 1, N(Gl) = 2. Напомним, что каждая затравка из множества
H ={НҐ} используется для порождения предфрактального графа только один раз, то траектория предфрактального графа GL, порождаемого множеством затравок H = {Нґ} с чередованием, будет состоять из (Т -1) графов. Предфрактальный граф G2 из траектории, порожденный замещением двух вершин графа Gl = Н2 трехвершинной трехреберной затравкой Н3, будет имеет N^2) = N^)*N(Н3) = 2*3 = 6 вершин. А число ребер графа G2 вычисляется сложением числа ребер графа Gl (Q(Gl) = 1) с числом всех новых ребер полученных при замещении двух вершин графа Gl трехреберной затравкой Н3 - Q(G2) = Q(Gl) + 2*Q(Н3) = 1 + 2*3 = 7. Аналогично, число ребер предфрактального графа Gз можно получить сложением числа ребер графа G2 с числом новых ребер полученных при замещении всех шести вершин графа G2 четырехвершинными шестире-
берными затравками Н4 - Q(0з) = Q(О 2) + 6*Q(Н4) = 7 + 6*6 = 43. Таким образом, число ребер каждого последующего предфрактального графа из траектории получается из числа ребер текущего предфрактального графа сложением с числом новых ребер, которое получается умножением числа вершин текущего предфрактального графа на число ребер очередной затравки: ^01+1) = ^01) + N(01)* Q(Н1+2^ I = 2,3,...,т -1 ь = Т -1. Второе слагаемое из правовой части выражения N (О/ )* Q (Ні+2) определяет число новых ребер, которое появляется на каждом этапа порождения, или, иначе, соответствует числу новых ребер предфрактального графа О/+1 из траектории исследуемого предфрактального графа Оь. Поэтому число всех его ребер Q(0ь) можно получить путем последовательного сложения
новых ребер появляющихся на всех этапах порождения:
Ь-1
Q(0L) = 1 + X (і +1)^( Н/+2). Учитывая, что для порождения предфрак-і=1
тального графа Q(0L) используется только полные затравки, а число их ребер вычисляется согласно соотношению Q( Н/) = 1 (і 2 1, то
^ ч ! Ь^1п 1Ч ,(і + 2)(/ +1) 1 Ьь-1(і + 2)!(і +1)
Q(0L) = 1 + X (і +1)!-----2----' = 1 + ----2-----1 или
1=1 2 1=1 2
Q(GL) = 1 + Т£2(і + 2)'(і +1. ◄
і = 1 2
Следствие 3.1. Всякий предфрактальный граф 0L, порожденный
множеством затравок-звезд H = {НҐ}, ґ = 3,4,...,Т, где Н1 - ґ-вершинный
граф и L = Т - 2, с упорядоченным возрастанием имеет Т-2
Т -2(і + 1)! Q(0L ) = 2 + X —Г”1 (і +1) рє6єр■ ◄
і=2 2
2. Распознавания предфрактальных деревьев
Предфрактальные деревья и необходимые признаки распознавания
Под распознаванием предфрактального графа будем понимать определение траектории предфрактального графа при условии, что будут заданы затравки. Будем различать два вида распознавания: явное и неявное.
Под неявным распознаванием подразумеваем утверждение о том, что данный граф является фрактальным и базируется на некоторой n -вершинной затравке или множестве затравок H = [Ht}, t = 2,3,...,T .
Явное распознавание подразумевает представление в явном виде множества ребер для каждого ранга или представление в явном виде траектории данного графа G = (V, E), что подразумевает и определение (распознавание) затравки или множества затравок, порождающих предфрак-тальный граф.
Итак, рассмотрим следующую проблему. Пусть представлен в явном виде некоторый граф G = (V, E), обладающий двумя необходимыми (но не являющимися достаточными) признаками предфрактального графа, порожденного с чередованием затравок:
1) Для мощности множества вершин |V| существует пара T и L, таких, что L = T -1 и VI = T!;
2) Для мощности множества ребер |Е| справедливо равенство
,E| = 1 + t£(/ + 2)!(l +1).
i = 1 2
Сформулируем два вопроса из области теории распознавания:
а) является ли данный граф G предфрактальным, порожденным множеством полных затравок;
б) можно ли построить достаточно эффективный алгоритм, который гарантированно дает положительный или отрицательный ответ на вопрос а).
В случае распознавания предфрактальных графов, порожденных какой-либо разновидностью деревьев (звезда, цепь, ребро) важным необходимым признаком является ацикличность самого предфрактального графа, т.е. предфрактальный граф так же должен быть деревом [4].
Результатом работы многих процессов являются структуры, отражающиеся диадическими деревьями [5]. Естественным обобщением этого понятия является ^-адическое дерево [5].
Термином ‘“R-адическое дерево” называем всякое дерево, у которого каждая невисячая вершина имеет степени r + 1, r > 2. С учетом практических приложений различают ^-адическое дерево и корневое ^-адическое дерево [5].
Простейший случай, когда диадическое дерево порождается единственной затравкой, которая представляет собой 3-вершинную звезду. Аналогично ^-адическое дерево порождается затравкой, которая представляет собой (r + 1)-вершинную звезду.
Сохраняя для обозначения дерева символ G, можем представлять траекторию порождения предфрактального дерева в тех же обозначениях, что и последовательность Gi, G2,..., Gr,..., Gl . Алгоритм получения этой траектории в случае порождения предфрактального ^-адического дерева описывается следующим образом.
Переход от текущего дерева Gr = (Vr, Er) к текущему дереву Gr+1 всякий раз подчиняется трем общим правилам.
1) Если вершина v е Vr не является висячей, то она не замещается затравкой;
2) замещаемая затравкой вершина v е Vr выбирается только из подмножества висячих вершин, а само висячее ребро становится инцидентным центру звезды;
3) если какая-либо висячая вершина v е Vr оказалась незамещенной затравкой, то она называется “замороженной” и по отношению к ней операция ЗВЗ не применяется ни на каком из следующих этапов r +1,r + 2,...,L .
Отметим, что в траектории G1,G2,...,Gr,...,GL ее начальный элемент G1 представляет собой (r +1) -вершинную звезду.
Естественным обобщением ^-адического дерева является предфрак-тальное дерево, которое порождается в точном соответствии с описанными правилами 1) - 3) с тем лишь отличием, что “незамороженная” висячая
вершина замещается альтернативно некоторой звездой из заданного множества звезд H = {H}. Полученное таким образом дерево принято называть термином “H -дерево”. Распознавание H -дерева сводится к простой визуализации, подробнее об этом можно узнать в работе [5].
Несколько более сложным случаем является задача распознавания предфрактального H -дерева с чередованием затравок.
Переход в траектории G1,G2,...,Gr,...,GL H-дерева с чередованием затравок от текущего дерева Gr = (Vr, Er) к текущему дереву Gr+1 всякий раз подчиняется следующим правилам
I. Если вершина v є Vr не является висячей, то она не замещается затравкой;
II. Каждая висячая вершина v є Vr замещается затравкой H *є H, выбранной случайным образом из множества затравок-звезд H = {Ht}, а каждое висячее ребро становится инцидентным центру
звезды H * є H; в каждом переходе от графа Gr к графу Gr+1 используется для замещения вершин только одна затравка H = {H} и L > T, причем каждая затравка используется (выбирается) в процессе порождения не менее одного раза;
Необходимый признак предфрактального дерева, порожденного множеством затравок-звезд, вытекает из следствия 3.1.
Алгоритм распознавания предфрактальных деревьев с чередованием затравок
Приведем описание алгоритма a1 распознавания предфрактального H -дерева с чередованием затравок.
Алгоритм a1 Состоит из k = 1,2,...,l,...,L этапов. На каждом из этапов алгоритма выполняются три ключевые операции: окрашивание (выделение) вершины, окрашивание (выделение) ребра, стягивание ребра. На вход первого k = 1 этапа алгоритма предъявляется предназначенное для распознавание дерево G = (V, E) и пустое множество H. На вход каждого из этапов
к = 1,2,...,/,...,Ь алгоритма а1 предъявляется дерево Ок = (Ук,Ек), как результат работы предыдущего этапа.
На этапе к = /, / = 1,2,...,Ь -1, сначала выделим все вершины дерева
0/, смежные с висячими вершинами. Если каждая выделенная вершина
дерева 0/ смежна с одинаковым числом висячих вершин, обозначим это число через Н/, а степень самой вершины равна Н/ +1, то выделим все
висячие ребра дерева 0/. Затем в множество H добавим (Н/ +1)-
вершинную звезду, а все выделенные ребра дерева 0/ стянем. Полученное таким образом новое дерево предадим на вход следующего этапа.
Если же дерево 0/ не удовлетворяет предъявляемым требованиям, то работа алгоритма прекращается с заключением о несоответствии дерева G = (V, Е) определению предфрактального H -дерева с чередованием затравок.
Результатом работы алгоритма а1 на этапе к = Ь будет граф-звезда, соответствующая графу 0\ из траектории предфрактального H -дерева с чередованием затравок, в противном случае распознаваемое дерево не является искомым. ◄
Теорема 4. Всякое предфрактальное H -дерево Оь = (Уь, Еь ) с чередованием затравок распознается алгоритмом а1 с полиномиальной трудоемкостью 0(|Еь|Ь) .
Доказательство теоремы 4 можно разделить на две части. В первой будет доказано соответствия выполняемой алгоритмом а1 работы заявленным целям, т.е. распознаванию предфрактального H -дерева с чередованием затравок. Во второй будет подсчитана трудоемкость самого алгоритма а1.
I) Ключевым моментом в распознавании H -дерева О = (V, Е) с чередованием затравок является наличие у дерева висячих ребер, причем инцидентных вершинам с одинаковой степенью. Кроме того, степени таких вершин должны быть одинаковыми и быть больше числа инцидентных им висячих ребер только на 1. И действительно, при порождении H -
дерева G = (V, Е) с чередованием затравок замещаются затравкой только висячие вершины, и звездами с одинаковым числом ребер. Именно, это является причиной описанного свойства H -дерева с чередованием затравок.
II) На каждом из к = 1,2,...,/,...,Ь этапов распознавания алгоритм ах рассматривает каждое ребро дерева G = (V, Е) выделяет среди них висячие, т.е. окрашивает их или нет. Поэтому Трудоемкость каждого из к = 1,2,...,/,...,Ь этапов алгоритма а1 равна 0(|Е|). А поскольку алгоритм распознает предфрактальное H -дерево Оь = Уь , Еь ) с чередованием затравок за Ь шагов, то вычислительная сложность или трудоемкость ограничивается полиномом 0(| Еь |Ь). ◄
Заключение
Предложенный и обоснованный алгоритм «1 распознавания пред-
фрактальных деревьев, порожденные множеством затравок-звезд с чередованием может быть взят за основу для построения алгоритмов распознавания предфрактальных деревьев порожденных при иных условиях (с упорядоченным чередованием затравок, при сохранении или не сохранении смежности старых ребер и т.д.).
Важно отметить, что алгоритм «1 обладает трудоемкостью 0(| Еь |Ь), где Еь - число ребер распознаваемого предфрактального графа, а Ь - его
ранг. Свойство полиномиальности для алгоритмов обработки многоэлементных систем является крайне важным ввиду масштаба их структур.
Литература
1. Малашенко Ю.Е., Новикова Н.М. Суперконкурентное распределение потоков в многопродуктовых сетях// Дискретный анализ и исследование операций. - Серия 2, 1997. Т. 4, № 2. - С. 34-54.
2. Охтилев М.Ю., Соколов Б.В., Юсупов Р.М. Интеллектуальные технологии мониторинга и управления структурной динамикой сложных технических объектов. - М.: Наука, 2006.
3. Кочкаров А.М., Кочкаров А.А., Никищенко С.П. Структурная динамика и исследование структурно-временных характеристик дискретных систем // Известия ТРТУ. Тематический выпуск “Перспективные системы и задачи управления”. - Таганрог: ТРТУ, 2006. - № 3. - С. 235-238.
4. Емеличев В.А., Мельников О.И., Сарванов В.И., Тышкевич Р.И. Лекции по теории графов. - М.: Наука, 1990.
5. Кочкаров А.М. Распознавание фрактальных графов. Алгоритмический подход. -Нижний Архыз: РАН САО, 1998.