Class DistanceStatistics


  • public class DistanceStatistics
    extends java.lang.Object
    Statistics relating to vertex-vertex distances in a graph.

    Formerly known as GraphStatistics in JUNG 1.x.

    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <V,​E>
      org.apache.commons.collections4.Transformer<V,​java.lang.Double>
      averageDistances​(edu.uci.ics.jung.graph.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.collections4.Transformer<V,​java.lang.Double>
      averageDistances​(edu.uci.ics.jung.graph.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​(edu.uci.ics.jung.graph.Hypergraph<V,​E> g)
      Returns the diameter of g, ignoring edge weights.
      static <V,​E>
      double
      diameter​(edu.uci.ics.jung.graph.Hypergraph<V,​E> g, Distance<V> d)
      Returns the diameter of g using the metric specified by d.
      static <V,​E>
      double
      diameter​(edu.uci.ics.jung.graph.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.collections4.Transformer<V,​java.lang.Double> averageDistances​(edu.uci.ics.jung.graph.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.collections4.Transformer<V,​java.lang.Double> averageDistances​(edu.uci.ics.jung.graph.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​(edu.uci.ics.jung.graph.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​(edu.uci.ics.jung.graph.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​(edu.uci.ics.jung.graph.Hypergraph<V,​E> g)
        Returns the diameter of g, ignoring edge weights.
        See Also:
        diameter(Hypergraph, Distance, boolean)