edu.uci.ics.jung.algorithms.shortestpath
Class DistanceStatistics

java.lang.Object
  extended by edu.uci.ics.jung.algorithms.shortestpath.DistanceStatistics

public class DistanceStatistics
extends Object

Statistics relating to vertex-vertex distances in a graph.

Formerly known as GraphStatistics in JUNG 1.x.

Author:
Scott White, Joshua O'Madadhain

Constructor Summary
DistanceStatistics()
           
 
Method Summary
static
<V,E> org.apache.commons.collections15.Transformer<V,Double>
averageDistances(Hypergraph<V,E> g)
          For each vertex v in g, calculates the average shortest path length from v to all other vertices in g, ignoring edge weights.
static
<V,E> org.apache.commons.collections15.Transformer<V,Double>
averageDistances(Hypergraph<V,E> graph, Distance<V> d)
          For each vertex v in graph, calculates the average shortest path length from v to all other vertices in graph using the metric specified by d, and returns the results in a Map from vertices to Double values.
static
<V,E> double
diameter(Hypergraph<V,E> g)
          Returns the diameter of g, ignoring edge weights.
static
<V,E> double
diameter(Hypergraph<V,E> g, Distance<V> d)
          Returns the diameter of g using the metric specified by d.
static
<V,E> double
diameter(Hypergraph<V,E> g, Distance<V> d, boolean use_max)
          Returns the diameter of g using the metric specified by d.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DistanceStatistics

public DistanceStatistics()
Method Detail

averageDistances

public static <V,E> org.apache.commons.collections15.Transformer<V,Double> averageDistances(Hypergraph<V,E> graph,
                                                                                            Distance<V> d)
For each vertex v in graph, calculates the average shortest path length from v to all other vertices in graph using the metric specified by d, and returns the results in a Map from vertices to Double values. If there exists an ordered pair <u,v> for which d.getDistance(u,v) returns null, then the average distance value for u will be stored as Double.POSITIVE_INFINITY).

Does not include self-distances (path lengths from v to v).

To calculate the average distances, ignoring edge weights if any:

 Map distances = DistanceStatistics.averageDistances(g, new UnweightedShortestPath(g));
 
To calculate the average distances respecting edge weights:
 DijkstraShortestPath dsp = new DijkstraShortestPath(g, nev);
 Map distances = DistanceStatistics.averageDistances(g, dsp);
 
where nev is an instance of Transformer that is used to fetch the weight for each edge.

See Also:
UnweightedShortestPath, DijkstraDistance

averageDistances

public static <V,E> org.apache.commons.collections15.Transformer<V,Double> averageDistances(Hypergraph<V,E> g)
For each vertex v in g, calculates the average shortest path length from v to all other vertices in g, ignoring edge weights.

See Also:
diameter(Hypergraph), ClosenessCentrality

diameter

public static <V,E> double diameter(Hypergraph<V,E> g,
                                    Distance<V> d,
                                    boolean use_max)
Returns the diameter of g using the metric specified by d. The diameter is defined to be the maximum, over all pairs of vertices u,v, of the length of the shortest path from u to v. If the graph is disconnected (that is, not all pairs of vertices are reachable from one another), the value returned will depend on use_max: if use_max == true, the value returned will be the the maximum shortest path length over all pairs of connected vertices; otherwise it will be Double.POSITIVE_INFINITY.


diameter

public static <V,E> double diameter(Hypergraph<V,E> g,
                                    Distance<V> d)
Returns the diameter of g using the metric specified by d. The diameter is defined to be the maximum, over all pairs of vertices u,v, of the length of the shortest path from u to v, or Double.POSITIVE_INFINITY if any of these distances do not exist.

See Also:
diameter(Hypergraph, Distance, boolean)

diameter

public static <V,E> double diameter(Hypergraph<V,E> g)
Returns the diameter of g, ignoring edge weights.

See Also:
diameter(Hypergraph, Distance, boolean)


Copyright © 2009. All Rights Reserved.