CluE  1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
CluE::DasguptaLong< T > Class Template Reference

DasguptaLong algorithm. More...

#include <dasguptalong.h>

Inheritance diagram for CluE::DasguptaLong< T >:
Inheritance graph
Collaboration diagram for CluE::DasguptaLong< T >:
Collaboration graph

Public Member Functions

 DasguptaLong (DissimilarityMeasure< T > const *measure=0, std::vector< T * > const *input=0, unsigned int firstPoint=0)
 Constructor for general usage. More...
 
 DasguptaLong (const DasguptaLong< T > &)
 
DasguptaLong< T > & operator= (const DasguptaLong< T > &)
 
virtual ~DasguptaLong ()
 
virtual SolutionProvidercompute ()
 
virtual void setInput (std::vector< T * > const *)
 
virtual void setMeasure (DissimilarityMeasure< T > const *measure)
 
void setFirstPoint (unsigned int index)
 Sets the starting point for farthest first traversal. More...
 
void setGranularity (double alpha, double beta)
 Sets the granularity. More...
 
- Public Member Functions inherited from CluE::Algorithm
virtual ~Algorithm ()
 

Static Public Member Functions

static DasguptaLong< T > * toDasguptaLong (Algorithm *s)
 does a dynamic cast of the given Algorithm to DasguptaLong<T> More...
 

Private Attributes

DissimilarityMeasure< T > * measure
 
std::vector< T * > const * input
 
unsigned int first_point
 
double alpha
 
double beta
 

Detailed Description

template<typename T>
class CluE::DasguptaLong< T >

DasguptaLong algorithm.

Hierarchical clustering algorithm as described in S. Dasgupta and P. M. Long. "Performance guarantees for hierarchical clustering". Journal of Computer and System Sciences, 70(4):555-569, 2005.

Definition at line 27 of file dasguptalong.h.

Constructor & Destructor Documentation

template<typename T >
CluE::DasguptaLong< T >::DasguptaLong ( DissimilarityMeasure< T > const *  measure = 0,
std::vector< T * > const *  input = 0,
unsigned int  firstPoint = 0 
)

Constructor for general usage.

Note
Remember to set granularity.
See also
setMeasure
setInput
setFirstPoint
setGranularity

Definition at line 81 of file dasguptalong.h.

template<typename T >
CluE::DasguptaLong< T >::DasguptaLong ( const DasguptaLong< T > &  dl)

Definition at line 90 of file dasguptalong.h.

template<typename T >
CluE::DasguptaLong< T >::~DasguptaLong ( )
virtual

Definition at line 115 of file dasguptalong.h.

Member Function Documentation

template<typename T >
DasguptaLong< T > & CluE::DasguptaLong< T >::operator= ( const DasguptaLong< T > &  dl)

Definition at line 99 of file dasguptalong.h.

template<typename T >
SolutionProvider * CluE::DasguptaLong< T >::compute ( )
virtual
Exceptions
InvalidRuntimeConfigurationException[0] Input is NULL.
InvalidRuntimeConfigurationException[1] Dissimilarity measure is NULL.

Implements CluE::Algorithm.

Definition at line 121 of file dasguptalong.h.

template<typename T >
void CluE::DasguptaLong< T >::setInput ( std::vector< T * > const *  data)
virtual

Implements CluE::InputSetter< T >.

Definition at line 297 of file dasguptalong.h.

template<typename T >
void CluE::DasguptaLong< T >::setMeasure ( DissimilarityMeasure< T > const *  measure)
virtual

Implements CluE::MeasureSetter< T >.

Definition at line 302 of file dasguptalong.h.

template<typename T >
void CluE::DasguptaLong< T >::setFirstPoint ( unsigned int  index)

Sets the starting point for farthest first traversal.

Definition at line 272 of file dasguptalong.h.

template<typename T >
void CluE::DasguptaLong< T >::setGranularity ( double  alpha,
double  beta 
)

Sets the granularity.

See also
"Performance guarantees for hierarchical clustering" (see above)
Exceptions
InvalidArgumentException[0] The given value of alpha is invalid. No changes were made.
InvalidArgumentException[1] The given value of beta is invalid. No changes were made.

Definition at line 277 of file dasguptalong.h.

template<typename T >
DasguptaLong< T > * CluE::DasguptaLong< T >::toDasguptaLong ( Algorithm s)
static

does a dynamic cast of the given Algorithm to DasguptaLong<T>

Returns
NULL if the Algorithm is not a DasguptaLong<T> instance

Definition at line 313 of file dasguptalong.h.

Member Data Documentation

template<typename T>
DissimilarityMeasure<T>* CluE::DasguptaLong< T >::measure
private

Definition at line 74 of file dasguptalong.h.

template<typename T>
std::vector<T*> const* CluE::DasguptaLong< T >::input
private

Definition at line 75 of file dasguptalong.h.

template<typename T>
unsigned int CluE::DasguptaLong< T >::first_point
private

Definition at line 76 of file dasguptalong.h.

template<typename T>
double CluE::DasguptaLong< T >::alpha
private

Definition at line 77 of file dasguptalong.h.

template<typename T>
double CluE::DasguptaLong< T >::beta
private

Definition at line 78 of file dasguptalong.h.


The documentation for this class was generated from the following file: