Class BetweennessCentrality<V,​E>

  • All Implemented Interfaces:
    EdgeScorer<E,​java.lang.Double>, VertexScorer<V,​java.lang.Double>

    public class BetweennessCentrality<V,​E>
    extends java.lang.Object
    implements VertexScorer<V,​java.lang.Double>, EdgeScorer<E,​java.lang.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 Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.Map<E,​java.lang.Double> edge_scores  
      protected edu.uci.ics.jung.graph.Graph<V,​E> graph  
      protected java.util.Map<V,​edu.uci.ics.jung.algorithms.scoring.BetweennessCentrality.BetweennessData> vertex_data  
      protected java.util.Map<V,​java.lang.Double> vertex_scores  
    • Constructor Summary

      Constructors 
      Constructor Description
      BetweennessCentrality​(edu.uci.ics.jung.graph.Graph<V,​E> graph)
      Calculates betweenness scores based on the all-pairs unweighted shortest paths in the graph.
      BetweennessCentrality​(edu.uci.ics.jung.graph.Graph<V,​E> graph, org.apache.commons.collections4.Transformer<E,​? extends java.lang.Number> edge_weights)
      Calculates betweenness scores based on the all-pairs weighted shortest paths in the graph.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void computeBetweenness​(java.util.Queue<V> queue, org.apache.commons.collections4.Transformer<E,​? extends java.lang.Number> edge_weights)  
      java.lang.Double getEdgeScore​(E e)
      Returns the algorithm's score for this edge.
      java.lang.Double getVertexScore​(V v)
      Returns the algorithm's score for this vertex.
      protected void initialize​(edu.uci.ics.jung.graph.Graph<V,​E> graph)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • graph

        protected edu.uci.ics.jung.graph.Graph<V,​E> graph
      • vertex_scores

        protected java.util.Map<V,​java.lang.Double> vertex_scores
      • edge_scores

        protected java.util.Map<E,​java.lang.Double> edge_scores
      • vertex_data

        protected java.util.Map<V,​edu.uci.ics.jung.algorithms.scoring.BetweennessCentrality.BetweennessData> vertex_data
    • Constructor Detail

      • BetweennessCentrality

        public BetweennessCentrality​(edu.uci.ics.jung.graph.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​(edu.uci.ics.jung.graph.Graph<V,​E> graph,
                                     org.apache.commons.collections4.Transformer<E,​? extends java.lang.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 Detail

      • initialize

        protected void initialize​(edu.uci.ics.jung.graph.Graph<V,​E> graph)
      • computeBetweenness

        protected void computeBetweenness​(java.util.Queue<V> queue,
                                          org.apache.commons.collections4.Transformer<E,​? extends java.lang.Number> edge_weights)
      • getVertexScore

        public java.lang.Double getVertexScore​(V v)
        Description copied from interface: VertexScorer
        Returns the algorithm's score for this vertex.
        Specified by:
        getVertexScore in interface VertexScorer<V,​E>
        Returns:
        the algorithm's score for this vertex
      • getEdgeScore

        public java.lang.Double getEdgeScore​(E e)
        Description copied from interface: EdgeScorer
        Returns the algorithm's score for this edge.
        Specified by:
        getEdgeScore in interface EdgeScorer<V,​E>
        Returns:
        the algorithm's score for this edge