+++ /dev/null
-/*
- * 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.util;
-
-import java.util.Collection;
-
-import org.apache.commons.collections15.Transformer;
-
-import edu.uci.ics.jung.algorithms.scoring.HITS;
-
-/**
- * Methods for assigning values (to be interpreted as prior probabilities) to vertices in the context
- * of random-walk-based scoring algorithms.
- */
-public class ScoringUtils
-{
- /**
- * Assigns a probability of 1/<code>roots.size()</code> to each of the elements of <code>roots</code>.
- * @param <V> the vertex type
- * @param roots the vertices to be assigned nonzero prior probabilities
- * @return
- */
- public static <V> Transformer<V, Double> getUniformRootPrior(Collection<V> roots)
- {
- final Collection<V> inner_roots = roots;
- Transformer<V, Double> distribution = new Transformer<V, Double>()
- {
- public Double transform(V input)
- {
- if (inner_roots.contains(input))
- return new Double(1.0 / inner_roots.size());
- else
- return 0.0;
- }
- };
-
- return distribution;
- }
-
- /**
- * Returns a Transformer that hub and authority values of 1/<code>roots.size()</code> to each
- * element of <code>roots</code>.
- * @param <V> the vertex type
- * @param roots the vertices to be assigned nonzero scores
- * @return a Transformer that assigns uniform prior hub/authority probabilities to each root
- */
- public static <V> Transformer<V, HITS.Scores> getHITSUniformRootPrior(Collection<V> roots)
- {
- final Collection<V> inner_roots = roots;
- Transformer<V, HITS.Scores> distribution =
- new Transformer<V, HITS.Scores>()
- {
- public HITS.Scores transform(V input)
- {
- if (inner_roots.contains(input))
- return new HITS.Scores(1.0 / inner_roots.size(), 1.0 / inner_roots.size());
- else
- return new HITS.Scores(0.0, 0.0);
- }
- };
- return distribution;
- }
-}