## 3 The Model of IKDC
### Using K-Induction to Assign Remaining Points  
After the final core domains of the cluster are determined by Algorithm 1, K-induction is used to assign the other remaining points to the boundary region of the determined cluster. The main idea is that, for a point \(p\), the \(K\) neighbors of its surrounding can be regarded as \(K\) pieces of information, and by fusing this information, \(p\) is derived as to which cluster it belongs to. The K-induction expands the search range by integrating neighbor information of its neighbor, which effectively avoids the transfer of bad labels. It can not only avoid the limitation caused by only considering neighbor information, but also reduce the time consumed when searching for global information. Therefore, this paper first calculates the K-induction between the leftover point \(p\) and the surrounding \(K\)-neighbor and, secondly allocates the leftover points to the cluster where the point withthe maximum K-induction is located. At this time, two situations may occur: (1) If there is only one neighbor \(q_{j}\) with the maximum K-induction, it allocates the point \(p\) to the boundary domains of the cluster where the neighbor with the largest K-induction is located. If \(q_{j}\) has not been assigned, it continues to iterate until the most suitable cluster is found; (2) If there are two or more neighbor points with the maximum K-induction, then it assigns the points to the boundary domains of the clusters where these neighbor points are located. If these neighbor points have not been assigned, then it continues to iterate. More details are shown in Algorithm 2. ```
0: the set of R remaining points \(X^{D}-\Omega-\left\{C_{1}^{p},C_{2}^{p},\cdots,C_{k}^{p}\right\}\)
0: boundary domain \(\left\{C_{1}^{B},C_{2}^{B},\cdots,C_{k}^{B}\right\}\)
1:for each remaining point \(p_{i}\)do
2: calculate the neighbor similarity between point \(p_{i}\) and the \(j\)-th \(K\)-nearest-neighbor in the direction of \(q_{j}\) using Equations (9)-(12);
3:endfor
4: construct a neighbor similarity matrix \(S=\left[s\big{(}p_{i},q_{j}\big{)}\right]_{R\times K}\);
5:while\(\exists\) the maximum \(s=\big{(}p_{i},q_{j}\big{)}\) in \(S\)do
6:\(m,n\leftarrow\arg\max\limits_{i\in[1,R],j\in[1,K]}s\big{(}p_{i},q_{j}\big{)}\);
7:\(C_{n}^{B}=C_{n}^{B}\cap p_{m}\);
8:for each unassigned point \(e\) satisfying \(p_{m}\underset{e,p_{m}}{\in}KNN_{e}\)do
9: calculate the neighbor similarity between point \(e\) and the \(m\)-th \(K\)-nearest-neighbor in the direction of \(q_{m}\) using Equations (9)-(12);
10: update the related values in the matrix \(S\);
11:endfor
12:endwhile
13:for each fringe point \(p_{i}\)do
14: calculate the neighbor similarity between point \(p_{i}\) and the \(j\)-th \(K\)-nearest-neighbor in the direction of \(q_{j}\) using Equations (9)-(12);
15:\(n\leftarrow\arg\max\limits_{i\in[1,R],j\in[1,K]}s\big{(}p_{i},q_{j}\big{)}\);
16:\(C_{n}^{B}=C_{n}^{B}\cap p_{i}\);
17:if the point \(p\) is still not assigned then
18: find the assigned point \(q\) which is nearest to \(p\);
19: assign \(p\) to the boundary domains of the same cluster as \(q\) is located;
20:endif
21:endfor
22:return \(\left\{c_{1}^{p},c_{2}^{p},\cdots,c_{k}^{p}\right\}\)
```  
**Algorithm 2** Assign the remaining points to the boundary domain based on K-induction  
**Definition 4** (the neighbor difference). : _Given a data space \(X^{D}\) and the point \(p\), the neighbor difference between the K-neighbors of the point \(p\) and the \(j\)-th K-nearest neighbor \(q_{j}\) is shown in Equation (9)._  
\[\mathrm{dif}_{p}\big{(}q_{j}\big{)}=\frac{1}{K}\sum\left\|K_{p}-K_{q_{j}}\right\| \tag{9}\]  
**Definition 5** (the neighbor weight).