|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.uci.ics.jung.algorithms.IterativeProcess
edu.uci.ics.jung.algorithms.importance.AbstractRanker
edu.uci.ics.jung.algorithms.importance.RelativeAuthorityRanker
edu.uci.ics.jung.algorithms.importance.HITSWithPriors
public class HITSWithPriors
Algorithm that extends the HITS algorithm by incorporating root nodes (priors). Whereas in HITS the importance of a node is implicitly computed relative to all nodes in the graph, now importance is computed relative to the specified root nodes.
A simple example of usage is:
HITSWithPriors ranker = new HITSWithPriors(someGraph,0.3,rootSet); 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
Field Summary | |
---|---|
protected static String |
AUTHORITY_KEY
|
protected static String |
HUB_KEY
|
Fields inherited from class edu.uci.ics.jung.algorithms.importance.RelativeAuthorityRanker |
---|
PRIOR_KEY |
Fields inherited from class edu.uci.ics.jung.algorithms.importance.AbstractRanker |
---|
DEFAULT_EDGE_WEIGHT_KEY |
Constructor Summary | |
---|---|
HITSWithPriors(Graph graph,
boolean useAuthorityForRanking,
double bias,
Set priors,
String edgeWeightKey)
More specialized constructor where the type of importance can be specified. |
|
HITSWithPriors(Graph graph,
double bias,
Set priors)
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()
Cleans up all of the prior rank scores on finalize. |
protected double |
getInEdgeWeight(Edge e)
|
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,
String edgeWeightKeyName)
|
protected void |
setInEdgeWeight(Edge e,
double weight)
|
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.RelativeAuthorityRanker |
---|
getPriorRankScore, getPriorRankScoreKey, getPriors, setPriorRankScore, setPriors |
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 |
---|
protected static final String AUTHORITY_KEY
protected static final String HUB_KEY
Constructor Detail |
---|
public HITSWithPriors(Graph graph, double bias, Set priors)
graph
- the graph whose nodes are to be rankedbias
- the weight that should be placed on the root nodes (between 0 and 1)priors
- the set of root nodespublic HITSWithPriors(Graph graph, boolean useAuthorityForRanking, double bias, Set priors, String edgeWeightKey)
graph
- the graph whose nodes are to be rankeduseAuthorityForRanking
- bias
- the weight that should be placed on the root nodes (between 0 and 1)priors
- the set of root nodesMethod Detail |
---|
protected void initialize(Graph g, String edgeWeightKeyName)
protected void finalizeIterations()
RelativeAuthorityRanker
finalizeIterations
in class RelativeAuthorityRanker
protected double getInEdgeWeight(Edge e)
protected void setInEdgeWeight(Edge e, double weight)
public String getRankScoreKey()
getRankScoreKey
in class AbstractRanker
public double getRankScore(Element v)
getRankScore
assumes
the decoration representing the rank score is of type MutableDouble
.
getRankScore
in class AbstractRanker
protected double getRankScore(Element v, String key)
MutableDouble
.
v
- the node in questionkey
- the user datum key that indexes the rank score value
protected double getPreviousAuthorityScore(Element v)
protected double getPreviousHubScore(Element v)
protected void setRankScore(Element v, double rankValue, String key)
protected void setRankScore(Element v, double rankValue)
setRankScore
in class AbstractRanker
protected double evaluateIteration()
IterativeProcess
evaluateIteration
in class IterativeProcess
public void setUseAuthorityForRanking(boolean useAuthorityForRanking)
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.
useAuthorityForRanking
- if true
, authority is used; if false
, hub is usedprotected void updateAuthorityRankings()
protected void updateHubRankings()
protected void updatePreviousScores()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |