Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

de.lmu.ifi.dbs.elki.algorithm
Interface Algorithm<O extends DatabaseObject,R extends Result>

Type Parameters:
O - the type of DatabaseObjects handled by this Algorithm
R - the type of result to retrieve from this Algorithm
All Superinterfaces:
Parameterizable
All Known Subinterfaces:
ClusteringAlgorithm<C,O>
All Known Implementing Classes:
ABOD, AbstractAlgorithm, AbstractDBOutlier, APRIORI, ByLabelClustering, ByLabelHierarchicalClustering, CASH, CLIQUE, ComputeOutlierHistogram, ComputeROCCurve, COPAC, DBOutlierDetection, DBOutlierScore, DBSCAN, DeLiClu, DependencyDerivator, DiSH, DistanceBasedAlgorithm, DistanceStatisticsWithClasses, DummyAlgorithm, EM, EMOutlier, ERiC, EvaluateRankingQuality, FourC, GaussianModel, GaussianUniformMixture, HiCO, HiSC, INFLO, KMeans, KNNDistanceOrder, KNNJoin, KNNOutlier, KNNWeightOutlier, LDOF, LOCI, LOF, LoOP, MaterializeDistances, MetaMultiAlgorithm, NullAlgorithm, OPTICS, OPTICSOF, ORCLUS, PreDeCon, PROCLUS, ProjectedClustering, ProjectedDBSCAN, RankingQualityHistogram, ReferenceBasedOutlierDetection, SLINK, SNNClustering, SOD, SUBCLU, TrivialAllInOne, TrivialAllNoise

public interface Algorithm<O extends DatabaseObject,R extends Result>
extends Parameterizable

Specifies the requirements for any algorithm that is to be executable by the main class.

Any implementation needs not to take care of input nor output, parsing and so on. Those tasks are performed by the framework. An algorithm simply needs to ask for parameters that are algorithm specific.

Note: Any implementation is supposed to provide a constructor without parameters (default constructor).

Author:
Arthur Zimek
See Also:
AbstractAlgorithm

Method Summary
 R run(Database<O> database)
          Runs the algorithm.
 void setTime(boolean time)
          Sets whether whether the time should be assessed while executing the algorithm.
 void setVerbose(boolean verbose)
          Sets whether verbose messages should be printed while executing the algorithm.
 

Method Detail

run

R run(Database<O> database)
                     throws IllegalStateException
Runs the algorithm.

Parameters:
database - the database to run the algorithm on
Returns:
the Result computed by this algorithm
Throws:
IllegalStateException - if the algorithm has not been initialized properly (e.g. the setParameters(String[]) method has been failed to be called).

setVerbose

void setVerbose(boolean verbose)
Sets whether verbose messages should be printed while executing the algorithm.

Parameters:
verbose - the flag to allow verbose messages while performing the algorithm

setTime

void setTime(boolean time)
Sets whether whether the time should be assessed while executing the algorithm.

Parameters:
time - the flag to request output of performance time

Release 0.3 (2010-03-31_1612)