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

java.lang.Object
  extended by edu.uci.ics.jung.algorithms.scoring.AbstractIterativeScorer<V,E,S>
      extended by edu.uci.ics.jung.algorithms.scoring.AbstractIterativeScorerWithPriors<V,E,HITS.Scores>
          extended by edu.uci.ics.jung.algorithms.scoring.HITSWithPriors<V,E>
              extended by edu.uci.ics.jung.algorithms.scoring.HITS<V,E>
Type Parameters:
V - the vertex type
E - the edge type
All Implemented Interfaces:
VertexScorer<V,HITS.Scores>, IterativeContext

public class HITS<V,E>
extends HITSWithPriors<V,E>

Assigns hub and authority scores to each vertex depending on the topology of the network. The essential idea is that a vertex is a hub to the extent that it links to authoritative vertices, and is an authority to the extent that it links to 'hub' vertices.

The classic HITS algorithm essentially proceeds as follows:

 assign equal initial hub and authority values to each vertex
 repeat
   for each vertex w:
     w.hub = sum over successors x of x.authority
     w.authority = sum over predecessors v of v.hub
   normalize hub and authority scores so that the sum of the squares of each = 1
 until scores converge
 
HITS is somewhat different from random walk/eigenvector-based algorithms such as PageRank in that: This implementation has the classic behavior by default. However, it has been generalized somewhat so that it can act in a more "PageRank-like" fashion:

See Also:
"'Authoritative sources in a hyperlinked environment' by Jon Kleinberg, 1997"

Nested Class Summary
static class HITS.Scores
          Maintains hub and authority score information for a vertex.
 
Field Summary
 
Fields inherited from class edu.uci.ics.jung.algorithms.scoring.HITSWithPriors
disappearing_potential
 
Fields inherited from class edu.uci.ics.jung.algorithms.scoring.AbstractIterativeScorerWithPriors
alpha, vertex_priors
 
Fields inherited from class edu.uci.ics.jung.algorithms.scoring.AbstractIterativeScorer
edge_weights, graph, hyperedges_are_self_loops, max_delta, max_iterations, output_reversed, tolerance, total_iterations
 
Constructor Summary
HITS(Graph<V,E> g)
          Creates an instance for the specified graph.
HITS(Graph<V,E> g, double alpha)
          Creates an instance for the specified graph and alpha (random jump probability) parameter.
HITS(Graph<V,E> g, org.apache.commons.collections15.Transformer<E,Double> edge_weights, double alpha)
          Creates an instance for the specified graph, edge weights, and alpha (random jump probability) parameter.
 
Method Summary
 
Methods inherited from class edu.uci.ics.jung.algorithms.scoring.HITSWithPriors
afterStep, collectDisappearingPotential, normalizeScores, update
 
Methods inherited from class edu.uci.ics.jung.algorithms.scoring.AbstractIterativeScorerWithPriors
getAlpha, getVertexPrior, getVertexPriors, initialize
 
Methods inherited from class edu.uci.ics.jung.algorithms.scoring.AbstractIterativeScorer
acceptDisconnectedGraph, done, evaluate, getAdjustedIncidentCount, getCurrentValue, getEdgeWeight, getEdgeWeights, getIterations, getMaxIterations, getOutputValue, getTolerance, getVertexScore, isDisconnectedGraphOK, setCurrentValue, setEdgeWeights, setHyperedgesAreSelfLoops, setMaxIterations, setOutputValue, setTolerance, step, swapOutputForCurrent, updateMaxDelta
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface edu.uci.ics.jung.algorithms.scoring.VertexScorer
getVertexScore
 

Constructor Detail

HITS

public HITS(Graph<V,E> g,
            org.apache.commons.collections15.Transformer<E,Double> edge_weights,
            double alpha)
Creates an instance for the specified graph, edge weights, and alpha (random jump probability) parameter.

Parameters:
g - the input graph
edge_weights - the weights to use for each edge
alpha - the probability of a hub giving some authority to all vertices, and of an authority increasing the score of all hubs (not just those connected via links)

HITS

public HITS(Graph<V,E> g,
            double alpha)
Creates an instance for the specified graph and alpha (random jump probability) parameter. The edge weights are all set to 1.

Parameters:
g - the input graph
alpha - the probability of a hub giving some authority to all vertices, and of an authority increasing the score of all hubs (not just those connected via links)

HITS

public HITS(Graph<V,E> g)
Creates an instance for the specified graph. The edge weights are all set to 1 and alpha is set to 0.

Parameters:
g - the input graph


Copyright © 2009. All Rights Reserved.