/*
* Created on Jul 12, 2007
*
* Copyright (c) 2007, the JUNG Project and the Regents of the University
* of California
* All rights reserved.
*
* This software is open-source under the BSD license; see either
* "license.txt" or
* http://jung.sourceforge.net/license.txt for a description.
*/
package edu.uci.ics.jung.algorithms.scoring;
import org.apache.commons.collections15.Transformer;
import edu.uci.ics.jung.algorithms.shortestpath.Distance;
import edu.uci.ics.jung.graph.Hypergraph;
/**
* Assigns scores to each vertex based on the mean distance to each other
* vertex.
*
* @author Joshua O'Madadhain
*/
public class ClosenessCentrality<V, E> extends DistanceCentralityScorer<V, E> {
/**
* Creates an instance using the specified vertex/vertex distance metric.
*
* @param graph
* the input
* @param distance
* the vertex/vertex distance metric.
*/
public ClosenessCentrality(Hypergraph<V, E> graph, Distance<V> distance) {
super(graph, distance, true);
}
/**
* Creates an instance which measures distance using the specified edge
* weights.
*
* @param graph
* the input graph
* @param edge_weights
* the edge weights to be used to determine vertex/vertex
* distances
*/
public ClosenessCentrality(Hypergraph<V, E> graph,
Transformer<E, ? extends Number> edge_weights) {
super(graph, edge_weights, true);
}
/**
* Creates an instance which measures distance on the graph without edge
* weights.
*
* @param graph
*/
public ClosenessCentrality(Hypergraph<V, E> graph) {
super(graph, true);
}
}