edu.uci.ics.jung.algorithms.scoring
Class DistanceCentralityScorer<V,E>

java.lang.Object
  extended by edu.uci.ics.jung.algorithms.scoring.DistanceCentralityScorer<V,E>
All Implemented Interfaces:
VertexScorer<V,Double>
Direct Known Subclasses:
BarycenterScorer, ClosenessCentrality

public class DistanceCentralityScorer<V,E>
extends Object
implements VertexScorer<V,Double>

Assigns scores to vertices based on their distances to each other vertex in the graph. This class optionally normalizes its results based on the value of its 'averaging' constructor parameter. If it is true, then the value returned for vertex v is 1 / (_average_ distance from v to all other vertices); this is sometimes called closeness centrality. If it is false, then the value returned is 1 / (_total_ distance from v to all other vertices); this is sometimes referred to as barycenter centrality. (If the average/total distance is 0, the value returned is Double.POSITIVE_INFINITY.)

See Also:
BarycenterScorer, ClosenessCentrality

Field Summary
protected  boolean averaging
          Specifies whether the values returned are the sum of the v-distances or the mean v-distance.
protected  Distance<V> distance
          The metric to use for specifying the distance between pairs of vertices.
protected  Hypergraph<V,E> graph
          The graph on which the vertex scores are to be calculated.
protected  boolean ignore_missing
          Specifies whether, for a vertex v with missing (null) distances, v's score should ignore the missing values or be set to 'null'.
protected  boolean ignore_self_distances
          Specifies whether the values returned should ignore self-distances (distances from v to itself).
protected  Map<V,Double> output
          The storage for the output results.
 
Constructor Summary
DistanceCentralityScorer(Hypergraph<V,E> graph, boolean averaging)
          Equivalent to this(graph, averaging, true, true).
DistanceCentralityScorer(Hypergraph<V,E> graph, boolean averaging, boolean ignore_missing, boolean ignore_self_distances)
          Creates an instance with the specified graph and averaging behavior whose vertex distances are calculated on the unweighted graph.
DistanceCentralityScorer(Hypergraph<V,E> graph, Distance<V> distance, boolean averaging)
          Equivalent to this(graph, distance, averaging, true, true).
DistanceCentralityScorer(Hypergraph<V,E> graph, Distance<V> distance, boolean averaging, boolean ignore_missing, boolean ignore_self_distances)
          Creates an instance with the specified graph, distance metric, and averaging behavior.
DistanceCentralityScorer(Hypergraph<V,E> graph, org.apache.commons.collections15.Transformer<E,? extends Number> edge_weights, boolean averaging)
          Equivalent to this(graph, edge_weights, averaging, true, true).
DistanceCentralityScorer(Hypergraph<V,E> graph, org.apache.commons.collections15.Transformer<E,? extends Number> edge_weights, boolean averaging, boolean ignore_missing, boolean ignore_self_distances)
          Creates an instance with the specified graph and averaging behavior whose vertex distances are calculated based on the specified edge weights.
 
Method Summary
 Double getVertexScore(V v)
          Calculates the score for the specified vertex.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

graph

protected Hypergraph<V,E> graph
The graph on which the vertex scores are to be calculated.


distance

protected Distance<V> distance
The metric to use for specifying the distance between pairs of vertices.


output

protected Map<V,Double> output
The storage for the output results.


averaging

protected boolean averaging
Specifies whether the values returned are the sum of the v-distances or the mean v-distance.


ignore_missing

protected boolean ignore_missing
Specifies whether, for a vertex v with missing (null) distances, v's score should ignore the missing values or be set to 'null'. Defaults to 'true'.


ignore_self_distances

protected boolean ignore_self_distances
Specifies whether the values returned should ignore self-distances (distances from v to itself). Defaults to 'true'.

Constructor Detail

DistanceCentralityScorer

public DistanceCentralityScorer(Hypergraph<V,E> graph,
                                Distance<V> distance,
                                boolean averaging,
                                boolean ignore_missing,
                                boolean ignore_self_distances)
Creates an instance with the specified graph, distance metric, and averaging behavior.

Parameters:
graph - The graph on which the vertex scores are to be calculated.
distance - The metric to use for specifying the distance between pairs of vertices.
averaging - Specifies whether the values returned is the sum of all v-distances or the mean v-distance.
ignore_missing - Specifies whether scores for missing distances are to ignore missing distances or be set to null.
ignore_self_distances - Specifies whether distances from a vertex to itself should be included in its score.

DistanceCentralityScorer

public DistanceCentralityScorer(Hypergraph<V,E> graph,
                                Distance<V> distance,
                                boolean averaging)
Equivalent to this(graph, distance, averaging, true, true).

Parameters:
graph - The graph on which the vertex scores are to be calculated.
distance - The metric to use for specifying the distance between pairs of vertices.
averaging - Specifies whether the values returned is the sum of all v-distances or the mean v-distance.

DistanceCentralityScorer

public DistanceCentralityScorer(Hypergraph<V,E> graph,
                                org.apache.commons.collections15.Transformer<E,? extends Number> edge_weights,
                                boolean averaging,
                                boolean ignore_missing,
                                boolean ignore_self_distances)
Creates an instance with the specified graph and averaging behavior whose vertex distances are calculated based on the specified edge weights.

Parameters:
graph - The graph on which the vertex scores are to be calculated.
edge_weights - The edge weights to use for specifying the distance between pairs of vertices.
averaging - Specifies whether the values returned is the sum of all v-distances or the mean v-distance.
ignore_missing - Specifies whether scores for missing distances are to ignore missing distances or be set to null.
ignore_self_distances - Specifies whether distances from a vertex to itself should be included in its score.

DistanceCentralityScorer

public DistanceCentralityScorer(Hypergraph<V,E> graph,
                                org.apache.commons.collections15.Transformer<E,? extends Number> edge_weights,
                                boolean averaging)
Equivalent to this(graph, edge_weights, averaging, true, true).

Parameters:
graph - The graph on which the vertex scores are to be calculated.
edge_weights - The edge weights to use for specifying the distance between pairs of vertices.
averaging - Specifies whether the values returned is the sum of all v-distances or the mean v-distance.

DistanceCentralityScorer

public DistanceCentralityScorer(Hypergraph<V,E> graph,
                                boolean averaging,
                                boolean ignore_missing,
                                boolean ignore_self_distances)
Creates an instance with the specified graph and averaging behavior whose vertex distances are calculated on the unweighted graph.

Parameters:
graph - The graph on which the vertex scores are to be calculated.
averaging - Specifies whether the values returned is the sum of all v-distances or the mean v-distance.
ignore_missing - Specifies whether scores for missing distances are to ignore missing distances or be set to null.
ignore_self_distances - Specifies whether distances from a vertex to itself should be included in its score.

DistanceCentralityScorer

public DistanceCentralityScorer(Hypergraph<V,E> graph,
                                boolean averaging)
Equivalent to this(graph, averaging, true, true).

Parameters:
graph - The graph on which the vertex scores are to be calculated.
averaging - Specifies whether the values returned is the sum of all v-distances or the mean v-distance.
Method Detail

getVertexScore

public Double getVertexScore(V v)
Calculates the score for the specified vertex.

Specified by:
getVertexScore in interface VertexScorer<V,Double>
Returns:
the algorithm's score for this vertex


Copyright © 2009. All Rights Reserved.