## 4 Problem Formulation and Algorithm Proposed
### Algorithm Proposed
```
1:Nodes set \(\mathcal{V}\), Anticipated groups number \(nGroups\)
2:Target groups set \(gSet\)
3:procedureFind_Tar_Groups(\(\mathcal{V},nGroups\))
4:\(nSet\gets set()\); // Saves isolated nodes set
5:\(gSet\gets set()\); // Target group set
6:if\(nGroups<1\)then
7:return\(\varnothing\)
8:else
9:\(tgSet\gets KMeans(\mathcal{V},nGroups)\); // Clustering \(\mathcal{V}\) with K-Means
10:for all\(group\in tgSet\)do
11:if\(group\) contains more than 9 nodes then
12:\(c\gets CalculateCentroid(group)\); // Get the centroid of the group
13:\(g\gets group\);
14: partition \(g\) into 6 sectors;
15:if\(g\) has a target group \(gItem\)then
16:endfor
17:return\(gItem\)
18:endfor
19:return\(gItem\)
20:endfor
21:return\(gItem\)



+++ ==WARNING: Truncated because of repetitions==



++

* \(gSet\gets gSet\cup gItem\);
* \(nSet\gets nSet\cup(g-gItem)\);
* **else**
* Sorting \(gGroup\) with ascending order for all its vertexes
* **for all**\(vertex\in group\)**do**
* \(angle\gets CalculateAzimuth(c\to vertex)\);
* \(g\gets Rotate(g,angle)\); // Rotate \(g\) with \(angle\) anti-clockwise
* **if**\(g\) has a target group \(gItem\)**then**
* \(gSet\gets gSet\cup gItem\);
* \(nSet\gets nSet\cup(g-gItem)\);
* break;
* **end if**
* **end for**
* \(nSet\gets nSet\cup group\);
* **end if**
* \(nSet\gets nSet\cup group\);
* **end if**
* **end for**

In Algorithm 1, an operation of rotating a group is a method that endeavors to make it a _target group_, whose key idea is transforming a rotating problem of continuous angle to a discrete condition, and thus, the computational expense is upper restricted by the group size without affecting its performance too much. The Algorithm 2 is listed as follows. ```
1:Target group \(gGroups\), Rotating Angle \(bias\)
2:Rotated target group \(gGroup\)
3:procedureRotateA(\(gGroup,bias\))
4:for all\(vertex\in gGroup\)do
5:\(azimuth\gets getAzimuthAngle(gGroup.center,vertex)-bias+0.0001\)
6: Re-calculate \(sectorId\) for \(azimuth\)
7:\(gGroup\) resets \(sectorId\) for \(vertex\)
8:endfor
9:return\(gGroup\)
10:endprocedure
```
**Algorithm 2** MNCTO. Nevertheless, although we have our network cut apart into _target groups_ and outliers, it is not completely connected until the connections for the two kinds of nodes are built. Recollect the capability that a _target group_ beams omni-directionally; it is easy to set up symmetric connection between a _target group_ with an isolated node, because no matter how a _target group_ rotates (see Algorithm 1), the outlier must lay in one of its sectors. However, this truth is unavailable for connecting two different _target groups_ for the reason that their orientations are fixed. Fortunately, we investigate the problem and reach the conclusion as follows:

**Lemma 4**. : _Given two target groups of nodes stochastically distributed with arbitrary deflection angles in a Euclidean 2D plane, which are composed of nodes with a \(\pi/3\) directional transducer whose transmission range is unbounded, they are symmetrically connected through at least one link._

Proof. : Without loss of generality, two normal cases are analyzed for the proof. Given that the radius of the two _target groups_ is \(R\) and the distance between their centers is \(DIST\), we know there must be a value of \(DIST\) for which one of the groups is entirely covered by a \(HexNode\) of another group. The value is denoted by \(D_{t}\); it is dismissed because it does not affect the conclusions. Then, we have two cases of the distance relationship between the two groups. * Case 1: \(DIST<D_{t}\)
* Case 2: \(DIST\geq D_{t}\)

In Case 1, where the line links the centers \(O_{1},O_{2}\) of the two groups and is extended as a guideline \(\mathcal{L}\), there must be two \(HexNodes\) in one of the groups that are separated, which are assumed to be \(b,c\) of the group \(O_{2}\) (the disk of red lines) as Figure 11 shows. Obviously, \(HexNode\)\(b\) and \(c\) may be located in the same sector or different sectors of group \(O_{1}\).