Научная статья на тему 'ИЕРАРХИЧЕСКАЯ РЕДУКЦИЯ ГРАФА С АТРИБУТАМИ'

ИЕРАРХИЧЕСКАЯ РЕДУКЦИЯ ГРАФА С АТРИБУТАМИ Текст научной статьи по специальности «Математика»

CC BY
88
10
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АНАЛИЗ ГРАФОВ / ГРАФ С АТРИБУТАМИ / ИЕРАРХИЧЕСКАЯ РЕДУКЦИЯ / ВИЗУАЛИЗАЦИЯ

Аннотация научной статьи по математике, автор научной работы — Кузьмин Денис Юрьевич, Абрамов Владимир Геннадьевич

Для упрощения визуального и алгоритмического анализа больших графов требуются механизмы снижения сложности. В работе описывается алгоритм иерархической редукции графа с атрибутами. Реализация предложенного алгоритма применена к данным из социальной сети «Вконтакте». Корректность полученных результатов подтверждена с помощью априорных знаний о данных.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ИЕРАРХИЧЕСКАЯ РЕДУКЦИЯ ГРАФА С АТРИБУТАМИ

Techniques for complexity reduction are needed for simplification of graph visual and algorithmic analysis. In this article an algorithm for hierarchical reduction of graph with attributes is described. Implementation of the proposed method was applied to data from “Vkontakte” social network. Correctness of the obtained results is proved by a-priori knowledge about data.

Текст научной работы на тему «ИЕРАРХИЧЕСКАЯ РЕДУКЦИЯ ГРАФА С АТРИБУТАМИ»

_ИЕРАРХИЧЕСКАЯ РЕДУКЦИЯ ГРАФА С АТРИБУТАМИ_

Кузьмин Денис Юрьевич

магистрант кафедры Алгоритмических языков факультета Вычислительной математики и кибернетики Московского Государственного Университета имени М.В. Ломоносова

г. Москва

Абрамов Владимир Геннадьевич

к.ф.-м.н., доцент кафедры Алгоритмических языков факультета Вычислительной математики и кибернетики Московского Государственного Университета имени М.В. Ломоносова _г. Москва

_HIERARCHICAL REDUCTION OF GRAPH WITH ATTRIBUTES_

Kuzmin Denis

master student of the Department of Algorithmic languages faculty of Computational mathematics and cybernetics Lomonosov Moscow State University

Moscow Abramov Vladimir candidate of physico-mathematical sciences assistant professor of the Department of Algorithmic languages faculty of Computational mathematics and cybernetics Lomonosov Moscow State University

Moscow

Аннотация

Для упрощения визуального и алгоритмического анализа больших графов требуются механизмы снижения сложности. В работе описывается алгоритм иерархической редукции графа с атрибутами. Реализация предложенного алгоритма применена к данным из социальной сети «Вконтакте». Корректность полученных результатов подтверждена с помощью априорных знаний о данных. Abstract

Techniques for complexity reduction are needed for simplification of graph visual and algorithmic analysis. In this article an algorithm for hierarchical reduction of graph with attributes is described. Implementation of the proposed method was applied to data from "Vkontakte" social network. Correctness of the obtained results is proved by a-priori knowledge about data.

Ключевые слова: анализ графов; граф с атрибутами; иерархическая редукция; визуализация. Keywords: graph analysis; graph with attributes; hierarchical reduction; visualization.

Введение

В большом количестве прикладных областей (биология, социология, финансы и др.) возникает задача анализа графов. Основной целью такого анализа является понимание глобальной и локальной структуры графов, выявление связей между элементами в графе, обнаружение тесно связанных компонент и так далее.

