/* Copyright 2010 by Sean Luke and George Mason University Licensed under the Academic Free License version 3.0 See the file "LICENSE" for more information */ package sim.field.network.stats.actorcentrality; import sim.field.network.*; //import sim.util.*; /** * Actor Degree Centrality (Wasserman and Faust, page 178) * * @author Gabriel Catalin Balan */ public class DegreeCentrality extends FreemanNodeIndex { final int maxCummulDiff; public DegreeCentrality(final Network network) { super(network); int n = network.allNodes.numObjs; //see page 199 for (n-1)^2. maxCummulDiff = (network.isDirected())? (n-1)*(n-1):(n-1)*(n-2); //I computed maxCummulDiff here so getMaxCummulativeDifference would inline } public double getValue(final Object node) { // Network.IndexOutIn inout = (Network.IndexOutIn)network.indexOutInHash.get(node); // Bag b = inout.out; return network.getEdgesOut(node).numObjs; } public double getMaxValue() { return network.allNodes.numObjs-1; } public double getMaxCummulativeDifference() { return (double)(maxCummulDiff); } }