Class BetweennessCentrality<V,E>

java.lang.Object
edu.uci.ics.jung.algorithms.scoring.BetweennessCentrality<V,E>
All Implemented Interfaces:
EdgeScorer<E,Double>, VertexScorer<V,Double>

public class BetweennessCentrality<V,E> extends Object implements VertexScorer<V,Double>, EdgeScorer<E,Double>
Computes betweenness centrality for each vertex and edge in the graph.
See Also:
  • "Ulrik Brandes: A Faster Algorithm for Betweenness Centrality. Journal of Mathematical Sociology 25(2):163-177, 2001."
  • Field Details

    • graph

      protected Graph<V,E> graph
    • vertex_scores

      protected Map<V,Double> vertex_scores
    • edge_scores

      protected Map<E,Double> edge_scores
    • vertex_data

      protected Map<V,BetweennessCentrality<V,E>.edu.uci.ics.jung.algorithms.scoring.BetweennessCentrality.BetweennessData> vertex_data
  • Constructor Details

    • BetweennessCentrality

      public BetweennessCentrality(Graph<V,E> graph)
      Calculates betweenness scores based on the all-pairs unweighted shortest paths in the graph.
      Parameters:
      graph - the graph for which the scores are to be calculated
    • BetweennessCentrality

      public BetweennessCentrality(Graph<V,E> graph, com.google.common.base.Function<? super E,? extends Number> edge_weights)
      Calculates betweenness scores based on the all-pairs weighted shortest paths in the graph.

      NOTE: This version of the algorithm may not work correctly on all graphs; we're still working out the bugs. Use at your own risk.

      Parameters:
      graph - the graph for which the scores are to be calculated
      edge_weights - the edge weights to be used in the path length calculations
  • Method Details

    • initialize

      protected void initialize(Graph<V,E> graph)
    • computeBetweenness

      protected void computeBetweenness(Queue<V> queue, com.google.common.base.Function<? super E,? extends Number> edge_weights)
    • getVertexScore

      public Double getVertexScore(V v)
      Specified by:
      getVertexScore in interface VertexScorer<V,E>
      Parameters:
      v - the vertex whose score is requested
      Returns:
      the algorithm's score for this vertex
    • getEdgeScore

      public Double getEdgeScore(E e)
      Specified by:
      getEdgeScore in interface EdgeScorer<V,E>
      Parameters:
      e - the edge whose score is requested
      Returns:
      the algorithm's score for this edge