У меня есть база данных графов с 500+ вершинами и 700+ ребрами. Вершина в моем графе представляет объект класса «Бумага», в котором есть такие элементы, как идентификатор, название, год, издатель, идентификатор издателя, автор, идентификатор автора и т. д. Я хочу сгруппировать подграфы на основе некоторых свойств вершины, как и все вершины с одним и тем же автором или издателем будут в одном кластере. Таким образом, для каждого атрибута будет отдельный кластер (может иметь разный цвет для каждого типа кластера). Так есть ли какой-нибудь алгоритм для достижения этого??
Юнг: Как мы можем сделать кластеризацию графа на основе некоторых свойств вершины?
comment
Этот вопрос может быть слишком широким. Существуют десятки подходов к кластеризации графов. Некоторые общие алгоритмы кластеризации реализованы в jung.sourceforge.net/doc/api/edu/uci/ics/jung/algorithms/ (и демонстрационный апплет кластеризации в jung.sourceforge.net/examples.html ). Однако, судя по вашему описанию, вам даже не нужен конкретный алгоритм, а просто нужно группировать вершины на основе одного атрибута...
- person Marco13   schedule 09.03.2015
Ответы (1)
Как сказал @Marco13, похоже, что «кластеризация», которую вы хотите сделать, на самом деле просто визуальная идентификация вершин с некоторым общим свойством. (Возможно, вы также хотите, чтобы эти вершины располагались близко друг к другу, но это не ясно из вашей формулировки и может быть неудобным в зависимости от топологии графа.)
В JUNG достаточно просто отображать вершины по-разному в зависимости от их свойств; см. http://jung.sourceforge.net/doc/api/edu/uci/ics/jung/visualization/PluggableRenderContext.html для получения подробной информации и ознакомьтесь с примерами PluggableRendererDemo.
person
Joshua O'Madadhain
schedule
10.03.2015