- java.lang.Object
-
- org.jgrapht.alg.scoring.BetweennessCentrality<V,E>
-
- Type Parameters:
V
- the graph vertex typeE
- the graph edge type
- All Implemented Interfaces:
VertexScoringAlgorithm<V,Double>
public class BetweennessCentrality<V,E> extends Object implements VertexScoringAlgorithm<V,Double>
Betweenness centrality.Computes the betweenness centrality of each vertex of a graph. The betweenness centrality of a node $v$ is given by the expression: $g(v)= \sum_{s \neq v \neq t}\frac{\sigma_{st}(v)}{\sigma_{st}}$ where $\sigma_{st}$ is the total number of shortest paths from node $s$ to node $t$ and $\sigma_{st}(v)$ is the number of those paths that pass through $v$. For more details see wikipedia. The algorithm is based on
- Brandes, Ulrik (2001). "A faster algorithm for betweenness centrality". Journal of Mathematical Sociology. 25 (2): 163–177.
- Author:
- Assaf Mizrachi
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BetweennessCentrality.OverflowStrategy
Strategy followed when counting paths.
-
Constructor Summary
Constructors Constructor Description BetweennessCentrality(Graph<V,E> graph)
Construct a new instance.BetweennessCentrality(Graph<V,E> graph, boolean normalize)
Construct a new instance.BetweennessCentrality(Graph<V,E> graph, boolean normalize, BetweennessCentrality.OverflowStrategy overflowStrategy)
Construct a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<V,Double>
getScores()
Get a map with the scores of all verticesDouble
getVertexScore(V v)
Get a vertex score
-
-
-
Constructor Detail
-
BetweennessCentrality
public BetweennessCentrality(Graph<V,E> graph)
Construct a new instance.- Parameters:
graph
- the input graph
-
BetweennessCentrality
public BetweennessCentrality(Graph<V,E> graph, boolean normalize)
Construct a new instance.- Parameters:
graph
- the input graphnormalize
- whether to normalize by dividing the closeness by $(n-1) \cdot (n-2)$, where $n$ is the number of vertices of the graph
-
BetweennessCentrality
public BetweennessCentrality(Graph<V,E> graph, boolean normalize, BetweennessCentrality.OverflowStrategy overflowStrategy)
Construct a new instance.- Parameters:
graph
- the input graphnormalize
- whether to normalize by dividing the closeness by $(n-1) \cdot (n-2)$, where $n$ is the number of vertices of the graphoverflowStrategy
- strategy to use if overflow is detected
-
-
Method Detail
-
getScores
public Map<V,Double> getScores()
Get a map with the scores of all vertices- Specified by:
getScores
in interfaceVertexScoringAlgorithm<V,E>
- Returns:
- a map with all scores
-
getVertexScore
public Double getVertexScore(V v)
Get a vertex score- Specified by:
getVertexScore
in interfaceVertexScoringAlgorithm<V,E>
- Parameters:
v
- the vertex- Returns:
- the score
-
-