Я хочу сделать разбиение графа с помощью графика/искры. Перед тем, как реализовать его сам, и после некоторого серъёзня, я хотел спросить вас, есть ли уже решение.Графическое разбиение с помощью графика/искры
Есть ли реализация для Graphx/Спарк, которые могут быть использованы, чтобы разделить вершины а графа на определенное число подмножеств таким образом, что:
число вершин на подмножества более или менее равной
число ребер между подмножествами минимизируются
все вершины внутри подмножества соединены друг с другом с помощью ребер, которые принадлежат к подгруппе (непосредственно или через несколько egdes)
?
Внутри PartitionStrategy.scala существует несколько стратегий: EdgePartition2D, EdgePartition1D, RandomVertexCut, CanonicalRandomVertexCut. Ни один из них, похоже, не подходит для этой проблемы.
Требования 1 и 2 грубо обрабатываются эвристиками в связанных стратегиях. Я не вижу, как третий можно легко сделать непосредственно в качестве стратегии, т. Е. Не тратить время на то, чтобы сначала найти подмножества. Если вы это сделаете, вы можете создать стратегию для разбиения по атрибуту (т. Е. Через таблицу поиска вершин). – jkgeyti