**8. Conclusions**

Assume the algorithm for Z = Zo has been inserted before the start of the Outer Loop, as

) = s.

) = s2(v<sup>2</sup>

Insert the prelude to Case (1) followed by Case (3) (excluding the modification above

Copy = False (where Copy indicates whether a copy is made of the arrays indicated in the

Each time Case (2) yields a new value of Znext (after checking for both k′ and k″ for Z = Zo)

As before, we adopt the convention whereby the loop is bypassed if v<sup>3</sup> = 1 but will be executed on the iteration where

,Ek

); v<sup>2</sup> : = v<sup>2</sup> –1.

) = s, and Z(v<sup>2</sup>

, MinCostA(k), k ∈K and the arrays L(i),

) = Znext.

indicated in Section 7.1.

148 Recent Applications in Data Clustering

**Preliminary Loop**

v: = v + 1 s = s3(v)

)

modification below).

v: = v + 1 results in v = v<sup>3</sup>

v = 1

While v < v3

EndWhile<sup>2</sup>

Set s = s3(v<sup>3</sup>

2

Set v\* = Max(v: s3(v) < s2(v<sup>2</sup>

*Modification of Initialization(B) for Z = Zo only*:

*Modification of the Inner Loop for all Z*:

*Modification After the Inner Loop for all Z*:

*Modification Before the Inner Loop for Z > Zo*:

(After Initialization(A) and Initialization(B))

that adds v3 = v<sup>3</sup> + 1; s3(v<sup>3</sup>

**7.3. Modifications involving additional memory**

*Added Modification to Initialization for Z = Zo*:

A*dded Modification of the Inner Loop for all Z*:

.

record a copy of ne, the set K and arrays N<sup>k</sup>

Add v<sup>2</sup> = v<sup>3</sup> = 1; s2(1) = s3(1) = 1 and Z(1) = Large.

In Case (3) upon adding e(s): set v<sup>3</sup> = v<sup>3</sup> + 1; s3(v<sup>3</sup>

In Case (2) when Znext is updated (reduced): set v<sup>2</sup> = v<sup>2</sup> + 1; s2(v<sup>2</sup>

Following the instructions Z = Znext, and sLast = sEnd:If v<sup>2</sup> = 1, terminate.

Insert a Preliminary Loop before the Inner Loop for Z > Zo as follows:

)); v<sup>3</sup> = v\* + 1; s3(v<sup>3</sup>

) = s)

The new classes of tree-based clustering algorithms represented by C(W), C(Y) and in the most general case by C(Z), afford the possibility to generate clusters with a range of different characteristics as the parameters W, Y and Z are varied. The fact that the key parameter can be varied adaptively to generate all cluster collections in its class without duplication invites empirical studies to identify parameter ranges that are effective for particular types of clustering applications.

The C(Z) Algorithm can be made still more general by changing the implicit definition of MinCostC(i) for i = i′ and i″ by defining MinCostA(k), for k = k′ and k″, to be any convex combination of the costs of edges in the set E(N<sup>k</sup> ) = {e = (i,j) ∈ N<sup>k</sup> }⊂ E (hence (N<sup>k</sup> ,E(N<sup>k</sup> )) is the subgraph of G spanned by the nodes of N<sup>k</sup> ) and defining MinCostB(i) to be any convex combination of the edges of E(N<sup>k</sup> ) that are adjacent to node i in G. However, this requires updating these MinCost values in a more complex way than in the current form of Case (3).

Future work to exploit the properties of these algorithms can include an investigation of the choice of the parameter α (and hence β = 1 – α) in Algorithm C(Z) to similarly determine ranges that are effective for particular types of clustering applications.
