nz.ac.waikato.mcennis.rat.graph.algorithm.prestige
Class ScalablePageRankPrestige

java.lang.Object
  extended by nz.ac.waikato.mcennis.rat.graph.model.ModelShell
      extended by nz.ac.waikato.mcennis.rat.graph.algorithm.prestige.ScalablePageRankPrestige
All Implemented Interfaces:
java.io.Serializable, Component, Algorithm, Model

public class ScalablePageRankPrestige
extends ModelShell
implements Algorithm

Class for calculating the PageRank of an algorithm using the Power method. Algorithm is implemented using the Colt library as defined in Langville and Meyer 2003.

Langeville, A., C. Meyer. 2003. "Deeper inside Page Rank." Internet Mathematics. 1(3):335--380.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class nz.ac.waikato.mcennis.rat.graph.model.ModelShell
listener
 
Constructor Summary
ScalablePageRankPrestige()
          Creates a new instance of AddPageRankPrestige
 
Method Summary
protected  double error(DoubleMatrix2D newVector, DoubleMatrix2D oldVector)
           
 void execute(Graph g)
          Implements the power version of the Page Rank algorithm using the colt library.
 java.util.List<IODescriptor> getInputType()
          The input type describes all the different kinds of graph objects that are utilized (and hence required) by this object.
 java.util.List<IODescriptor> getOutputType()
          The output type describes all the different kinds of graph objects that are created during the execution of this algorithm.
 Properties getParameter()
          List of all parameters this component accepts.
 Parameter getParameter(java.lang.String param)
          Returns the specific parameter identified by its key-name.
 void init(Properties map)
          Parameters to be initialized: 'name' - Name for this instance of the algorithm.
 ScalablePageRankPrestige prototype()
          All Components implement the prototype pattern.
 
Methods inherited from class nz.ac.waikato.mcennis.rat.graph.model.ModelShell
addListener, fireChange
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface nz.ac.waikato.mcennis.rat.graph.model.Model
addListener
 

Constructor Detail

ScalablePageRankPrestige

public ScalablePageRankPrestige()
Creates a new instance of AddPageRankPrestige

Method Detail

getInputType

public java.util.List<IODescriptor> getInputType()
Description copied from interface: Component
The input type describes all the different kinds of graph objects that are utilized (and hence required) by this object. This result is only guaranteed to be fixed if structural parameters are not modified. This is an empty array if there is no input.

Specified by:
getInputType in interface Component
Returns:
IODescriptor array for this component
See Also:
IODescriptor

getOutputType

public java.util.List<IODescriptor> getOutputType()
Description copied from interface: Component
The output type describes all the different kinds of graph objects that are created during the execution of this algorithm. The result is only guaranteed to be fixed if structural parameters are not modified. This is an empty array if there is no output.

Specified by:
getOutputType in interface Component
Returns:
IODescriptor array for this component
See Also:
IODescriptor

getParameter

public Properties getParameter()
Description copied from interface: Component
List of all parameters this component accepts. Each parameter also has a distinct key-name used when initializing the object using the init method. If there are no parameters, null is returned.

Specified by:
getParameter in interface Component
Returns:
read-only array of Parameters

getParameter

public Parameter getParameter(java.lang.String param)
Description copied from interface: Component
Returns the specific parameter identified by its key-name. If no parameter is found with this key-name, null is returned.

Specified by:
getParameter in interface Component
Parameters:
param - key-name of the parameter
Returns:
named parameter

execute

public void execute(Graph g)
Implements the power version of the Page Rank algorithm using the colt library. The algorithm terminates after sum of changes between iterations are less than the tolerance.

Specified by:
execute in interface Algorithm
Parameters:
g - graph to be modified

init

public void init(Properties map)
Parameters to be initialized:
  1. 'name' - Name for this instance of the algorithm. Default is 'Page Rank Centrality'.
  2. 'relation' - type (relation) of link that is calculated over. Deafult 'Knows'.
  3. 'actorSourceType' - type (mode) of actor that is calculated over. Default 'User'.
  4. 'propertyName' - name for the property added to actors. Deafult 'Knows PageRank Centrality'.
  5. 'teleportationFactor' - double for the percent chance of moving to a random page. Deafult '0.15'.
  6. 'tolerance' - maximum difference between sum of error before algorithm is considered converged. Default is '1e-50'.


Input 0 - Link
Output 0 - ActorProperty

Specified by:
init in interface Component
Parameters:
map - map of the given properties naming parameters and their values in a string

error

protected double error(DoubleMatrix2D newVector,
                       DoubleMatrix2D oldVector)

prototype

public ScalablePageRankPrestige prototype()
Description copied from interface: Component
All Components implement the prototype pattern. The new parameter has no common resources to the original that are not static resources o the class.

Specified by:
prototype in interface Component
Specified by:
prototype in interface Algorithm
Returns:
default-parameter version of the same class as the original.

Get Relational Analysis Toolkit at SourceForge.net. Fast, secure and Free Open Source software downloads