Анализ графов обычно сопровождается их визуализацией. Некоторые системы визуализации поддерживают также механизмы пользовательского взаимодействия. Эти механизмы могут быть особенно полезны в случаях, когда граф слишком сложен и не может быть отображен на одном статичном изображении. Когда исследователь сталкивается с очень большими графами, возникает необходимость масштабирования исходного графа. Имея возможность интерактивно выбирать уровень масштаба исходного графа, исследователь может более детально изучить внутреннюю структуру отдельных компонентов, выявить скрытые связи между сущностями.

Таким образом, встает задача построения определенной иерархии уровней представления

графа. Каждый уровень в этой иерархии является новым, уменьшенным графом, содержащим информацию об исходном графе, и может быть использован для более простого извлечения информации.

Предметная область

Граф представляет собой набор вершин (узлов) и набор ребер (связей), которые соединяют пары вершин. Это пара С = (У,Е);Е С [V2], где элементы из V являются вершинами, а элементы из Е - ребрами. Подробные определения, связанные с теорией графов, можно найти, например, в [1]. Вершинам в графе могут быть приписаны атрибуты. Например, эти атрибуты могут обозначать тип вершин, их размер, или любую другую дополнительную информацию. Будем обозначать граф с атрибутами С = (У,Е,Х), |7| = п, |£| = т, где V - вершины графа, Е - ребра графа, X - набор атрибутов графа, характеризующих каждую вершину. Кликой в графе называется подмножество его вершин, любые две из которых соединены ребром.

Алгоритмическая предобработка графов обычно заключается в упрощении графов с целью уменьшения их размеров. Процедура предобработки может выполняться как автоматически, так и

с помощью интерактивного взаимодействия с пользователем. Среди основных методов алгоритмической предобработки графов можно выделить методы фильтрации и методы агрегации.

Фильтрация графа в общем случае представляет собой выбор некоторого подмножества вершин и ребер из исходного графа с целью образования меньшего графа [2]. Процесс формирования такого подмножества называется семплированием графа, а само это подмножество - семплом исходного графа. Методы семплирования можно разделить на два типа: стохастическое семплирование и детерминированное семплирование. Стохастические методы в основном опираются на случайный выбор вершин и ребер из исходного графа. Детерминированные методы фильтрации используют некоторые определенные алгоритмы для выбора вершин и ребер, которые будут удалены из графа. Эти алгоритмы могут быть основаны на свойствах вершин и ребер в графе, на топологических свойствах графа или некоторых других характеристиках. К детерминированным методам можно также отнести интерактивную фильтрацию, когда пользователь системы может сам выбирать, какие вершины удалить из семпла.

^-►

графа

три основных этапа: фильтрация графа, агрегация графа и построение нового графа по полученным после агрегации вершинам и ребрам. Путем повторения процедуры редукции несколько раз можно построить полную иерархию уровней представлений исходного графа. Схематически алгоритм иерархической редукции графа с атрибутами представлен на Рис. 1. Далее описаны решения каждого из этапов этого алгоритма.

Национальная ассоциация ученых (НАУ) # 36, 2018 Общая идея агрегации графов заключается в том, что несколько вершин (ребер) исходного графа некоторым образом сливаются в одну вершину (ребро), тем самым сокращая размер графа и помогая раскрывать связи между группами вершин. Для того, чтобы данные на более высоком уровне агрегации графа были информативны, необходимо корректно производить перерасчет значений атрибутов вершин и связей между вершинами в графе. Пример использования методов агрегации может быть найден в [3].

Описание иерархической редукции графа Пусть имеется граф с атрибутами С = (У,Е,Х). Под редукцией графа С = (У,Е,Х) понимается построение нового графа С = (У',Е',Х), для которого У' < У,Е' < Е. Вершинами V' выступают точки, полученные из одной или более вершин исходного графа С. Значения атрибутов X для полученных вершин У' и связи Е' между ними устанавливаются на основании усреднения значений атрибутов исходных вершин У и анализа существовавших в исходном графе С связей.

■+

