Package edu.uci.ics.jung.algorithms.importance

Provides a set of algorithms for computing the importance of each node (or edge) in a graph relative to all others (or, for the algorithms that inherit from RelativeAuthorityRanker, relative to a specified subset of elements).

See:
          Description

Class Summary
AbstractRanker Abstract class for algorithms that rank nodes or edges by some "importance" metric.
BaryCenter A simple node importance ranker based on the total shortest path of the node.
BetweennessCentrality Computes betweenness centrality for each vertex and edge in the graph.
DegreeDistributionRanker A simple node importance ranker based on the degree of the node.
EdgeRanking A data container for an edge ranking which stores: the rank score the original position of the edge before the ranking were generated a reference to the edge itself
HITS Calculates the "hubs-and-authorities" importance measures for each node in a graph.
HITSWithPriors Algorithm that extends the HITS algorithm by incorporating root nodes (priors).
KStepMarkov Algorithm variant of PageRankWithPriors that computes the importance of a node based upon taking fixed-length random walks out from the root set and then computing the stationary probability of being at each node.
MarkovCentrality  
NodeRanking A data container for a node ranking.
PageRank This algorithm measures the importance of a node in terms of the fraction of time spent at that node relative to all other nodes.
PageRankWithPriors Algorithm that extends the PageRank algorithm by incorporating root nodes (priors).
RandomWalkBetweenness Computes betweenness centrality for each vertex in the graph.
RandomWalkSTBetweenness /** Computes s-t betweenness centrality for each vertex in the graph.
Ranking Abstract data container for ranking objects.
RelativeAuthorityRanker This class provides basic infrastructure for relative authority algorithms that compute the importance of nodes relative to one or more root nodes.
VoltageRanker Ranks vertices in a graph according to their 'voltage' in an approximate solution to the Kirchoff equations.
WeightedNIPaths This algorithm measures the importance of nodes based upon both the number and length of disjoint paths that lead to a given node from each of the nodes in the root set.
 

Package edu.uci.ics.jung.algorithms.importance Description

Provides a set of algorithms for computing the importance of each node (or edge) in a graph relative to all others (or, for the algorithms that inherit from RelativeAuthorityRanker, relative to a specified subset of elements).

Currently, all the ranking (authority) algorithms derive from AbstractRanker. A typical use of one of these algorithms follows:

AbstractRanker ranker = new DegreeDistributionRanker(graph, true);
ranker.evaluate();
List rankingList = ranker.getRankings();
The first command creates the ranking algorithm instance for the specified graph, with the true flag indicating that the algorithm is to rank nodes according to their indegree (as opposed to their outdegree). The second command causes the ranks to be calculated, and the final command retrieves the calculated ranks. The ranks may also be retrieved for a specific elements e by calling getRankScore(e) (although see below).

In the process of calculating the ranks for each element, the elements' UserData repositories are decorated with their rank score, with a user-specified key or with a default key based on the class. By default, these decorations are removed when the evaluation step has completed, and the user only has access to the list of rankings. If you wish to be able to fetch individual scores using getRankScore, you must call

ranker.setRemoveRankScoresOnFinalize(false);
before calling evaluate().

Some of these algorithms normalize the rank scores that they calculate (so that the scores for all edges, or all vertices, will sum to 1), but some do not; check the documentation for each algorithm for details.