Насколько я знаю, BGL не имеет никаких алгоритмов специально для обнаружения сообщества.
Под "островом" вы имеете в виду отключенный подграф?
Кроме того, графики не имеют никакого понятия «расстояние».
Эта «социальная дистанция» - это то, что вы должны будете определить. Как только вы это сделаете, большая часть работы будет выполнена.
Существует множество методов, перечисленных на странице, на которую вы ссылаетесь, большинство из них требуют, чтобы вы просто определили что-то вроде метрики «расстояния», а затем включили свои определения в алгоритм.
@ David Nehme
Графики без граничных весов касаются только связности, они не имеют понятия расстояния. Если вы хотите поговорить о сети, то вы можете говорить о расстоянии. Но граф без весов ребер не имеет никакого расстояния, если вы не хотите принять подразумеваемый вес ребра 1 для всех ребер. Но на самом деле это просто превращение графа в сеть.
Кроме того, он говорит о расстоянии между двумя несвязными графами. Чтобы смоделировать это, вы должны ввести внешнее понятие расстояния между узлами, отдельное от расстояния до края.