Этап фильтрации графа выполняется следующим образом. Будем использовать стохастический метод, основанный на величине PageRank [4], рассчитанной для вершин графа. PageRank изначально использовался в ссылочном ранжировании, определяя для каждого документа в сети Интернет его авторитетность. Авторитетность документа в данном контексте понимается следующим образом: документ должен считаться тем важнее (авторитетнее),

Фильтрация графа

Агрегация графа

Поиск тесных компонент

*

Обнаружение в компонентах «авто-

ритетных» вершин - центров

*

Сжатие компонент в их центр - об-

разование единых вершин

1

Расчет атрибутов вершин и ребер

между вершинами

Построение нового графа по полученным вершинам и ребрам

С1 = (У1, Е1, X) \-

ВЫХОД

Рис.1. Схема алгоритма иерархической редукции графа с атрибутами. Одна итерация редукции графа производится в Решение отдельных подзадач

чем больше на него ссылается других документов, и чем более важными (авторитетными) в свою очередь являются эти документы. PageRank использует направленные связи между вершинами графа для итеративного пересчета авторитетности каждой вершины. В простом случае значение данной меры для каждой вершины на очередной итерации пересчитывается согласно следующей формуле:

1-й

1

У!Е.М(У{)

РЯ{У]) 1(У))

где N - общее число вершин в графе, - к-я вершина графа, Ъ(ук) - общее число исходящих из вершины ук ребер, М(ук) - общее число входящих в вершину ук ребер, й - заранее выбранный коэффициент передачи. В случае неориентированных графов можно объявить все ребра двунаправленными и применять алгоритм расчета PageRank в явном виде. Таким образом, на этапе фильтрации предлагается случайным образом отбирать в семпл вершины исходного графа с вероятностями, пропорциональными значению PageRank для этих вершин. По результатам экспериментов удалось установить, что, по сравнению с другими стохастическими методами, именно такой подход позволяет в большей степени сохранить структурные свойства графа.

Поиск тесных компонент, являющийся первым шагом этапа агрегации графа, относится к одной из главных задач анализа графов. В общем случае поиск тесных компонент можно рассматривать как задачу кластеризации вершин графа. Вариант решения этой задачи на примере обнаружения сообществ в социальной сети рассмотрен в [5], где предлагается использование иерархического алгоритма кластеризации с учетом как плотности связей между вершинами, так и значений атрибутов вершин графа. На данном шаге можно использовать и более простые идеи, например, в качестве тесных компонент выбирать клики. Эффективный поиск клик в графе можно осуществлять с помощью алгоритма Брона-Кербоша [6].

Обнаружение «авторитетных» вершин можно проводить с использованием уже описанного выше алгоритма вычисления PageRank. С учетом того, что значения этой меры для всех вершин графа уже вычислены на этапе фильтрации, шаг поиска авторитетных вершин в компонентах графа становится тривиальным. Достаточно в каждой

компоненте объявить авторитетной вершину, имеющую среди всех других вершин в этой компоненте самое большое значение PageRank.

Два заключительных шага этапа агрегации графа - сжатие компонент в их центры и расчет значений атрибутов вершин и ребер между вершинами осуществляется по следующим правилам. После объединения всех вершин из одной компоненты в одну новую вершину, проводятся ребра, соединяющие эту вершину с каждой из вершин графа, с которой была связана ребром хотя бы одна из вершин, принадлежащих С^. Соответственно, если целевые вершины, в которые мы хотим провести ребро, также были объединены в некоторую другую компоненту С^, то ребро проводится к новой вершине, соответствующей этой компоненте. Числовые атрибуты вершин графа агрегируются путем усреднения значений соответствующих атрибутов всех вершин в компоненте. Категориальные атрибуты могут наследовать значение от самых авторитетных вершин в компоненте, либо хранить распределение значений атрибутов исходных вершин.

Наконец, остается последний этап очередной итерации иерархической редукции - построение нового графа по полученным вершинам и ребрам. Этот этап тривиален и не требует каких-либо пояснений.

