## Function betweenness_centrality_clustering

boost::betweenness_centrality_clustering — Graph clustering based on edge betweenness centrality.

## Synopsis

    template<typename MutableGraph, typename Done, typename EdgeCentralityMap,
             typename VertexIndexMap>
      void betweenness_centrality_clustering(MutableGraph & g, Done done,
                                             EdgeCentralityMap edge_centrality,
                                             VertexIndexMap vertex_index);
    template<typename MutableGraph, typename Done, typename EdgeCentralityMap>
      void betweenness_centrality_clustering(MutableGraph & g, Done done,
                                             EdgeCentralityMap edge_centrality);
    template<typename MutableGraph, typename Done>
      void betweenness_centrality_clustering(MutableGraph & g, Done done);

## Description

Parameters

done

  The function object that indicates termination of the algorithm. It must be a ternary function object thats accepts the maximum centrality, the descriptor of the edge that will be removed, and the graph `g` .

edge_centrality

  (UTIL/OUT) The property map that will store the betweenness centrality for each edge. When the algorithm terminates, it will contain the edge centralities for the graph. The type of this property map must model the ReadWritePropertyMap concept. Defaults to an `iterator_property_map` whose value type is `Done::centrality_type` and using `get(edge_index, g)` for the index map.

g

  The graph on which clustering will be performed. The type of this parameter (`MutableGraph` ) must be a model of the VertexListGraph, IncidenceGraph, EdgeListGraph, and Mutable Graph concepts.

vertex_index

  (IN) The property map that maps vertices to indices in the range `` [0, num_vertices(g)). This type of this property map must model the ReadablePropertyMap concept and its value type must be an integral type. Defaults to `get(vertex_index, g)` .

This algorithm implements graph clustering based on edge betweenness centrality. It is an iterative algorithm, where in each step it compute the edge betweenness centrality (via brandes_betweenness_centrality) and removes the edge with the maximum betweenness centrality. The `done` function object determines when the algorithm terminates (the edge found when the algorithm terminates will not be removed).

### Where Defined

<boost/graph/bc_clustering.hpp>

Copyright © 2004 | Douglas Gregor, Indiana University (dgregor@cs.indiana.edu) Andrew Lumsdaine, Indiana University (lums@osl.iu.edu)