fig1 illustrates a computer network 20 implemented to perform the techniques of the invention . the computer network 20 includes a set of client computers 22 a - 22 d and a set of server computer 24 a - 24 d , which are linked by a transmission channel 26 , which may be any wired or wireless transmission channel . each server computer 22 includes a network connection 30 linked between the transmission channel 26 and a system bus 32 . a processor ( e . g ., a central processing unit ) 34 is also connected to the system bus 32 . a set of input / output devices 36 is also connected to the system bus 32 . by way of example , the set of input / output devices 36 may include a keyboard , mouse , display , printer , and the like . a memory 38 is also connected to the system bus . the memory 38 may be primary and / or secondary memory . the memory 38 stores a set of programs including a browser 40 or similar program to access and display information . each server computer 24 includes a network connection 50 positioned between the transmission channel 26 and a system bus 52 . a processor 54 is also connected to the system bus 52 , as is a set of input / output devices 56 . a memory 58 is also connected to the system bus 52 . the memory 58 stores data and programs including a database 60 and database utilities 62 , which are used to access and manipulate the data in the database 60 . the memory 58 also stores a cluster point selection module 64 . the cluster point selection module 64 implements techniques of the invention . in particular , the cluster point selection module 64 selects a set of cluster points from a set of data , as discussed below . after the cluster point selection module 64 selects cluster points , a clustering module 66 performs a clustering analysis on the set of data . standard techniques may be used to perform the clustering analysis . for example , the clustering module 66 may perform a standard k - means clustering analysis . the cluster module 66 produces clustered data . a cluster processor 68 may then process the clustered data . by way of example , the cluster processor 68 coordinates the display of the clustered data , coordinates the printing of the clustered data , and / or updates database records with the clustered data . a report generator 70 may be used to incorporate the clustered data into a report . a client computer 22 may use standard techniques to access and retrieve the clustered data . alternately , the clustered data may be accessed and retrieved at a server computer 24 . many of the components of fig1 are known in the art . the invention is directed toward the cluster point selection module 64 , which operates in connection with these known components or other components . the cluster point selection module 64 may be incorporated into a client computer 22 . the configuration of fig1 is shown by way of example . accordingly , it will be appreciated by those skilled in the art that the cluster point selection module 64 may be used in any number of standalone and networked configurations . fig2 illustrates a cluster point analysis performed in accordance with an embodiment of the invention . initially , data points to be clustered are identified ( block 80 ). thus , for example , utilities 62 may be used to isolate a set of data in the database 60 for clustering . cluster points are then selected ( block 82 ). the cluster point selection module 64 of the invention may be used in this operation . after an initial set of cluster points is selected , a cluster analysis is performed ( block 84 ). as previously indicated , a standard k - means cluster analysis may be performed in accordance with the invention . the cluster analysis produces a set of clusters . the clusters may then be processed ( block 86 ) using any number of conventional techniques . for example , the clusters may be processed by displaying or printing them on an output device 56 of the server 24 or at an output device 36 of a client 22 . the clusters may also be processed in such a manner as to update records in the database 60 . in addition , the clusters may be incorporated into a report by , for example , using the report generator 70 . the context in which the cluster point selection module 64 operates should now be fully appreciated . attention therefore turns to a more particularized discussion of the cluster point selection module 64 . the cluster point selection module 64 includes executable computer instructions used to implement the cluster point selection technique described herein . the executable computer instructions may be standalone instructions or they may ; be integrated into a clustering module 66 or other set of computer code . fig3 illustrates processing steps associated with one implementation of the cluster point selection module 64 of the invention . the first processing step of fig3 is to choose an initial cluster point ( block 90 ). the initial cluster point may be selected in a random manner in order to simplify processing . next , a cluster point relatively far from the initial cluster point is selected ( block 92 ). the relatively far cluster point may be the data point that is farthest from the initial cluster point . if there are two or more cluster points still to be selected ( block 94 ), then another cluster point is selected ( block 92 ). otherwise , a final cluster point is selected at a relatively large distance ( e . g ., the maximum distance ) from the data points ( block 96 ). this final cluster point is selected in such a manner that the final cluster point is not proximately positioned with respect to a cluster point that is at a large distance from the data points . this condition avoids the selection of two cluster points that are very dissimilar to all other data points . the foregoing verbal description of an embodiment of the cluster point selection technique of the invention can be characterized mathematically . suppose that the data for the n objects to cluster are available the form of a matrix , x , such that : x = ( x 1 ⁢ ⁢ x 2 ⁢ ⁢ … ⁢ ⁢ x n ) t = [ ⁢ x 11 x 12 … x 1 ⁢ p x 21 x 22 … x 2 ⁢ p ⋮ ⋮ x n1 x n2 … x np ⁢ ] suppose that the distance measure is the euclidean distance measure between object i and object j : d ⁡ ( i , j ) = ∑ k = 1 p ⁢ ⁢ ( x ik - x jk ) 2 the cluster point selection module 64 chooses k initial seeds for clustering . as previously indicated , the first seed can be chosen at random from the n data objects . alternately , wlog can be chosen as the first object . in either embodiment , this operation corresponds to block 90 of fig3 . a second cluster point farthest from the selected cluster point is then selected ( block 92 ). this can be expressed mathematically as follows : choose ⁢ ⁢ c 2 , 1 ≤ c 2 ≤ n , c 2 ≠ c 1 ⁢ s · t · d ⁡ ( c 1 , c 2 ) = max 1 ≤ j ≤ n , j ≠ c 1 ⁢ ( d ⁡ ( c 1 , j ) ) a final cluster point at a maximum distance from the remaining data points is then chosen , so long as that cluster point is not proximately positioned with respect to a cluster point that is at a large distance from the data points ( block 69 ). mathematically , this can be expressed as : choose c q , for 3 ≦ q ≦ k , where c q is chosen such that ∑ i = 1 q - 1 ⁢ ⁢ d ⁡ ( c i , c q ) is maximised for 1 ≦ c q ≦ n , c q ≠ c 1 , . . . , c q − 1 with the proviso that d ( c s − 1 , c q ) is not less than the lower quartile of the following data series : [ d ( c s − 1 , 1 ), d ( c s − 1 , 2 ), . . . , d ( c s − 1 , n )], for s = 1 , . . . , q . if this condition is not satisfied , then c , is chosen without being subject to that proviso . as previously indicated , this proviso avoids the choice of two cluster points that are very similar and that are both very dissimilar to all the other objects of the data set . the technique of the invention can alternately be characterized as shown ; in fig4 . the first operation of fig4 is to choose an initial cluster point from a data set and then proximate data points to the selected initial cluster point ( block 100 ). the initial cluster point may be chosen randomly . the proximate data points may be the set of data points that are within a predetermined percentage ( e . g ., 25 %) of closest data points in the set of all data points . in this example , the distance between the initial cluster point and all other data points can be measured to produce a list of ranked distances . the proximate data points can then be designated as the data points that are closer than a designated rank distance within the list of ranked distances . the data points can also be designated as the closest x data points within the list of ranked distances . a revised data set is then defined to exclude the selected cluster point and proximate data points ( block 102 ). an additional cluster point is then selected from the revised data set ( block 104 ). once again , a revised data set is defined to exclude the selected cluster point and proximate data points . if two or more cluster points still need to be selected ( block 108 ), then the acts of blocks 104 and 106 are performed once again . otherwise , a final cluster point is selected from the revised data based upon its distance from the selected cluster points ( block 110 ). these operations are more fully appreciated in connection with a specific example . table i data address data value 1 1 2 2 3 3 4 7 5 8 6 9 7 10 8 32 9 33 10 34 11 37 12 68 13 70 14 71 15 72 16 74 17 75 18 78 19 78 20 80 suppose that four clusters are required . therefore , four cluster points are to be selected . suppose that address 10 is selected at random , i . e ., the first cluster point is c 1 = 10 = 34 . that is , c 1 is address 10 , which has a data value of 34 . now , if the difference between the data value at the initial cluster point is compared to the data value at every other address , the following list of ranked values is created : the first entry in the list represents the difference between the value at address one ( i . e ., 1 ) and the value at address ten ( i . e ., 34 ); that is , 34 − 1 = 33 . the second entry in the list represents the difference between the value at address two ( i . e ., 2 ) and the value at address ten ( i . e ., 34 ) that is , 34 − 2 = 32 . as shown , this produces a list of distances from the initial cluster point . as shown , in the list , the closest data points are at address 8 ( i . e ., a value of 2 ), address 9 ( i . e ., a value of 1 ), . and address 11 ( i . e ., a value of 3 ). thus , the initial cluster point and this lower quartile of all data points can be defined as a revised data set ( block 102 ). in other words , the initial cluster point x 10 and its proximate cluster points x 8 , x 9 , x 11 can now be excluded from becoming cluster points . using this revised data set , a cluster point that is relatively far from the initial cluster is selected ( block 104 ). relying upon the previous example , the greatest distance from the address value of 10 ( i . e ., data value of 34 ) is at address value 20 ( i . e ., data value 80 ). therefore , the second cluster point is at address 20 . in other words , c 2 = 20 , since x c 2 = x 20 = 80 is furthest away from x c 1 = x 10 = 34 . a revised data set is then defined to exclude the selected cluster point and its proximate data points ( block 106 ). once again , taking the difference in the value between the cluster point and the remaining values produces a list of distances : in this case , the smallest distances are at address 17 ( i . e ., a value of 5 ), address 18 ( i . e ., a value of 2 ) and address 19 ( i . e ., a value of 2 ). thus , the second cluster point x 20 and its proximate cluster points x 17 , x 18 , x 19 , can be excluded from a refined data set . suppose now that another cluster point is to be chosen ( block 108 — yes ). in this case , the operations of block 104 are repeated . that is , a third cluster point c 3 is chosen , namely : ∑ i = 1 2 ⁢ ⁢ d ⁡ ( c i , c 3 ) is maximised for 1 ≦ c 3 ≦ n , c 3 ≠ c 1 , c 2 such that c 3 ≠ 8 , 9 , 10 , 11 , 17 , 18 , 19 , 20 , since these objects or addresses have either been used as cluster points or have been excluded in view of their proximity to cluster points . in this case , c 3 = 1 since d ( 10 , 1 )+ d ( 20 , 1 )= 112 which is maximum . therefore , address 1 is chosen as the next cluster point because of its distance from the selected cluster points ( block 104 ). a revised data set is then defined ( block 106 ). as done before , the distance between the new cluster point and the remaining cluster points is measured to produce a list : this list can be used to identify the fact that addresses x 2 , x 3 , x 4 are most proximate to the newly selected cluster point . accordingly , the revised data set now excludes x 1 , x 2 , x 3 , x 4 . suppose now that a final cluster point needs to be selected ( block 108 — no ). at this juncture , a final cluster point is selected from the revised data set . in particular , the final cluster point is selected as the data point in the revised data set that is farthest from the selected cluster points . in other words , the fourth cluster point , ∑ i = 1 3 ⁢ ⁢ d ⁡ ( c i , c 4 ) is maximised for 1 ≦ c 4 ≦ n , c 4 ≠ c 1 , c 2 , c 3 such that c 4 ≠ 2 , 3 , 4 , 8 , 9 , 10 , 11 , 17 , 18 , 19 , 20 as these objects have either been used as seeds or have been excluded from being seeds . in this example , c 4 = 16 since d ( 10 , 16 )+ d ( 20 , 16 )+ d ( 1 , 16 )= 119 which is maximum . at this point , the initial seeds have been chosen as the values : 34 ( address 10 ), 80 ( address 20 ), 1 ( address 1 ), and 74 ( address 16 ). those skilled in the art will appreciate that the technique of the invention can be implemented with relatively low computational overhead . thus , the cluster points can be selected rapidly . despite their rapid selection , the seeds are well distributed within the data set , rendering successful clustering analyses , as discussed below . in order to assess the performance of the technique of the invention , the results achieved in accordance with the invention can be compared to other methods for determining initial cluster points . in particular , the performance results for the technique of the invention can be compared to a random selection of cluster points and the selection of the first k data points . in this performance analysis , the same k - means clustering algorithm was used on each set of selected cluster points . the following results are shown together with a measure of the effectiveness of the clustering . relying upon the previous one - dimensional problem of clustering people according to their age , the data set is defined as : x =( 1 , 2 , 3 , 7 , 8 , 9 , 10 , 32 , 33 , 34 , 37 , 68 , 70 , 71 , 72 , 74 , 75 , 78 , 78 , 80 ). as discussed above , the technique of the invention produces cluster points at the values of 34 , 80 , 1 , and 74 . based upon these cluster points , the clustering analysis produces the following groups : ( 1 , 2 , 3 , 7 , 8 , 9 , 10 ) ( 32 , 33 , 34 , 37 ) ( 68 , 70 , 71 , 72 , 74 ) ( 75 , 78 , 78 , 80 ) a random selection of cluster points and a subsequent clustering analysis produces the following groups : ( 1 , 2 , 3 , 7 , 8 , 9 , 10 ) ( 32 , 33 ) ( 34 , 37 ) ( 68 , 70 , 71 , 72 , 74 , 75 , 78 , 78 , 80 ) selecting the first k data points and a subsequent clustering analysis produces the following groups : ( 1 , 2 , 3 ) ( 7 , 8 , 9 , 10 ) ( 32 , 33 , 34 , 37 ) ( 68 , 70 , 71 , 72 , 74 , 75 , 78 , 78 , 80 ) the error sum of squares ( ess ), equivalent to the within group sum of squares , is a measure of the information loss of a particular clustering , the lower the value the better the grouping . ess = ∑ i = 1 n ⁢ ⁢ d i , c ⁡ ( t ) 2 , where d i , c ( i ) is the euclidean distance from individual i , to the mean of the cluster to which it is assigned . accordingly , it can be seen that the technique of the invention results in a clustering that has the lowest information loss . the foregoing description , for purposes of explanation , used specific nomenclature to provide a through understanding of the invention . however , it will be apparent to one skilled in the art that specific details are not required in order to practice the invention . thus , the foregoing descriptions of specific embodiments of the invention are presented for purposes of illustration and description . they are not intended to be exhaustive or to limit the invention to the precise forms disclosed ; obviously , many modifications and variations are possible in view of the above teachings . the embodiments were chosen and described in order to best explain the principles of the invention and its practical applications , the thereby enable other skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated . it is intended that the following claims and their equivalents define the scope of the invention .