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

BalcanBlumGupta algorithm. More...

#include <balcanblumgupta.h>

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

Public Member Functions

 BalcanBlumGupta (DissimilarityMeasure< T > const *measure=0, std::vector< T * > const *input=0, unsigned int numOfPartitons=1)
 
 BalcanBlumGupta (const BalcanBlumGupta< T > &)
 
BalcanBlumGupta< T > & operator= (const BalcanBlumGupta< T > &)
 
virtual ~BalcanBlumGupta ()
 
virtual PartitionSolution< T > * compute ()
 
virtual void setInput (std::vector< T * > const *)
 
virtual void setMeasure (DissimilarityMeasure< T > const *measure)
 
void setAlpha (double alpha)
 
void setBeta (double beta)
 
void setEpsilon (double epsilon)
 
void setOmega (double omega)
 
void setNumberOfPartitions (unsigned int number)
 Sets the desired number of partitions. More...
 
- Public Member Functions inherited from CluE::Algorithm
virtual ~Algorithm ()
 

Static Public Member Functions

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

Private Attributes

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

Detailed Description

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

BalcanBlumGupta algorithm.

Approximate clustering algorithm as described in M-F. Balcan, A. Blum and A. Gupta. "Approximate Clustering without the Approximation". Proceedings of the twentieth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA '09), 2009.

Definition at line 26 of file balcanblumgupta.h.

Constructor & Destructor Documentation

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

Definition at line 92 of file balcanblumgupta.h.

template<typename T >
CluE::BalcanBlumGupta< T >::BalcanBlumGupta ( const BalcanBlumGupta< T > &  bbg)

Definition at line 103 of file balcanblumgupta.h.

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

Definition at line 132 of file balcanblumgupta.h.

Member Function Documentation

template<typename T >
BalcanBlumGupta< T > & CluE::BalcanBlumGupta< T >::operator= ( const BalcanBlumGupta< T > &  bbg)

Definition at line 114 of file balcanblumgupta.h.

template<typename T >
PartitionSolution< T > * CluE::BalcanBlumGupta< T >::compute ( )
virtual
Exceptions
InvalidRuntimeConfigurationException[0] Input is NULL.
InvalidRuntimeConfigurationException[1] Dissimilarity measure is NULL.
InvalidRuntimeConfigurationException[2] Threshold graph: Empty node set.

Implements CluE::Algorithm.

Definition at line 138 of file balcanblumgupta.h.

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

Implements CluE::InputSetter< T >.

Definition at line 252 of file balcanblumgupta.h.

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

Implements CluE::MeasureSetter< T >.

Definition at line 257 of file balcanblumgupta.h.

template<typename T >
void CluE::BalcanBlumGupta< T >::setAlpha ( double  alpha)
See also
"Approximate Clustering without the Approximation"
Exceptions
InvalidArgumentException[0] The given value of alpha is invalid. No changes were made.

Definition at line 223 of file balcanblumgupta.h.

template<typename T >
void CluE::BalcanBlumGupta< T >::setBeta ( double  beta)
See also
"Approximate Clustering without the Approximation"
Exceptions
InvalidArgumentException[0] The given value of beta is invalid. No changes were made.

Definition at line 231 of file balcanblumgupta.h.

template<typename T >
void CluE::BalcanBlumGupta< T >::setEpsilon ( double  epsilon)
See also
"Approximate Clustering without the Approximation"
Exceptions
InvalidArgumentException[0] The given value of epsilon is invalid. No changes were made.

Definition at line 239 of file balcanblumgupta.h.

template<typename T >
void CluE::BalcanBlumGupta< T >::setOmega ( double  omega)
See also
"Approximate Clustering without the Approximation"

Definition at line 247 of file balcanblumgupta.h.

template<typename T >
void CluE::BalcanBlumGupta< T >::setNumberOfPartitions ( unsigned int  number)

Sets the desired number of partitions.

See also
"Approximate Clustering without the Approximation"

Definition at line 218 of file balcanblumgupta.h.

template<typename T >
BalcanBlumGupta< T > * CluE::BalcanBlumGupta< T >::toBalcanBlumGupta ( Algorithm s)
static

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

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

Definition at line 268 of file balcanblumgupta.h.

Member Data Documentation

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

Definition at line 83 of file balcanblumgupta.h.

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

Definition at line 84 of file balcanblumgupta.h.

template<typename T>
unsigned int CluE::BalcanBlumGupta< T >::numPartitions
private

Definition at line 85 of file balcanblumgupta.h.

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

Definition at line 86 of file balcanblumgupta.h.

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

Definition at line 87 of file balcanblumgupta.h.

template<typename T>
double CluE::BalcanBlumGupta< T >::epsilon
private

Definition at line 88 of file balcanblumgupta.h.

template<typename T>
double CluE::BalcanBlumGupta< T >::omega
private

Definition at line 89 of file balcanblumgupta.h.


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