de.lmu.ifi.dbs.elki.algorithm
Interface Algorithm

All Superinterfaces:
InspectionUtilFrequentlyScanned, Parameterizable
All Known Subinterfaces:
ClusteringAlgorithm<C>, OPTICSTypeAlgorithm<D>, OutlierAlgorithm
All Known Implementing Classes:
ABOD, AbstractAggarwalYuOutlier, AbstractAlgorithm, AbstractDBOutlier, AbstractDistanceBasedAlgorithm, AbstractDistanceBasedSpatialOutlier, AbstractNeighborhoodOutlier, AbstractPrimitiveDistanceBasedAlgorithm, AbstractProjectedClustering, AbstractProjectedDBSCAN, AggarwalYuEvolutionary, AggarwalYuNaive, APRIORI, ByLabelClustering, ByLabelHierarchicalClustering, ByLabelOutlier, CASH, CLIQUE, COPAC, CTLuGLSBackwardSearchAlgorithm, CTLuMeanMultipleAttributes, CTLuMedianAlgorithm, CTLuMedianMultipleAttributes, CTLuMoranScatterplotOutlier, CTLuRandomWalkEC, CTLuScatterplotOutlier, CTLuZTestOutlier, DBOutlierDetection, DBOutlierScore, DBSCAN, DeLiClu, DependencyDerivator, DiSH, DistanceStatisticsWithClasses, DummyAlgorithm, EM, EMOutlier, ERiC, EvaluateRankingQuality, ExternalDoubleOutlierScore, FeatureBagging, FourC, GaussianModel, GaussianUniformMixture, HiCO, HiSC, INFLO, KMeans, KNNDistanceOrder, KNNJoin, KNNOutlier, KNNWeightOutlier, LDOF, LOCI, LOF, LoOP, MaterializeDistances, NullAlgorithm, OnlineLOF, OPTICS, OPTICSOF, OPTICSXi, ORCLUS, PreDeCon, PROCLUS, RankingQualityHistogram, ReferenceBasedOutlierDetection, RescaleMetaOutlierAlgorithm, SLINK, SLOM, SNNClustering, SOD, SOF, SUBCLU, TrimmedMeanApproach, TrivialAllInOne, TrivialAllNoise, TrivialAllOutlier, TrivialNoOutlier

public interface Algorithm
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).


Method Summary
 TypeInformation[] getInputTypeRestriction()
          Get the input type restriction used for negotiating the data query.
 Result run(Database database)
          Runs the algorithm.
 

Method Detail

run

Result run(Database 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).

getInputTypeRestriction

TypeInformation[] getInputTypeRestriction()
Get the input type restriction used for negotiating the data query.

Returns:
Type restriction

Release 0.4.0 (2011-09-20_1324)