Отдельно следует рассмотреть задачу визуализации графа. В данной работе предлагается использовать подход к изображению графов на плоскости, предложенный Фрюхтерманом и Рейнгольдом [7], в котором авторы отталкиваются от двух принципиальных идей: во-первых, вершины, соединенные ребром, должны быть изображены рядом друг с другом и, во-вторых, вершины не должны быть изображены слишком близко друг к другу. Расположение вершин на изображении получается путем симуляции взаимодействия атомарных частиц. Предполагается, что вершины, связанные ребром, притягивают друг друга. При этом вообще все вершины в графе одновременно отталкивают друг друга. Следует понимать, что этот алгоритм является вычислительно сложным, что затрудняет его использование с большими графами.

Применение алгоритма иерархической редукции на реальных данных

Рис.2. Визуализация результата иерархической редукции графа пользователей сети «Вконтакте». Слева - уровень редукции 1 (исходный граф), справа - уровень редукции 5.

Для проведения эксперимента был построен граф, вершины которого представляют собой пользователей социальной сети «Вконтакте», являющихся студентами трех различных университетов города Москвы. Ребра в данном графе отражают дружеские связи между пользователями. Кроме того, через программный интерфейс о каждом пользователе собирались такие открытые данные из социальной сети, как год рождения, год окончания школы и ее номер, город проживания и так далее. В итоге каждому пользователю в графе соответствует вершина, содержащая значения 11 атрибутов. Всего граф состоит из 1927 вершин, 29288 ребер, средняя степень вершин - 30.3975. Этот граф достаточно небольшой, однако такой размер выбран с целью адекватной визуализации результатов применения алгоритма агрегации.

Было проведено несколько итераций иерархической редукции данного графа. На Рис. 2 представлена визуализация результатов. Изображение исходного графа выглядит перегруженным и при этом малоинформативным. С другой стороны, на изображении редуцированного графа четко выделяются три крупных, обособленных сегмента С1, С2, С3 (они представлены наиболее крупными вершинами на изображении). Поскольку истинное разбиение вершин по группам, то есть распределение пользователей социальной сети по трем университетам и1, V 2, и3, нам известно, можно оценить корректность выделенных сегментов. Для этого оценим следующее значение для каждого из сегментов

Cl, С!:

