TGViewer
Collective Intelligence Collective Intelligence @co_intelligence · 714 subscribers
Post #190 38
DAOC: Stable Clustering of Large Networks
https://arxiv.org/abs/1909.08786
https://github.com/eXascaleInfolab/daoc
Apache 2.0 License, C++ (морда на Java)

Возможно , просто только дошли руки прочитать. По поиску выходит, что обзора тут еще не было.
TL;DR авторы утверждают, что разработали новый алгоритм community detection, который хорошо масштабируемый.
Сравнивают с Louvain (версия из igraph) и другими, менее известными алгоритмами (в их реализации https://github.com/eXascaleInfolab/clubmark - я раньше про нее не слышал). Есть Java-морда (https://github.com/eXascaleInfolab/StaTIX) и еще их же работа про эмбеддинги Bridging the Gap between Community and Node Representations: Graph Embedding via Community Detection https://arxiv.org/abs/1912.08808 (которую я может попозже тоже тут расскажу). По их же бенчмаркам не самый быстрый (Louvain выходит быстрее), но зато самый "универсальный" алгоритм: поддерживается все - и overlapping community, и веса, и направленность, и плюс он еще детерминирован в отличии от Louvain.

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

А). На шаге, где выбираются кандидаты на кластеры (вершины, которые хорошо бы объединить исходя из модулярности), они для каждой вершины находят кандидатов-соседей, дающих максимальный вклад в модулярность. Далее они выбирают из списков такие вершины, для которых найденные максимумы gain-а модулярности одинаковы при объединении как i c j, так и j c i. Они назвали это Mutual Maximal Gain (MMG). Так они добиваются:
а). детерменированности
б). выделяют overlapping community: все вершины, имеющие MMG с i "перекрываются" в i.

Б). Те вершины, для которых MMG дает строго один вариант объединения, они сразу формируют кластеры. Далее формируются уже перекрывающиеся кластеры: те вершины, которые имеют несколько кандидатов-кластеров после MMG разбиваются на "виртуальные" вершины, которые сохраняют все веса и связи. При этом для определения веса связей между фрагментами используется степень вершины, которую мы "разбиваем". Далее у нас два варианта: оставить разбиение (т.е, как я понял, вершина шарит кластеры), если весь gain от разбиения положительный; объединить всех кандидатов на кластеры вместе с самой вершиной, если это выгодно. В статье есть формулы для расчета всех весов и более строгие правила, но вроде суть примерно как я написал. Часть про DBSCAN-эвристику, про которую они там пишут (для случая разбиения, когда кандидатов больше, чем степень вершины) я пока не очень понял  .

Выглядит на самом деле очень прикольно. Для меня наиболее ценным видятся:
• детерминированность
• Louvain-style масштабируемость
• возможность получения overlapping community
• работа с directed weighted networks.
GitHub GitHub - eXascaleInfolab/daoc: DAOC (Deterministic and Agglomerative Overlapping Clustering algorithm): Stable Clustering of Large… DAOC (Deterministic and Agglomerative Overlapping Clustering algorithm): Stable Clustering of Large Networks - GitHub - eXascaleInfolab/daoc: DAOC (Deterministic and Agglomerative Overlapping Clust...
More from @co_intelligence
  1. Mar 2, 2026"explainability by construction" vs "post-hoc explainability" https://mineracaodedados.wor…
  2. Dec 21, 2025Human factors engineering improves people’s lives by making technology work well for them.…
  3. Dec 21, 2025photo post
  4. Dec 21, 2025photo post
  5. Dec 21, 2025A systematic review of human-AI interaction in autonomous ship systems
  6. Dec 21, 2025Область исследований, которая изучаю отказоустойчивость и безопасность сложных социо-техни…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →