KHOPCA clustering algorithm: Difference between revisions

Content deleted Content added
mNo edit summary
mNo edit summary
Line 1:
[[File:KHOPCA 3D example 1.png|thumb|KHOPCA running in a 3-D environment.]]
'''KHOPCA''' is a [[clustering algorithm]] designed for dynamic networks. KHOPCA provides a fully [[Distributed computing|distributed]] and localized approach to group elements such as nodes in a network according to their distance from each other.<ref>{{Cite journal|last=Brust|first=Matthias R.|last2=Frey|first2=Hannes|last3=Rothkugel|first3=Steffen|date=2007-01-01|title=Adaptive Multi-hop Clustering in Mobile Networks|url=http://doi.acm.org/10.1145/1378063.1378086|journal=Proceedings of the 4th International Conference on Mobile Technology, Applications, and Systems and the 1st International Symposium on Computer Human Interaction in Mobile Technology|series=Mobility '07|___location=New York, NY, USA|publisher=ACM|pages=132–138|doi=10.1145/1378063.1378086|isbn=9781595938190}}</ref><ref name=":0">{{Cite journal|last=Brust|first=Matthias R.|last2=Frey|first2=Hannes|last3=Rothkugel|first3=Steffen|date=2008-01-01|title=Dynamic Multi-hop Clustering for Mobile Hybrid Wireless Networks|url=http://doi.acm.org/10.1145/1352793.1352820|journal=Proceedings of the 2Nd International Conference on Ubiquitous Information Management and Communication|series=ICUIMC '08|___location=New York, NY, USA|publisher=ACM|pages=130–135|doi=10.1145/1352793.1352820|isbn=9781595939937}}</ref> KHOPCA (<math display="inline">k</math>-hop clustering algorithm) operates proactively through a simple set of rules that defines clusters, which are optimal with respect to the applied distance function.
 
Line 22:
 
=== Rule 1 ===
[[File:KHOPCA rule 1.png|thumb|Illustration of KHOPCA rule 1.]]
The first rule has the function of constructing an order within the cluster. This happens through a node <math display="inline">n</math> detects the direct neighbor with the highest weight <math display="inline">w</math>, which is higher than the node's own weight <math display="inline">w_n</math>. If detected such a direct neighbor is detected, the node <math display="inline">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.<syntaxhighlight lang="java" line="1">
if max(W(N(n))) > w_n
w_n = max(W(N(n))) - 1
</syntaxhighlight>
=== Rule 2 ===
[[File:KHOPCA rule 2 a.png|thumb|Illustration of 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 display="inline">n</math> declares itself as cluster center. Even if coincidently all nodes declare themselves as cluster centers, the conflict situation will be resolved by one of the other rules.<syntaxhighlight lang="java" line="1">
if max(W(N(n)) == MIN & w_n == MIN
Line 34:
</syntaxhighlight>
=== Rule 3 ===
[[File:KHOPCA rule 3 a.png|thumb|Illustration of 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 decreasingdecrease its own weight with the objective to correct the fragmentation by allowing the other nodes to reconfigure acccording to the rules. <syntaxhighlight lang="java" line="1">
if max(W(N(n))) <= w_n && w_n != MAX
w_n = w_n - 1;
Line 41:
 
=== Rule 4 ===
[[File:KHOPCA rule 4 a.png|thumb|Illustration of 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. InGiven accordanceany ofspecific acriterion certain(e.g., criteriondevice 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 isto dependingresolve the decision-making depends on the used application scenario and on the available information available. In case of networks, one can assume that each node carries besides the weight also an unique ID number, which can be used in order to resolve the conflict.<syntaxhighlight lang="java" line="1">
if max(W(N(n)) == MAX && w_n == MAX
w_n = randomlyapply choosecriterion to select a node from set (max(W(N(n)),w_n);
w_n = w_n - 1;
</syntaxhighlight>