1 /*
2 * Created on Jul 12, 2007
3 *
4 * Copyright (c) 2007, The JUNG Authors
5 *
6 * All rights reserved.
7 *
8 * This software is open-source under the BSD license; see either
9 * "license.txt" or
10 * https://github.com/jrtom/jung/blob/master/LICENSE for a description.
11 */
12 package edu.uci.ics.jung.algorithms.scoring;
13
14 import com.google.common.base.Function;
15
16 import edu.uci.ics.jung.algorithms.shortestpath.Distance;
17 import edu.uci.ics.jung.graph.Hypergraph;
18
19 /**
20 * Assigns scores to each vertex according to the sum of its distances to all other vertices.
21 */
22 public class BarycenterScorer<V,E> extends DistanceCentralityScorer<V, E>
23 {
24 /**
25 * Creates an instance with the specified graph and distance metric.
26 * @param graph the input graph
27 * @param distance the distance metric to use
28 */
29 public BarycenterScorer(Hypergraph<V,E> graph, Distance<V> distance)
30 {
31 super(graph, distance, false);
32 }
33
34 /**
35 * Creates an instance with the specified graph and edge weights.
36 * Will generate a <code>Distance</code> metric internally based on the edge weights.
37 * @param graph the input graph
38 * @param edge_weights the edge weights to use to calculate vertex/vertex distances
39 */
40 public BarycenterScorer(Hypergraph<V,E> graph, Function<E, ? extends Number> edge_weights)
41 {
42 super(graph, edge_weights, false);
43 }
44
45 /**
46 * Creates an instance with the specified graph.
47 * Will generate a <code>Distance</code> metric internally assuming that the
48 * graph is unweighted.
49 * @param graph the input graph
50 */
51 public BarycenterScorer(Hypergraph<V,E> graph)
52 {
53 super(graph, false);
54 }
55 }