SlowGuess/NeurIPS_2023_OCR huggingface dataset:
$$
L = \{i \} \cup \{\ell \in \mathbb {Z}: i <   \ell \leq n, | x _ {\ell} - x _ {i} | ^ {z} <   a _ {i} \}.
$$
We have  $\eta(i, u + 1) = 0$  also for  $E_3$ , so one can also simply choose  $E^* = E_4$ . Choosing  $E^* = E_3 \cup E_4$  helps us get improved constants in our bound.
Therefore, if we further condition on  $t^{*} = t_{0}$ , we have  $\ell_{t_0} \in L$  and
$$
\Pr \left[ \ell_ {t _ {0}} = \ell | H, t ^ {*} = t _ {0} \right] = \frac {a _ {\ell}}{\sum_ {j \in L} a _ {j}} \quad \text {f o r e v e r y} \ell \in L. \tag {17}
$$
When  $t^* = t_0$ , we have  $\eta(i, u + 1) = \ell_{t_0} - i$ . Therefore, to prove (16), it suffices to show that
$$
\mathbb {E} \left[ \ell_ {t _ {0}} - i | H, t ^ {*} = t _ {0} \right] \leq \frac {2 ^ {z / 2}}{2 ^ {z / 2} + 1} \eta (i, u) - \frac {1}{2}. \tag {18}
$$
It is clear that we can write  $L$  as  $L = \{i, i + 1, \ldots, \ell^{*}\}$  for some integer  $\ell^{*} \geq i$ . If  $u > 0$ , Claim C.2 implies  $a_{i} \leq |x_{i} - x_{\ell_{t(i,u)}}|^{z}$ , and thus  $\ell^{*} < \ell_{t(i,u)}$  and  $\ell^{*} - i \leq \ell_{t(i,u)} - i = \eta(i,u)$ . If  $u = 0$ , we have  $\eta(i,u) = n$ , so it also holds that  $\ell^{*} - i \leq \eta(i,u)$ . By (17) and Lemma C.6, we can set  $\gamma = 2^{z}$  in Lemma C.8 to get
$$
\mathbb {E} [ \ell_ {t _ {0}} - i | H, t ^ {*} = t _ {0} ] \leq \frac {2 ^ {z / 2}}{2 ^ {z / 2} + 1} (\ell^ {*} - i) - \frac {1}{2} \leq \frac {2 ^ {z / 2}}{2 ^ {z / 2} + 1} \eta (i, u) - \frac {1}{2}.
$$
This proves (18) and thus proves the lemma.
C.1 Helper Lemmas
Lemma C.7. Let  $M \geq 1$  and  $\lambda \in (0,1)$  be parameters. Let  $\alpha_0, \alpha_1, \ldots \in [0, +\infty)$  be random variables satisfying  $\alpha_0 = M$  and  $\mathbb{E}[\alpha_{i+1} | \alpha_1, \ldots, \alpha_i] \leq \lambda \alpha_i$  for every  $i = 0, 1, \ldots$ . Let  $t \geq 0$  be the smallest integer satisfying  $\alpha_t < 1$ . Then
$$
\mathbb {E} [ t ] \leq \frac {\ln M}{\ln (1 / \lambda)} + \frac {1}{1 - \lambda}.
$$
Proof. For every  $j = 0,1,\ldots$ , we define a random variable  $t_j \coloneqq \min \{t,j\}$ . By the monotone convergence theorem, it suffices to show that
$$
\mathbb {E} \left[ t _ {j} \right] \leq \frac {\ln M}{\ln (1 / \lambda)} + \frac {1}{1 - \lambda} \quad \text {f o r e v e r y} j = 0, 1, \dots . \tag {19}
$$
We prove (19) by induction on  $j$ . When  $j = 0$ , we have  $t_j = 0$ , and the inequality above holds trivially. We assume that (19) holds for an arbitrary  $j \in \mathbb{Z}_{\geq 0}$  and show that it also holds with  $j$  replaced by  $j + 1$ . We have
$$
\mathbb {E} \left[ t _ {j + 1} \right] = 1 + \mathbb {E} \left[ t _ {j + 1} - 1 \right] = 1 + \mathbb {E} \left[ \mathbb {E} \left[ \left(t _ {j + 1} - 1\right) \mid \alpha_ {1} \right] \right]. \tag {20}
$$
By our definition of  $t_{j+1}$ , we have  $t_{j+1} - 1 = \min \{t - 1, j\}$ . Applying our induction hypothesis on the sequence  $\alpha_1, \alpha_2, \ldots$ , we have
$$
\mathbb {E} \left[ \left(t _ {j + 1} - 1\right) \mid \alpha_ {1} \right] = \mathbb {E} \left[ \min  \{t - 1, j \} \mid \alpha_ {1} \right] \leq f (\alpha_ {1}), \tag {21}
$$
$$
f (\alpha) = \left\{ \begin{array}{l l} \frac {\alpha}{1 - \lambda}, & \text {i f} \alpha \in [ 0, 1); \\ \frac {\ln \alpha}{\ln (1 / \lambda)} + \frac {1}{1 - \lambda}, & \text {i f} \alpha \geq 1. \end{array} \right.
$$
It is easy to check that  $f$  is an increasing concave function of  $\alpha \in [0, +\infty)$  and  $1 + f(\lambda \alpha) \leq f(\alpha)$  holds for every  $\alpha \geq 1$ . Plugging (21) into (20), we have
$$
\mathbb {E} \left[ t _ {j + 1} \right] \leq 1 + \mathbb {E} \left[ f \left(\alpha_ {1}\right) \right] \leq 1 + f \left(\mathbb {E} \left[ \alpha_ {1} \right]\right) \leq 1 + f (\lambda M) \leq f (M) = \frac {\ln M}{\ln (1 / \lambda)} + \frac {1}{1 - \lambda}.
$$
Lemma C.8. Let  $\gamma \geq 1$  be a real number. Let  $\beta_0, \ldots, \beta_{m-1}$  be non-negative real numbers such that for every  $i, j \in \{0, \ldots, m-1\}$  satisfying  $i \leq j$ , it holds that  $\beta_j \leq \gamma \beta_i$ . Then,
$$
\sum_ {i = 0} ^ {m - 1} i \beta_ {i} \leq \left(\frac {\sqrt {\gamma} \cdot m}{\sqrt {\gamma} + 1} - \frac {1}{2}\right) \sum_ {i = 0} ^ {m - 1} \beta_ {i}.
$$
Proof. The lemma holds trivially if  $\beta_0 = 0$  because in this case  $\beta_j \leq \gamma \beta_0 = 0$  for every  $j = 0, \dots, m - 1$ . We thus assume w.l.o.g. that  $\beta_0 > 0$ . Define  $\tau$  to be the unique real number satisfying
$$
\tau \sum_ {i = 0} ^ {m - 1} \beta_ {i} - \sum_ {i = 0} ^ {m - 1} i \beta_ {i} = 0.
$$
It is clear that  $\tau \in [0,m - 1]$ . Our goal is to prove that
$$
\tau \leq \frac {\sqrt {\gamma} \cdot m}{\sqrt {\gamma} + 1} - \frac {1}{2}. \tag {22}
$$
Define  $\beta_{*} := \min_{0 \leq i \leq \tau} \beta_{i}$ . For every  $i = 0, \dots, m - 1$ , we have  $\beta_{i} \geq \beta_{*}$  if  $i \leq \tau$ , and  $\beta_{i} \leq \gamma \beta_{*}$  if  $i > \tau$ . Therefore, defining  $s := \lfloor \tau \rfloor$ , we have
$$
\begin{array}{l} 0 = \tau \sum_ {i = 0} ^ {m - 1} \beta_ {i} - \sum_ {i = 0} ^ {m - 1} i \beta_ {i} \\ = \sum_ {i = 0} ^ {m - 1} (\tau - i) \beta_ {i} \\ \geq \sum_ {i \leq \tau} (\tau - i) \beta_ {*} + \sum_ {i > \tau} (\tau - i) \gamma \beta_ {*} (23) \\ = \frac {(s + 1) (2 \tau - s)}{2} \cdot \beta_ {*} + \frac {(m - s - 1) (2 \tau - m - s)}{2} \cdot \gamma \beta_ {*}. (24) \\ \end{array}
$$
Now, we show that  $\beta_{*} > 0$ . For the sake of contradiction, assume  $\beta_{*} = 0$ . We already assumed that  $\beta_0 > 0$ , so  $\beta_{*}\neq \beta_{0}$ . By the definition of  $\beta_{*}$ , this means that  $\tau >0$  and inequality (23) is strict, leading to the false claim of
$$
0 > \sum_ {i \leq \tau} (\tau - i) \beta_ {*} + \sum_ {i > \tau} (\tau - i) \gamma \beta_ {*} = 0.
$$
Therefore,  $\beta_{*} > 0$  must hold. Now we know that (24) implies
$$
(s + 1) (2 \tau - s) + (m - s - 1) (2 \tau - m - s) \gamma \leq 0.
$$
Treating  $s$  as a real-valued variable, the left-hand side is minimized when  $s = \tau - 1/2$ , giving us
$$
(\tau + 1 / 2) ^ {2} - (m - \tau - 1 / 2) ^ {2} \gamma \leq 0.
$$
The inequality above implies
$$
(\tau + 1 / 2) ^ {2} \leq (m - \tau - 1 / 2) ^ {2} \gamma .
$$
Taking square root for both sides and solving for  $\tau$  gives (22).
D Data Structure for Fast Sampling in Seeding
In Appendix C, our Algorithm 1 uses a binary tree data structure  $S$  that keeps track of  $n$  nonnegative numbers  $s_1, \ldots, s_n$  and supports several operations. Here, we describe the implementation of this data structure. We assume that  $n = 2^q$  for some nonnegative integer  $q$ . This is without loss of generality because we can choose  $n'$  to be the number that satisfy  $n \leq n' < 2n$  and  $n' = 2^q$  for some  $q \in \mathbb{Z}_{\geq 0}$  and consider  $s_1, \ldots, s_n, s_{n+1}, \ldots, s_{n'}$  with  $s_{n+1} = \cdots = s_{n'} = 0$ . Under this assumption, the data structure  $S$  is a complete binary tree with  $q + 1$  layers indexed by  $0, \ldots, q$ . In each layer  $\zeta = 0, \ldots, q$  there are  $2^{\zeta}$  nodes each corresponding to a set of indices from  $\{1, \ldots, n\}$ . The root, denoted by  $v_1^{(0)}$ , is the unique node in layer 0 and it corresponds to the entire set  $V_1^{(0)} := \{1, \ldots, n\}$ . For  $\zeta = 0, \ldots, q - 1$ , each node  $v_j^{(\zeta)}$  in the  $\zeta$ -th layer has two children  $v_{2j-1}^{(\zeta+1)}, v_{2j}^{(\zeta+1)}$  in the  $(\zeta+1)$ -th layer corresponding to the sets  $V_{2j-1}^{(\zeta+1)}, V_{2j}^{(\zeta+1)}$ , respectively, where  $V_{2j-1}^{(\zeta+1)}$  is the smaller half of  $V_j^{(\zeta)}$  and  $V_{2j}^{(\zeta+1)}$  is the larger half. Thus,
$$
V _ {j} ^ {(\zeta)} = \left\{i \in \mathbb {Z}: (j - 1) 2 ^ {q - \zeta} <   i \leq j 2 ^ {q - \zeta} \right\}.
$$
Each node  $v_{j}^{(\zeta)}$  in the tree stores a sum  $s_{j}^{(\zeta)} := \sum_{i \in V_{j}^{(\zeta)}} s_{i}$ .
The data structure supports the four types of operations needed in Appendix C as follows:
Figure 5: An example of a basic binary tree data structure with  $q = 3$ .
1. Initialize(a). Recursively run Initialize on the first half  $(a_{1},\dots ,a_{n / 2})$  and the second half  $(a_{n / 2 + 1},\ldots ,a_n)$  to obtain the two subtrees rooted at  $v_{1}^{(1)}$  and  $v_{2}^{(1)}$ . Then add a root  $v_{1}^{(0)}$  that stores  $s_1^{(0)}\gets s_1^{(1)} + s_2^{(1)}$ .
2.  $\operatorname{Sum}(S)$ . Simply output  $s_1^{(0)}$ .
3. Find  $(S, r)$ . If  $r < s_1^{(1)}$ , recursively call Find on the left subtree rooted at  $v_1^{(1)}$ . Otherwise, recursively call Find on the right subtree rooted at  $v_2^{(1)}$  with  $r$  replaced by  $r - s_1^{(1)}$ . Once we reach a leaf  $v_\ell^{(q)}$ , return  $\ell$ .
4. Update  $(S, a, i_1, i_2)$ . If  $i_2 \leq n/2$ , recursively call Update on the left subtree rooted at  $v_1^{(1)}$ . If  $i_1 > n/2$ , recursively call Update on the right subtree rooted at  $v_2^{(1)}$ . Otherwise, we have  $i_1 \leq n/2 < i_2$  and we call Update on the left subtree with indices  $i_1, n/2$  and call Update on the right subtree with indices  $n/2 + 1, i_2$ . In all cases, we update  $s_1^{(0)} \gets s_1^{(1)} + s_2^{(1)}$  as the final step. The running time is proportional to the number of nodes we update. We need to update  $s_j^{(\zeta)}$  stored at  $v_j^{(\zeta)}$  only if  $V_j^{(\zeta)} \cap \{i_1, \ldots, i_2\} \neq \emptyset$ . For each  $\zeta$ , the number of such  $j$  is at most  $(i_2 - i_1 + 1)/2^{q - \zeta} + 2$ . Summing up over  $\zeta = 0, \ldots, q$ , the total number of nodes we need to update is  $O((i_2 - i_1 + 1) + q) = O((i_2 - i_1 + 1) + \log n)$ .
E Additional Experiments and Data
In this section, we provide the tables for speedups and absolute running times of the experiments performed in Section 3. Additionally, we provide some experimental data for the algorithmic approach described in Theorem 2.3.
E.1 Improved Approximation Ratio
Experimental Setup. This experiment aims to compare the algorithmic approach outlined in Theorem 2.3 to the direct use of PRONE as a clustering algorithm as was done in Section 3.2. For this, we use PRONE as the approximation algorithm for sensitivity sampling and then cluster the coreset using a weighted variant of the  $k$ -means++ algorithm. This approach is termed PRONE (boosted) in the rest of this section. This pipeline requires as parameters the number of centers  $k$  and a hyperparameter  $\alpha$  indicating the size of the coreset produced by sensitivity sampling. We aim to compare the clustering cost (see Definition A.1) and running time of our approach to that of  $k$ -means++.
We run both algorithms on the datasets described in Section 3 and choose  $k \in \{10,25,50,100,250,500,1000,2500,5000\}$  and  $\alpha \in \{0.001,0.01,0.1\}$ . Each algorithm is run 5 times.
Results on Improved Approximation Ratio Costs. Figure 6 shows the costs of centers produced by this algorithm relative to the cost of centers produced by  $k$ -means++. It also contains the  $(k,2)$ -
Figure 6: Clustering cost of the boosted variants compared to  $k$ -means++. Lines in the plot show the cost of centers produced by the boosted algorithm relative to  $k$ -means++. for centers ranging from 10 to 5000. Dark blue indicates the non-boosted version.
clustering costs of PRONE relative to  $k$ -means++. We can see that on all real datasets, PRONE (boosted) produces solutions of the same or better quality than  $k$ -means++, as long as  $\alpha n \ll k$ . This shows that although PRONE by itself produces centers of worse quality, the PRONE (boosted) variant produces centers of the same quality as vanilla  $k$ -means++. When  $\alpha n \approx k$ , we observe an uptick in cost before the end of the lines corresponding to  $\alpha \in \{0.1, 0.01\}$  in the plots for KDD, Song, and Gaussian. The boosted approach outperforms PRONE, which is usually worse by a constant factor compared to the other algorithms, and it helps to reduce significantly the amount of variance in the quality of solutions. On the Gaussian dataset, we observed a failure to sample a point from the central cluster, which explains the spike at  $k = 2500$  for the line corresponding to  $\alpha = 0.1$ .
Running time. Table 2 shows the speedup of the boosted approach versus using plain  $k$ -means++, for the time taken to compute the centers. The running time of our algorithms now scales with  $k$ , but at a slower rate compared to  $k$ -means++, as we have to run it on a much smaller dataset. Once again, we observe significant speedups, especially as  $k$  grows large.
- As expected, the speedup depends on the choice of the hyperparameter  $\alpha$ . We observe diminishing returns for larger  $\alpha$  as  $k$  scales, with the speedup remaining mostly constant for  $k \geq 100$  across datasets, except for Gaussian. This is due to the algorithm's running time being dominated by the time it takes to execute  $k$ -means++ on the coreset, which has  $O(ndk)$  asymptotic running time. The speedups we can achieve using this method are significant, up to  $118x$  faster than  $k$ -means++. We expect that on massive datasets, even greater speedups can be achieved.
- Interestingly, the speedup can come very close to or even out scale  $\alpha$ , as observed on the KDD and Song datasets. The final stage of the boosted approach executes  $k$ -means++ on a coreset of size  $\alpha n$ , so the running time of this step should be  $O(\alpha nd k)$ . The observed additional speedup may be due to better cache and memory utilization in the  $k$ -means++ step of the algorithm.
Dataset	Centers Algorithm	10	25	50	100	250	500	1000	2500	5000
Census	PRONE (boosted, α = 0.001)	1.6	4.0	7.9	15.6	36.8	69.5	118.5	-	-
PRONE (boosted, α = 0.01)	1.5	3.7	6.7	11.7	20.8	28.5	30.1	36.2	41.9
PRONE (boosted, α = 0.1)	1.0	1.8	2.3	2.7	3.0	3.2	3.0	3.0	3.2
k-means++	1.0	1.0	1.0	1.0	1.0	1.0	1.0	1.0	1.0
Song	PRONE (boosted, α = 0.001)	2.1	5.3	10.7	21.3	51.7	97.5	-	-	-
PRONE (boosted, α = 0.01)	2.1	5.0	9.8	18.5	38.0	59.1	81.5	108.3	117.0
PRONE (boosted, α = 0.1)	1.3	2.2	2.8	3.4	3.8	4.0	4.0	4.0	3.9
k-means++	1.0	1.0	1.0	1.0	1.0	1.0	1.0	1.0	1.0
KDD	PRONE (boosted, α = 0.001)	1.8	5.0	9.6	20.6	-	-	-	-	-
PRONE (boosted, α = 0.01)	1.9	4.8	9.0	17.5	37.1	59.2	92.5	-	-
PRONE (boosted, α = 0.1)	1.4	2.7	3.6	4.9	5.7	6.2	7.1	6.6	6.4
k-means++	1.0	1.0	1.0	1.0	1.0	1.0	1.0	1.0	1.0
Gaussian	PRONE (boosted, α = 0.001)	0.5	0.9	1.9	3.6	-	-	-	-	-
PRONE (boosted, α = 0.01)	0.5	1.0	2.0	3.4	8.2	14.8	25.6	-	-
PRONE (boosted, α = 0.1)	0.4	0.8	1.4	2.2	4.0	5.0	6.1	6.8	7.2
k-means++	1.0	1.0	1.0	1.0	1.0	1.0	1.0	1.0	1.0
Table 2: Average speedup when computing a clustering and assignment for different datasets relative to k-means++. In other words, each cell contains  $T_{k - \text{means} + + } / T_{\text{PRONE}}$ . Missing entries denote the case of  $\alpha n > k$ .
E.2 Additional Data
In this section, we provide the running time data for the full range of parameters for the experiments performed in Section 3.2. Table 3 shows the speedups over  $k$ -means++, analogous to the right-hand-side table in Table 1. Additionally, Table 4 provides absolute running times in milliseconds.
Dataset	Centers Algorithm	10	25	50	100	250	500	1000	2500	5000
Census	PRONE	1.5	3.8	7.5	15.1	36.2	73.2	142.2	351.9	662.5
PRONE (variance)	0.5	1.1	2.2	4.6	11.0	22.2	43.7	109.5	214.7
PRONE (covariance)	0.2	0.5	1.1	2.2	5.2	10.7	21.0	54.7	117.4
k-means++	1.0	1.0	1.0	1.0	1.0	1.0	1.0	1.0	1.0
Song	PRONE	2.0	5.0	9.7	19.1	46.1	95.5	188.2	443.0	837.5
PRONE (variance)	0.5	1.1	2.3	4.5	11.4	23.1	44.2	110.9	217.2
PRONE (covariance)	0.2	0.4	0.8	1.5	4.0	8.2	15.5	40.0	82.4
k-means++	1.0	1.0	1.0	1.0	1.0	1.0	1.0	1.0	1.0
KDD	PRONE	1.5	3.7	6.9	16.3	39.5	68.3	158.5	414.7	727.5
PRONE (variance)	0.7	1.7	3.1	6.3	16.1	32.0	63.4	159.6	312.4
PRONE (covariance)	0.3	0.7	1.3	2.6	6.8	12.9	25.8	58.5	128.4
k-means++	1.0	1.0	1.0	1.0	1.0	1.0	1.0	1.0	1.0
Gaussian	PRONE	0.5	1.0	1.9	3.8	9.2	18.3	35.7	85.3	165.9
PRONE (variance)	0.5	1.0	2.0	3.8	9.1	17.7	34.5	83.6	162.9
PRONE (covariance)	0.4	1.0	1.7	3.6	8.2	16.1	31.8	79.9	152.6
k-means++	1.0	1.0	1.0	1.0	1.0	1.0	1.0	1.0	1.0
Table 3: Average speedup when computing a clustering and assignment for different datasets relative to k-means++. In other words, each cell contains  $T_{k - \text{means} + + } / T_{\text{PRONE}}$ .
Dataset	Centers Algorithm	10	25	50	100	250	500	1000	2500	5000
Census	PRONE	525.1 ± 15.3	534.3 ± 23.4	534.6 ± 20.8	530.1 ± 15.4	538.9 ± 15.2	533.9 ± 11.7	547.4 ± 23.8	548.2 ± 13.5	563.7 ± 8.7
PRONE (variance)	1750.6 ± 71.7	1778.9 ± 38.1	1780.3 ± 23.9	1752.7 ± 56.9	1768.6 ± 28.2	1757.6 ± 37.8	1778.9 ± 27.5	1761.0 ± 73.3	1739.6 ± 10.9
PRONE (covariance)	3769.0 ± 152.2	3882.5 ± 167.8	3743.9 ± 316.7	3714.2 ± 378.3	3766.4 ± 220.2	3662.9 ± 122.6	3708.7 ± 372.4	3525.6 ± 609.9	3182.2 ± 288.7
k-means++	812.5 ± 20.9	2040.6 ± 25.6	3994.3 ± 25.3	7992.9 ± 91.5	19519.0 ± 161.5	39058.4 ± 337.8	77823.6 ± 527.5	192913.1 ± 3657.0	373488.2 ± 221.9
Song	PRONE	104.4 ± 5.5	101.8 ± 5.2	106.5 ± 4.1	109.9 ± 6.8	113.7 ± 8.8	109.0 ± 6.4	108.7 ± 3.9	117.2 ± 6.3	120.8 ± 12.9
PRONE (variance)	443.3 ± 5.0	448.3 ± 8.0	450.1 ± 9.9	468.0 ± 31.6	458.8 ± 15.1	450.7 ± 10.0	462.6 ± 11.6	468.3 ± 14.0	465.7 ± 14.9
PRONE (covariance)	1164.4 ± 162.1	1266.5 ± 136.6	1332.4 ± 116.3	1381.8 ± 108.4	1322.2 ± 173.4	1263.0 ± 175.6	1324.2 ± 108.4	1296.8 ± 177.8	1228.0 ± 175.2
k-means++	207.4 ± 4.0	513.7 ± 9.8	1036.6 ± 17.0	2103.9 ± 44.2	5245.9 ± 143.6	10412.5 ± 119.3	20464.1 ± 196.9	51917.4 ± 554.3	101149.0 ± 1962.7
KDD	PRONE	31.2 ± 5.2	32.2 ± 7.4	34.1 ± 1.8	28.9 ± 4.9	29.2 ± 9.1	34.6 ± 6.3	30.8 ± 8.6	28.8 ± 5.2	33.4 ± 6.6
PRONE (variance)	72.0 ± 1.4	71.8 ± 1.4	76.5 ± 7.2	75.1 ± 7.1	71.8 ± 1.2	73.9 ± 2.1	77.0 ± 4.6	74.7 ± 3.2	77.7 ± 5.9
PRONE (covariance)	169.3 ± 2.9	173.5 ± 5.5	180.3 ± 13.1	184.1 ± 21.2	170.8 ± 8.9	182.6 ± 19.0	188.7 ± 16.9	204.1 ± 40.3	189.1 ± 11.6
k-means++	48.0 ± 0.3	119.3 ± 3.7	233.9 ± 3.2	470.4 ± 11.6	1153.5 ± 2.1	2363.3 ± 108.6	4878.1 ± 171.1	11928.9 ± 234.3	24285.9 ± 243.8
Gaussian	PRONE	30.0 ± 2.3	29.1 ± 2.2	30.6 ± 3.3	29.1 ± 1.4	29.1 ± 1.0	28.7 ± 0.2	29.3 ± 0.4	30.2 ± 0.6	31.5 ± 0.6
PRONE (variance)	29.8 ± 3.0	28.9 ± 0.3	29.5 ± 1.0	29.6 ± 0.6	29.6 ± 0.3	29.6 ± 0.4	30.2 ± 0.3	30.8 ± 0.2	32.1 ± 0.6
PRONE (covariance)	31.8 ± 2.2	31.5 ± 2.1	34.6 ± 6.6	30.8 ± 0.3	32.7 ± 2.8	32.6 ± 2.4	32.8 ± 2.3	32.2 ± 0.5	34.3 ± 0.4
k-means++	13.7 ± 2.2	30.0 ± 0.4	59.5 ± 2.2	111.5 ± 2.8	268.6 ± 1.5	525.3 ± 1.9	1043.3 ± 1.4	2575.3 ± 5.0	5229.6 ± 135.0
Table 4: Average running time and standard deviation in milliseconds when computing a clustering and assignment for different datasets relative to k-means++.