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

Gonzales algorithm. More...

#include <gonzales.h>

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

Public Member Functions

 Gonzales (DissimilarityMeasure< T > const *measure=0, std::vector< T * > const *input=0, unsigned int numberOfClusters=1, unsigned int firstPoint=0)
 Constructor for general use. More...
 
 Gonzales (const Gonzales< T > &)
 
Gonzales< T > & operator= (const Gonzales< T > &)
 
virtual ~Gonzales ()
 
virtual SolutionProvidercompute ()
 
virtual void setInput (std::vector< T * > const *)
 
virtual void setMeasure (DissimilarityMeasure< T > const *measure)
 
void setNumberOfClusters (unsigned int number)
 Sets the desired number of clusters. More...
 
void setFirstPoint (unsigned int index)
 Sets the starting point for farthest first traversal. More...
 
- Public Member Functions inherited from CluE::Algorithm
virtual ~Algorithm ()
 

Static Public Member Functions

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

Private Attributes

DissimilarityMeasure< T > * measure
 
std::vector< T * > const * input
 
unsigned int numberOfClusters
 
unsigned int first_point
 

Detailed Description

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

Gonzales algorithm.

Clustering algorithm as described in: T. Feder and D. Greene. Optimal algorithms for approximate clustering. Proceedings of the 20th ACM Symposium on the Theory of Computing, 1988.
Also mentioned as "farthest first traversal" in: S. Dasgupta and P. M. Long. "Performance guarantees for hierarchical clustering". Journal of Computer and System Sciences, 70(4):555-569, 2005.

See also
DasguptaLong is a hierarchical clustering algorithm based on the idea of Gonzales.

Definition at line 27 of file gonzales.h.

Constructor & Destructor Documentation

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

Constructor for general use.

See also
setMeasure
setInput
setNumberOfClusters
setFirstPoint

Definition at line 77 of file gonzales.h.

template<typename T >
CluE::Gonzales< T >::Gonzales ( const Gonzales< T > &  gon)

Definition at line 85 of file gonzales.h.

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

Definition at line 108 of file gonzales.h.

Member Function Documentation

template<typename T >
Gonzales< T > & CluE::Gonzales< T >::operator= ( const Gonzales< T > &  gon)

Definition at line 93 of file gonzales.h.

template<typename T >
SolutionProvider * CluE::Gonzales< T >::compute ( )
virtual
Exceptions
InvalidRuntimeConfigurationException[0] Input is NULL.
InvalidRuntimeConfigurationException[1] Dissimilarity measure is NULL.
InvalidRuntimeConfigurationException[2] Desired number of clusters is larger than size of input.

Implements CluE::Algorithm.

Definition at line 114 of file gonzales.h.

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

Implements CluE::InputSetter< T >.

Definition at line 176 of file gonzales.h.

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

Implements CluE::MeasureSetter< T >.

Definition at line 186 of file gonzales.h.

template<typename T >
void CluE::Gonzales< T >::setNumberOfClusters ( unsigned int  number)

Sets the desired number of clusters.

Definition at line 181 of file gonzales.h.

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

Sets the starting point for farthest first traversal.

Definition at line 171 of file gonzales.h.

template<typename T >
Gonzales< T > * CluE::Gonzales< T >::toGonzales ( Algorithm s)
static

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

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

Definition at line 197 of file gonzales.h.

Member Data Documentation

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

Definition at line 71 of file gonzales.h.

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

Definition at line 72 of file gonzales.h.

template<typename T>
unsigned int CluE::Gonzales< T >::numberOfClusters
private

Definition at line 73 of file gonzales.h.

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

Definition at line 74 of file gonzales.h.


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