KHOPCA clustering algorithm

From HandWiki
KHOPCA running in a 3-D environment.

KHOPCA is an adaptive clustering algorithm originally developed for dynamic networks. KHOPCA ([math]\displaystyle{ k }[/math]-hop clustering algorithm) provides a fully distributed and localized approach to group elements such as nodes in a network according to their distance from each other.[1][2] KHOPCA operates proactively through a simple set of rules that defines clusters, which are optimal with respect to the applied distance function.

KHOPCA's clustering process explicitly supports joining and leaving of nodes, which makes KHOPCA suitable for highly dynamic networks. However, it has been demonstrated that KHOPCA also performs in static networks.[2]

Besides applications in ad hoc and wireless sensor networks, KHOPCA can be used in localization and navigation problems, networked swarming, and real-time data clustering and analysis.

Algorithm description

KHOPCA ([math]\displaystyle{ k }[/math]-hop clustering algorithm) operates proactively through a simple set of rules that defines clusters with variable [math]\displaystyle{ k }[/math]-hops. A set of local rules describes the state transition between nodes. A node's weight is determined only depending on the current state of its neighbors in communication range. Each node of the network is continuously involved in this process. As result, [math]\displaystyle{ k }[/math]-hop clusters are formed and maintained in static as well as dynamic networks.

KHOPCA does not require any predetermined initial configuration. Therefore, a node can potentially choose any weight (between [math]\displaystyle{ MIN }[/math] and [math]\displaystyle{ MAX }[/math]). However, the choice of the initial configuration does influence the convergence time.

Initialization

The prerequisites in the start configuration for the application of the rules are the following.

  • [math]\displaystyle{ \Nu }[/math] is the network with nodes and links, whereby each node has a weight [math]\displaystyle{ w }[/math].
  • Each node [math]\displaystyle{ n }[/math] in [math]\displaystyle{ \Nu }[/math] node stores the same positive values [math]\displaystyle{ MIN }[/math] and [math]\displaystyle{ MAX }[/math], with [math]\displaystyle{ MIN \lt MAX }[/math].
  • A node [math]\displaystyle{ n }[/math] with weight [math]\displaystyle{ w_n=MAX }[/math] is called cluster center.
  • [math]\displaystyle{ k }[/math] is [math]\displaystyle{ MAX }[/math] - [math]\displaystyle{ MIN }[/math] and represents the maximum size a cluster can have from the most outer node to the cluster center. The cluster diameter is therefore [math]\displaystyle{ k\cdot2-1 }[/math].
  • [math]\displaystyle{ \Nu(n) }[/math] returns the direct neighbors of node [math]\displaystyle{ n }[/math].
  • [math]\displaystyle{ W(\Nu) }[/math] is the set of weights of all nodes of [math]\displaystyle{ \Nu }[/math].

The following rules describe the state transition for a node [math]\displaystyle{ n }[/math] with weight [math]\displaystyle{ w_n }[/math]. These rules have to be executed on each node in the order described here.

Rule 1

KHOPCA rule 1

The first rule has the function of constructing an order within the cluster. This happens through a node [math]\displaystyle{ n }[/math] detects the direct neighbor with the highest weight [math]\displaystyle{ w }[/math], which is higher than the node's own weight [math]\displaystyle{ w_n }[/math]. If such a direct neighbor is detected, the node [math]\displaystyle{ n }[/math] changes its own weight to be the weight of the highest weight within the neighborhood subtracted by 1. Applied iteratively, this process creates a top-to-down hierarchical cluster structure.

if max(W(N(n))) > w_n
    w_n = max(W(N(n))) - 1

Rule 2

KHOPCA rule 2

The second rule deals with the situation where nodes in a neighborhood are on the minimum weight level. This situation can happen if, for instance, the initial configuration assigns the minimum weight to all nodes. If there is a neighborhood with all nodes having the minimum weight level, the node [math]\displaystyle{ n }[/math] declares itself as cluster center. Even if coincidentally all nodes declare themselves as cluster centers, the conflict situation will be resolved by one of the other rules.

if max(W(N(n)) == MIN & w_n == MIN
    w_n = MAX;

Rule 3

KHOPCA rule 3

The third rule describes situations where nodes with leveraged weight values, which are not cluster centers, attract surrounding nodes with lower weights. This behavior can lead to fragmented clusters without a cluster center. In order to avoid fragmented clusters, the node with higher weight value is supposed to successively decrease its own weight with the objective to correct the fragmentation by allowing the other nodes to reconfigure according to the rules.

if max(W(N(n))) <= w_n && w_n != MAX
    w_n = w_n - 1;

Rule 4

KHOPCA rule 4

The fourth rule resolves the situation where two cluster centers connect in 1-hop neighborhood and need to decide which cluster center should continue its role as cluster center. Given any specific criterion (e.g., device ID, battery power), one cluster center remains while the other cluster center is hierarchized in 1-hop neighborhood to that new cluster center. The choice of the specific criterion to resolve the decision-making depends on the used application scenario and on the available information.

if max(W(N(n)) == MAX && w_n == MAX
    w_n = apply criterion to select a node from set (max(W(N(n)),w_n);
    w_n = w_n - 1;

Examples

1-D

An exemplary sequence of state transitions applying the described four rules is illustrated below.

KHOPCA 1D example 1.png

2-D

KHOPCA acting in a dynamic 2-D simulation. The geometry is based on a geometric random graph; all existing links are drawn in this network.

KHOPCA 2D k3a.jpg

3-D

KHOPCA also works in a dynamic 3-D environment. The cluster connections are illustrated with bold lines.

KHOPCA 3D example 2.png

Guarantees

It has been demonstrated that KHOPCA terminates after a finite number of state transitions in static networks.[2]

References

  1. Brust, Matthias R.; Frey, Hannes; Rothkugel, Steffen (2007-01-01). "Adaptive multi-hop clustering in mobile networks". Proceedings of the 4th international conference on mobile technology, applications, and systems and the 1st international symposium on Computer human interaction in mobile technology. Mobility '07. New York, NY, USA: ACM. pp. 132–138. doi:10.1145/1378063.1378086. ISBN 9781595938190. 
  2. 2.0 2.1 2.2 Brust, Matthias R.; Frey, Hannes; Rothkugel, Steffen (2008-01-01). "Dynamic multi-hop clustering for mobile hybrid wireless networks". Proceedings of the 2nd international conference on Ubiquitous information management and communication. ICUIMC '08. New York, NY, USA: ACM. pp. 130–135. doi:10.1145/1352793.1352820. ISBN 9781595939937.