C# Class Smrf.NodeXL.Algorithms.BrandesFastCentralityCalculator

Calculates the betweenness and closeness centralities for each of the graph's vertices.
If a vertex is isolated, its betweenness and closeness centralities are zero.

In a previous version, the centralities were calculated simultaneously by this class using the algorithm described in the paper "A Faster Algorithm for Betweenness Centrality," by Ulrik Brandes. The paper can be found here:

http://www.inf.uni-konstanz.de/algo/publications/b-fabc-01.pdf

Section 4 of the paper explains how other centrality measures can be computed within the same algorithm at little additional cost. That is why closeness centrality was calculated by this class along with betweenness.

Starting with version 1.0.1.122 of NodeXL, the centralities are calculated using the SNAP graph library, which is much faster than the previous NodeXL code. SNAP calculates betweenness and closeness centralities separately, so it might make sense to split this class in two in a future release. Or would it make more sense to modify SNAP to calculate the two simultaneously, as suggested by Brandes?

Inheritance: GraphMetricCalculatorBase
Afficher le fichier Open project: 2014-sed-team3/term-project

Méthodes publiques

Méthode Description
AssertValid ( ) : void
BrandesFastCentralityCalculator ( ) : System

Initializes a new instance of the class.

CalculateGraphMetrics ( IGraph graph ) : BrandesVertexCentralities>.Dictionary
TryCalculateGraphMetrics ( IGraph graph, BackgroundWorker backgroundWorker, BrandesVertexCentralities>.Dictionary &graphMetrics ) : System.Boolean

Method Details

AssertValid() public méthode

public AssertValid ( ) : void
Résultat void

BrandesFastCentralityCalculator() public méthode

Initializes a new instance of the class.
public BrandesFastCentralityCalculator ( ) : System
Résultat System

CalculateGraphMetrics() public méthode

public CalculateGraphMetrics ( IGraph graph ) : BrandesVertexCentralities>.Dictionary
graph IGraph
Résultat BrandesVertexCentralities>.Dictionary

TryCalculateGraphMetrics() public méthode

public TryCalculateGraphMetrics ( IGraph graph, BackgroundWorker backgroundWorker, BrandesVertexCentralities>.Dictionary &graphMetrics ) : System.Boolean
graph IGraph
backgroundWorker System.ComponentModel.BackgroundWorker
graphMetrics BrandesVertexCentralities>.Dictionary
Résultat System.Boolean