Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## edu.uci.ics.jung.algorithms.importance
Class HITS

    java.lang.Object
      edu.uci.ics.jung.algorithms.IterativeProcess
          edu.uci.ics.jung.algorithms.importance.AbstractRanker
              edu.uci.ics.jung.algorithms.importance.HITS

public class HITS
extends AbstractRanker

Calculates the "hubs-and-authorities" importance measures for each node in a graph. These measures are defined recursively as follows:

- The *hubness* of a node is the degree to which a node links to other important authorities
- The *authoritativeness* of a node is the degree to which a node is pointed to by important hubs

Note: This algorithm uses the same key as HITSWithPriors for storing rank sccores.

A simple example of usage is:

     HITS ranker = new HITS(someGraph);
     ranker.evaluate();
     ranker.printRankings();

Running time: O(|V|*I) where |V| is the number of vertices and I is the number of iterations until convergence

Author:
  Scott White
See Also:
  "Authoritative sources in a hyperlinked environment by Jon Kleinberg, 1997"

Field Summary
`protected static String` | `AUTHORITY_KEY`
`protected static String` | `HUB_KEY`

Fields inherited from class edu.uci.ics.jung.algorithms.importance.AbstractRanker
`DEFAULT_EDGE_WEIGHT_KEY`

Constructor Summary
`HITS(Graph graph)` Constructs an instance of the ranker where the type of importance that is associated with the rank score is the node's importance as an authority.
`HITS(Graph graph, boolean useAuthorityForRanking)` Constructs an instance of the ranker where the type of importance that is associated with the rank score is the node's importance as an authority.

Method Summary
`protected double` | `evaluateIteration()` Evaluate the result of the current interation.
`protected void` | `finalizeIterations()` Perform eventual clean-up operations (must be implement by subclass when needed).
`protected double` | `getPreviousAuthorityScore(Element v)`
`protected double` | `getPreviousHubScore(Element v)`
`double` | `getRankScore(Element v)` Given a node, returns the corresponding rank score.
`protected double` | `getRankScore(Element v, String key)` Given a node and a key, returns the corresponding rank score.
`String` | `getRankScoreKey()` the user datum key used to store the rank scores
`protected void` | `initialize(Graph g)`
`protected void` | `setRankScore(Element v, double rankValue)`
`protected void` | `setRankScore(Element v, double rankValue, String key)`
`void` | `setUseAuthorityForRanking(boolean useAuthorityForRanking)` If `evaluate()` has not already been called, the user can override the type of importance.
`protected void` | `updateAuthorityRankings()`
`protected void` | `updateHubRankings()`
`protected void` | `updatePreviousScores()`

Methods inherited from class edu.uci.ics.jung.algorithms.importance.AbstractRanker
`assignDefaultEdgeTransitionWeights, getEdgeWeight, getEdgeWeightKeyName, getGraph, getRankings, getRankScores, getVertices, initialize, isRankingEdges, isRankingNodes, normalizeEdgeTransitionWeights, normalizeRankings, onFinalize, printRankings, reinitialize, setEdgeWeight, setNormalizeRankings, setRemoveRankScoresOnFinalize, setUserDefinedEdgeWeightKey`

Methods inherited from class edu.uci.ics.jung.algorithms.IterativeProcess
`evaluate, getDesiredPrecision, getIterations, getMaximumIterations, getPrecision, hasConverged, initializeIterations, relativePrecision, setDesiredPrecision, setMaximumIterations`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### AUTHORITY_KEY

    protected static final String AUTHORITY_KEY

See Also:
  Constant Field Values

### HUB_KEY

    protected static final String HUB_KEY

See Also:
  Constant Field Values

Constructor Detail

### HITS

    public HITS(Graph graph,
                boolean useAuthorityForRanking)

  Constructs an instance of the ranker where the type of importance that is associated with the rank score is the node's importance as an authority.

Parameters:
  `graph` - the graph whose nodes are to be ranked
  `useAuthorityForRanking` -

### HITS

    public HITS(Graph graph)

  Constructs an instance of the ranker where the type of importance that is associated with the rank score is the node's importance as an authority.

Parameters:
  `graph` - the graph whose nodes are to be ranked

Method Detail

### initialize

    protected void initialize(Graph g)

### finalizeIterations

    protected void finalizeIterations()

  Description copied from class: `IterativeProcess`
  Perform eventual clean-up operations (must be implement by subclass when needed).

  Overrides:
    `finalizeIterations` in class `AbstractRanker`

### getRankScoreKey

    public String getRankScoreKey()

  the user datum key used to store the rank scores

  Specified by:
    `getRankScoreKey` in class `AbstractRanker`
  Returns:
    the key

### getRankScore

    public double getRankScore(Element v)

  Given a node, returns the corresponding rank score. This implementation of `getRankScore` assumes the decoration representing the rank score is of type `MutableDouble`.

  Overrides:
    `getRankScore` in class `AbstractRanker`
  Returns:
    the rank score for this node

### getRankScore

    protected double getRankScore(Element v,
                                  String key)

  Given a node and a key, returns the corresponding rank score. Assumes the decoration representing the rank score is of type `MutableDouble`.

  Parameters:
    `v` - the node in question
    `key` - the user datum key that indexes the rank score value
  Returns:
    the rank score for this node

### getPreviousAuthorityScore

    protected double getPreviousAuthorityScore(Element v)

### getPreviousHubScore

    protected double getPreviousHubScore(Element v)

### setRankScore

    protected void setRankScore(Element v,
                                double rankValue,
                                String key)

### setRankScore

    protected void setRankScore(Element v,
                                double rankValue)

  Overrides:
    `setRankScore` in class `AbstractRanker`

### evaluateIteration

    protected double evaluateIteration()

  Description copied from class: `IterativeProcess`
  Evaluate the result of the current interation.

  Specified by:
    `evaluateIteration` in class `IterativeProcess`
  Returns:
    the estimated precision of the result.

### setUseAuthorityForRanking

    public void setUseAuthorityForRanking(boolean useAuthorityForRanking)

  If `evaluate()` has not already been called, the user can override the type of importance. (hub or authority) that should be associated with the rank score.

  Parameters:
    `useAuthorityForRanking` - if `true`, authority is used; if `false`, hub is used

### updateAuthorityRankings

    protected void updateAuthorityRankings()

### updateHubRankings

    protected void updateHubRankings()

### updatePreviousScores

    protected void updatePreviousScores()

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD