УДК 519.179
Протографы и архиграфы как обобщение графов
Кручинин С.В.
ООО «ВЭЛБОРН» г. Воронеж
Аннотация. Даны контуры обобщения теории графов. Даны определения протографа, архиграфа, степени архиграфа, раскраски протографа. Предложенный аппарат может быть использован в моделировании телекоммуникационных сетей, теории вычислений и программировании, в анализе и моделирование социальных сетей, социальных и политических явлений, других иерархических и сетевых явлений.
Ключевые слова: граф; мультиграф; гиперграф; метаграф; портовый граф; потоковый граф; хроматическое число; раскраска графа; раскраска карты; карта; стек; очередь; Машина Тьюринга; нейронная сеть; протограф; архиграф; степень графа; телекоммуникации; сети, телекоммуникационные сети, социально-политическое моделирование.
Статья поступила в редакцию 28.06.2017.
Protograph and archigraph as a graph generalization
Kruchinin S.V.
Wellborn LLC. Russia, Voronezh
Abstract. The contours of the generalization of graph theory are given. The definitions of the protograph, the archigraph, the degree of the archigraph, the coloring of the protograph are given. The proposed apparatus can be used in the modeling of telecommunication networks, the theory of computation and programming, in the analysis and modeling of social networks, social and political phenomena, and other hierarchical and network phenomena.
Key words: graph; graph generalization; multigraph; hypergraph; metagraph; port graph; stream graph; chromatic number; coloring graph;
map; coloring map; stack; queue; neuro network; network; Turing machine; protograph; archigraph; arch graph; graph degree; telecommunications; social and political modelling.
The article was received on 28.06.2017.
Введение
Теория графов широко используется в практике: телекоммуникационные сети, электрические схемы, социальные графы, нейросети, находя приложение во многих отраслях современного знания (электротехника, электроника, системы телекоммуникаций, программирование, биоинформатика и биология, социология и политология). При этом для более точного построения моделей и моделирования свойств исследуемого объекта удобно использовать обобщения графов.
Наиболее известные из них:
Мультиграф - две вершины могут быть связаны более чем одним ребром.
Гиперграф - одно ребро (гиперребро) может связывать более двух вершин.
Метаграф - граф, в котором вершина (метавершина) может содержать другие вершины, а может быть два типа ребер: ребра, соединяющие одиночные вершины и ребра (метаребра), соединяющие метавершины [1-3].
Рис.1 Примеры обобщений графов: А. Мультиграф. В. Гиперграф. С. Альтернативное изображение того же гиперграфа (для телекоммуникационных сетей). Б. Метаграф.
Мультиграфы удобны для описания телекоммуникационных сетей связи со множественными каналами доступа. Гипер-
графы удобны для описания сетей связи (топология сетей), социальных и социально-политических объектов и отношений. Достаточно малоизвестными являются метаграфы, предложенные в [2], являющиеся более сильным обобщением, чем гиперграфы, при этом также являющихся перспективным инструментом для описания систем связи, иных иерархических систем и сетевых объектов, социальных, общественно-политических явлений. Как отмечается в [3], в настоящее время нельзя сказать, что теория метаграфов является достаточно сформированной.
Имеется и ряд других расширений теории графов, такие как вложенные метаграфы [3], эшграфы [4] и т.п.
В данной работе мы предпримем попытку создать контуры обобщения графов, дополняющего наборы инструментов для создания и исследования моделей сложных иерархических систем (телекоммуникационные сети, нейросети, социально-политические графы).
Как известно, граф О определяется парой множеств (мультимножеств) (У,Е) где V - множество вершин, Е - множестов (мультимножество) ребер. Связность между вершинами задается с помощью матрицы смежности, либо связность между вершинами и ребрами задается с помощью матрицы инцидентности.
Определение. Архиграфом О мы назовем набор (VI, V2..Vn) из п множеств (мультимножеств), между элементами которыми установлено отношение инцидентности. Число п назовем степенью архиграфа.
В теории графов имеется определение степени вершины графа, которое задает число инцидентных ей вершин. В рамках данной работы мы вводим понятие степени архиграфа, схожее с размерностью пространства. Если для линейного пространства задается базис, определяющий размерность, для графа мы определим число непустых множеств мультимножества, задающего архиграф. Для случаев п=0..2 могут быть даны определения через определение графа.
Оо=(0,0) - не содержит ни вершин, ни ребер.
В качестве первого примера рассмотрим граф, состоящий только из изолированных вершин)
0^,0).
Единственный тип элемента, из которого состоит граф -вершины.
В качестве второго примера рассмотрим граф, состоящий из вершин и ребер.
G2=(V,E), связность которого задается матрицей смежности или матрицей инцидентности.
В качестве примера архиграфа G3 можно привести несколько примеров, в которых помимо вершин и ребер появляются промежуточные элементы, которые мы обозначим порты.
G3=(V,P,E). Одна из разновидностей таких графов нами обозначена как портовые графы, служащие для моделирования и анализа телекоммуникационных систем. В портовых помимо вершин V, соответствующих телекоммуникационным устройствам имеются вершины P, соответствующие телекоммуникационным портам устройств. В портовых графах телекоммуникационных сетей вершины pi^P могут связываться с другими pj^P (ребрами и гиперребрами), а вершины Vk^V только с вершинами Pi^P, при этом одна вершина pi^P может быть связана только с
v> V> _Т 7
одной вершиной Vk^V.
Здесь мы имеем инцидентность вершин и портов - с одной стороны, портов и дуг - с другой стороны. Как было упомянуто, примером такого графа может быть сеть телекоммуникационных устройств. Каждое устройство будет обладать портами, при этом порт может быть связан только с портом, а устройства - с портами. Такой граф мы обозначим как портовый граф.
Мультиграф может быть приведен к портовому графу путем отображения множеству пар (ребро, вершина) на множество портов.
Для телекоммуникационной сети, работающий в дуплексном режиме, в общем случае такой портовый граф будет неориентированным. Но можно представить и примеры ориентированных графов G3. Например, при использование симплексной связи. Еще один пример: ориентированный граф G3 =(V,P,E) может быть использован для моделирования файловых систем, поддерживающих жесткие и символические ссылки, таких как ext2, ext4 и любых других систем, поддерживающих ссылки, гиперссылки и ярлыки. Отличие от телекоммуникационного портового графа в том, что порт (для ext2/ext4 - соответствующий сущности inode, для html - соответствующий ссылке, для ряда файловых систем - соответствующий ярлыку) ссылается не на другой порт, а сразу на вершину. Под вершиной мы будем по-
нимать директорию или файл, под ссылкой - указатель в каталоге на непосредственно файл (в т.ч. каталог). Подобная ссылка похожа на порт, но в отличие от порта портового графа телекоммуникационной сети ссылка указывает не на другой порт, а непосредственно на сам файл. Такой тип графа может использоваться для моделирования гипертекста.
Если на портовом графе задать отношение инцидентности таким образом, чтобы дуги были ориентированными, мы получим орграф. В этом случае множество P может состоять как из вершин, которые могут быть как входящими, так и исходящими, так и строго разбиваться на два множества, одно только с исходящими вершинами, второе с входящими.
Таким примером может быть потоковый граф G4=(V,In,Out,E), описанный в [5]. Здесь V - вершины, E - ребра, In и Out - множество входных и выходных портов. Исходя из наших определений и содержания статьи [5] потоковый граф является разновидностью ориентированного портового графа, применяемый в параллельных вычислениях.
Рассмотрим некоторые обобщения для графов степени меньшей 3.
Обозначим вершины, ребра, порты и т.д., то есть множества/мультимножества, задающие граф, термином компонент графа. Компоненты графа могут быть инцидентны.
Степень графа - количество множеств мультимножества, задающий обобщение графа.
Рассмотрим особые примеры.
Выше мы описали пример графа G1 состоящего из одних только изолированных вершин. Для того, чтобы вершины были смежными, необходимо задание матрицы смежности, что фактически добавляет ребра и мы получим G2.
Предположим, что для множества элементов G1=(V) можно задать матрицу инцидентности. (Для случая n=1 смежность и инцидентность не различимы). Таким образом мы получим множество элементов одного порядка Vi^V, между которыми могут быть установлены связи, как направленные, так и не направленные. При этом связи не являются отдельными сущностями (ребрами), инцидентность элементов является свойством самих элементов.
Определение. Назовем протографом P=(V) множество элементов Vi^V, i=1,n, для которых задана матрица смежности M=nxn.
Для протографа матрица смежности является одновременно матрицей инцидентности.
Утверждение. Протогафу P=(V) можно поставить в соответствие граф G=(V,E).
Так как для протографа P=G1=(V) задана матрица смежности, сопоставим каждой паре смежных элементов (a,b) вершину eeE, таким образом получим граф G2=(V,E).
Примеры протографов:
• Граф, состоящий только из одних вершин.
• Стек (LIFO).
• Очередь (FIFO).
• Карта (если для нас не имеет значение форма границ, но значима смежность областей карты).
• Нейронная сеть (в случае ее представления не в виде графа, а таблицы).
Рис. 2. Пример протографа с 3 Рис. 3. Пример протографа с 8 элементами. элементами.
Пустой граф, стек, очередь и ленту машины Тьюринга можно считать классическими примерами протографа.
Стек и очередь являются характерными примерами протографов, так как при хранений этих структур в памяти ЭВМ не создается дополнительных сущностей для хранения их смежности (ребер), каждый элемент стека/очереди содержит указатель на следующий элемент (в случае использования динамической
памяти) либо непосредственно соседствует в силу размещения в соседних адресах памяти (при использовании массива или реализация стека процессором, когда элементы стека последовательно хранятся в памяти ЭВМ начиная с адреса, который хранится в регистре 88 - указателе сегмента стека, регистр 8Р указывает вершину стека).
Рис. 4. Пример протографа Рис. 5. Пример протографа «стек» (stack). «очередь» (queue).
Так как мы можем любому протографу сопоставить граф (тоже верно и для ориентированных графов), в ряде случаев удобно использовать такое сопоставление. Пример такого сопоставления показан на рис. 6.
Рис 6. Пример перехода от ориентированного протографа О1 к ориентированному графу О2.
Известной задачей является задача раскраски карты. Мы упомянули, что карта (если значащей информацией является смежность областей, а не площадь и форма границ) является протографом. При этом важно определиться, каким образом изображать такой протограф, а именно, являются ли смежными элементы, которые при графическом изображении имеют общую границу (как на рисунке 7) или общую соприкасаются в точке (как на рис. 4-5).
Для задачи раскраски карты будем считать, что если элементы протографа на изображении соприкасаются только в одной точке, то соотношения смежности нет. Тогда можно перейти от карты О1 к графу О2, тогда задача раскраски карты сводится к раскраске вершин графа О2. Пример такой раскраски приведен на рисунке 7.
Рис 7. Пример раскраски карты путем перехода от протографа О1 к графу О2 и раскраски его вершин.
Из утверждения о соответствии протографу графа следует, что любой протограф может быть раскрашен. Как следствие, для каждого протографа может быть указано его хроматическое число.
Утверждение. Каждому графу О2 =(У,Б)можно сопоставить граф О1=(У'), где У'=УиБ. Более того, такой граф О1 можно раскрасить двумя цветами, при этом одним цветом будут раскрашены элементы из V, другим - элементы из Б.
Так как для графа О2=^,Б) соседство вершин У1,У2^ определяется наличием е=(у1^2)^Е, при сопоставлении каждой вершине элемента из V' и каждой ребра - элемента V', два
элемента, соответствующим вершинам из V, не будут смежны, так как смежны элементу, соответствующему е из Е. Таким образом, все элементы из ^г^ можно раскрасить одним цветом. Так как любые элементы из Е соединены с другими элементами из V, то также все элементы из ^гЕ можно раскрасить одним (вторым) цветом.
Интересно, что раскраска ребер графа сводится к раскраске вершин реберного графа, при этом сопоставление вершин реберного графа аналогично переходу от графа О2 к О1.
Утверждение. Архиграф степени п может быть получен путем раскраски протографа цветами п.
Предположим, у нас имеется архиграф вп=(У1,У2,..,Уп) и протограф О1=(У), где У= У1 и У2 и.. и Уп. При этом так как для п>1 для любых двух элемента Уы^к и Ук2^к задается через инцидентность к элементу Ут=(Ук1, Vk2) ^т, где т^к, т,ке(1..п). Соответственно, все элементы Уш могут быть раскрашены в один цвет. Мы получим протограф О1 с раскраской п цветами.
Следствие. Если для любых двух элементов из разных компонентов УЬУ] может быть установлена инцидентность, то для такого архиграфа хроматическое число будет равно степени архиграфа. Если между элементами компонентов может быть заданы дополнительные правила инцидентности (например, для портового графа телекоммуникационной сети), хроматическое число архиграфа может быть меньше степени архиграфа (для портового архиграфа степени 3 телекоммуникационной сети хроматическое число равно 2).
Следствие. Графу О2 может быть поставлен во взаимнооднозначное соответствие протограф О1 с хроматическим числом 2.
Отметим, что архиграф степени п может быть получен из протографа путем сопоставления каждому элементу числа из диапазона 1..п. Если между любыми двумя элементами с разным сопоставленным числом имеется смежность, то хроматическое число такого графа будет совпадать со степенью архиграфа.
Выводы. Нами предложены основные контуры построения обобщения для графов, которое может использоваться для создания моделей с применением мультимножеств содержащих более двух множеств (вершины, ребра). Дано определение протографа и архиграфа. На наш взгляд, такие обобщения теории графов как портовый граф, протограф, архиграф позволят более
полно исследовать как расширения теории графов (гиперграфы, мультиграфы, метаграфы), так и использовать их в построении сетевых и иерархических моделей в задачах разработки телекоммуникационных сетей, нейронных и вычислительных сетей, моделирования и анализа социальных и политических явлений, в задачах программирования и параллельного программирования.
Библиографический список:
1. Штогрина Е.С., Кривенко А.С. Метод визуализации ме-таграфа //Научно-технический вестник информационных технологий, механики и оптики = Scientific and Technical Journal of Information Technologies, Mechanics and Optics 2014, №3 (91) [Text] (PDF Download Available). Available from: https://www.researchgate.net/publication/293593552_METOD_ VIZUALIZACII_METAGRAFA .
2. Basu A., Blanning R.W. Metagraphs and their applications. Springer, 2006. 172 p.
3. Астанин С.В., Драгныш Н.В., Жуковская Н.К. Вложенные метаграфы как модели сложных объектов //Инженерный вестник Дона № 4 (часть 2), 2012 г. [Текст] http://www. ivdon.ru/magazine/archive/n4p2y2012/1434
4. Гейда А.С. Моделирование при исследовании технических систем: использование некоторых расширений теории графов //Труды СПИИРАН. 2011, Вып.17. C. 234-245. [URL] http ://www. mathnet.ru/php/archive. phtml?wshow=paper&jrnid= trspy&paperid=436&option_lang=rus [Текст] http://www.mathnet.ru/links/d66533f6dfef5364d430c61b61e3f096/ trspy436.pdf
5. Гордеев Д. С. Визуализация внутреннего представления программ в системе функционального программирования SFP. - Новосибирск, 2004. - 54 с. - (Препр. / РАН. Сиб. Отд-ние. ИСИ; № 110)
[Текст]http://www.iis.nsk.su/files/articles/sbor_kas_16_gordeev.pdf
Об авторе:
Кручинин Сергей Владимирович - главный научный сотрудник, ООО «ВЭЛБОРН», г. Воронеж.
E-mail: siblis@yandex.ru
About the author:
Kruchinin Sergei Vladimirovich - Chief Research Scientist, Candidate of political sciences, Wellborn LLC, Voronezh.