Ф(Сд =

max N(CuUj)

je{i,2,3} v ' 1 J

\Ct\

где - количество вершин, относя-

щихся к истинной группе Ц, попавших в компоненту С^, а №¿1 - общее число вершин в компоненте С1. Значение этой величины лежит в отрезке [0; 1].

Для каждой из компонент Q в полученном редуцированном графе величина ф(С[) принимала значения не ниже 0.9, что свидетельствует о том, что выделившиеся компоненты в действительности точно соответствуют истинным группам вершин. При этом удалось значительно снизить сложность графа (347 вершин и 4726 ребер на пятом уровне редукции) и тем самым упростить визуальное восприятие.

Заключение

В данной работе рассмотрена задача иерархической редукции графа с атрибутами. Показана актуальность данной задачи в области анализа графов. В статье представлен алгоритм иерархической редукции графа с атрибутами, каждая итерация которого состоит из нескольких ключевых этапов. Предложены способы решения каждого из этих этапов, выделены особенности разных подходов. Описанный алгоритм был реализован и использован для редукции реального графа, составленного из пользователей социальной сети «Вконтакте». Представлена визуализация результатов применения алгоритма. Корректность полученного упрощенного представления графа подтверждена с использованием априорных знаний о графе.

Список литературы

[1] Diestel R.: Graph Theory. Springer-Verlag, Heidelberg, 2005.

[2] Lescovec J., Faloutsos C.: Sampling from large graphs. In Proceedings of 12th ACM SIGKDD Int. Conference on Knowledge Discovery and data mining (2006).

[3] Elmqvist N., Do T., Goodell H., Henry N., Fe-kete J. Zame: Interactive large-scale graph visualization. In Proceedings of IEEE Pacific Visualization Symposium (2008).

[4] Page L. PageRank: Bringing Order to the Web. At the Wayback Machine, Stanford Digital Library Project, talk. August 18, 1997.

[5] Кузьмин Д.Ю. Выделение группы в социальной сети на основе открытой информации. Сборник тезисов лучших выпускных работ факультета ВМК 2016 года., с. 131.

[6] Bron C., Kerbosh J. Algorithm 457 — Finding all cliques of an undirected graph. Comm. of ACM, 16, 1973, p. 575—577.

[7] Fruchterman T.M.J., Reingold E.M. Graph Drawing by Force-directed Placement. Software -Practice and Experience, 1991, 21(11):1129-1164.

ТЕХНОЛОГИЧЕСКИЕ И КОНСТРУКТИВНЫЕ ОСОБЕННОСТИ ВОЗВЕДЕНИЯ ТРАНСПОРТНО- ПЕРЕСАДОЧНЫХ УЗЛОВ

Берлинова Марина Николаевна,

канд. техн. наук, доцент кафедры Жилищно-коммунального комплекса, Национальный исследовательский Московский государственный университет «НИУ МГСУ»

Лукьянова Ольга Федоровна,

аспирант кафедры Жилищно-коммунального комплекса, Национальный исследовательский

Московский государственный университет «НИУМГСУ» Творогов Александр Владимирович бакалавр, Национальный исследовательский Московский государственный университет

«НИУ МГСУ»

TECHNOLOGICAL AND DESIGN FEATURES OF ERECTION OF FREIGHT HUBS

Berlinova Marina Nikolaevna

Cand. Tech. Sciences, Associate Professor Department of housing-and-municipal complex, national

research Moscow state university of civil engineering Lukyanova Olga Fedorovna Postgraduate of Chair of housing-and-municipal complex, national research Moscow state university of civil engineering Tvorogov Aleksandr Vladimirovich Bachelor, national research national research Moscow state university of civil engineering

Аннотация: В статье рассмотрены вопросы формирования и развития технологических и конструктивных решений строительных систем транспортно-пересадочных узлов. Рассматриваются особенности практической реализации простых и комплексных строительных процессов, которые применяются при возведении объектов городского общественного транспорта в различных градостроительных условиях.

Abstract: This article examines matters relating to the formation and development of technological solutions for the construction of structural systems freight hubs. The peculiarities of the practical implementation of simple and complex construction processes, which are used in the construction of urban public transport in different urban environments.

Ключевые слова: городской транспорт, здания для обслуживания пассажирских перевозок, строительные системы, простые и комплексные строительные процессы, градостроительные условия, размещение транспортно-пересадочного узла.

Key words: buildings for urban transport services passenger transport, construction systems, simple and complex construction processes, urban conditions, placement of freight transfer site

При реализации проектных решений, по которым производилось массовое строительство одинаковых (по конструктивной схеме, площади застройки, строительным объемам) объектов транспортного строительства (типовые проекты) применялись распространенные методы технологии, организации и управления строительством [1, с.20].

Проектирование и возведение современных объектов транспортного строительства значительно отличается более трудоёмким процессом от аналогичных типовых зданий и сооружений, возводимых ранее [2, с.26]. Данное обстоятельство связано с отсутствием типовой проектной документации на вновь проектируемый уникальный объект; с

применением новых строительных материалов и конструкций, для которых требуется проведение специальных расчетов [4, с.3]; с необходимостью использования сложных конструктивных схем и методов возведения конструкций.

Типовые конструктивные решения ТПУ предполагают применение традиционной строительной технологии возведения несущих стен из кирпича и мелких керамических блоков, легкого бетона и естественного камня. Наряду с преимуществами, строительная система ТПУ с применением традиционной технологии ручной кладки, характеризуется определенными недостатками: трудоемкостью

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.