00001 /*========================================================================== 00002 * Copyright (c) 2002 University of Massachusetts. All Rights Reserved. 00003 * 00004 * Use of the Lemur Toolkit for Language Modeling and Information Retrieval 00005 * is subject to the terms of the software license set forth in the LICENSE 00006 * file included with this software, and also available at 00007 * http://www.lemurproject.org/license.html 00008 * 00009 *========================================================================== 00010 */ 00011 00012 // David Fisher 00013 // init: 11/18/2002 00014 // Agglomerative clustering algorithms. 00015 #ifndef _AGGLOMCLUSTER_HPP 00016 #define _AGGLOMCLUSTER_HPP 00017 #include "Cluster.hpp" 00018 00021 class AgglomCluster: public Cluster 00022 { 00023 public: 00025 AgglomCluster(int cid, const Index &ind, const SimilarityMethod &sim, 00026 enum ClusterParam::docModes mode): 00027 Cluster(cid, ind, sim), docmode(mode) {} 00029 virtual ~AgglomCluster() {}; 00031 virtual double score(const ClusterRep *rep) const; 00035 virtual ClusterRep *getClusterRep() const; 00037 virtual double sum2() const; 00038 00039 private: 00040 enum ClusterParam::docModes docmode; 00042 double score_min(const ClusterRep *rep) const; 00044 double score_max(const ClusterRep *rep) const; 00046 double score_mean(const ClusterRep *rep) const; 00048 double score_ave(const ClusterRep *rep) const; 00049 }; 00050 00051 #endif