Hi peers,
In this essay, I will talk about single-linkage clustering (SLC) algorithm. I will first give the problem definition of clustering problem. With proper concepts being introduced, I then give a snippet of pseudocodes for the SLC algorithm. Finally, I will give you the proof of correctness for this algorithm.
Problem Definition – Clustering Algorithm
Intuition: Given a set of points P: {p_1, p_2, … p_n}, we want to output k sets of clusters C: {C_1, C_2, …, C_k} such that the spacing of this set of clusters is maximized. k is also an predefined input.
Important Concepts:
- Cluster: a group of points
- Distance between points: the Euclidean distance between points. D: {d_12, d_13, …, d_n/n-1} denotes the set of all possible distances between every pair of points in P. d_ij denotes the distance between the point i and point j.
- Distance between two clusters C_m and C_n: the minimum distance among all possible