
KHOPCA es un algoritmo de agrupamiento adaptativo desarrollado originalmente para redes dinámicas. KHOPCA (El algoritmo de agrupamiento de saltos (KHOPCA) proporciona un enfoque totalmente distribuido y localizado para agrupar elementos como nodos en una red según su distancia entre sí. [ 1 ] [ 2 ] KHOPCA opera de forma proactiva a través de un conjunto simple de reglas que definen clústeres, los cuales son óptimos con respecto a la función de distancia aplicada.
El proceso de agrupamiento de KHOPCA admite explícitamente la incorporación y la salida de nodos, lo que lo hace adecuado para redes altamente dinámicas. Sin embargo, se ha demostrado que KHOPCA también funciona en redes estáticas. [ 2 ]
Además de sus aplicaciones en redes de sensores inalámbricas y ad hoc , KHOPCA se puede utilizar en problemas de localización y navegación, enjambres en red y agrupamiento y análisis de datos en tiempo real .
Descripción del algoritmo
KHOPCA (El algoritmo de agrupamiento de saltos (-hop clustering algorithm) opera de forma proactiva a través de un conjunto simple de reglas que definen clústeres con variables-saltos. Un conjunto de reglas locales describe la transición de estado entre nodos. El peso de un nodo se determina únicamente en función del estado actual de sus vecinos dentro del rango de comunicación. Cada nodo de la red participa continuamente en este proceso. Como resultado,Los clústeres de saltos se forman y se mantienen tanto en redes estáticas como dinámicas.
KHOPCA no requiere ninguna configuración inicial predeterminada. Por lo tanto, un nodo puede potencialmente elegir cualquier peso (entreySin embargo, la elección de la configuración inicial sí influye en el tiempo de convergencia.
Inicialización
Los requisitos previos en la configuración de inicio para la aplicación de las reglas son los siguientes.
- es la red con nodos y enlaces, donde cada nodo tiene un peso.
- Cada nodoenEl nodo almacena los mismos valores positivos.y, con.
- Un nodocon pesoSe denomina centro de clúster.
- es-y representa el tamaño máximo que puede tener un clúster desde el nodo más externo hasta el centro del clúster. Por lo tanto, el diámetro del clúster es.
- devuelve los vecinos directos del nodo.
- es el conjunto de pesos de todos los nodos de.
Las siguientes reglas describen la transición de estado para un nodo.con pesoEstas reglas deben ejecutarse en cada nodo en el orden que se describe aquí.
Regla 1

La primera regla tiene la función de construir un orden dentro del clúster. Esto sucede a través de un nodo.detecta al vecino directo con el peso más alto, que es mayor que el propio peso del nodo. Si se detecta un vecino directo de este tipo, el nodocambia su propio peso para que sea el peso del peso más alto dentro del vecindario menos 1. Aplicado de forma iterativa, este proceso crea una estructura de clúster jerárquica de arriba hacia abajo.
si max ( W ( N ( n ))) > w_nw_n = max ( W ( N ( n ))) - 1Regla 2

La segunda regla trata la situación en la que los nodos de un vecindario están en el nivel de peso mínimo. Esta situación puede ocurrir si, por ejemplo, la configuración inicial asigna el peso mínimo a todos los nodos. Si hay un vecindario con todos los nodos que tienen el nivel de peso mínimo, el nodose declara a sí mismo como centro del clúster. Incluso si, por coincidencia, todos los nodos se declaran a sí mismos como centros del clúster, la situación de conflicto se resolverá mediante una de las otras reglas.
si max ( W ( N ( n )) == MIN & w_n == MINw_n = MÁX ;Regla 3

La tercera regla describe situaciones en las que los nodos con valores de ponderación elevados, que no son centros de clúster, atraen a los nodos circundantes con ponderaciones menores. Este comportamiento puede generar clústeres fragmentados sin un centro definido. Para evitar la fragmentación, el nodo con mayor ponderación debe disminuir progresivamente la suya propia con el objetivo de corregirla, permitiendo que los demás nodos se reconfiguren según las reglas.
Si max ( W ( N ( n ))) <= w_n && w_n != MAXw_n = w_n - 1 ;Regla 4

La cuarta regla resuelve la situación en la que dos centros de clúster se conectan en una vecindad de un salto y necesitan decidir cuál de ellos debe continuar como centro de clúster. Dado un criterio específico (por ejemplo, ID del dispositivo, nivel de batería), un centro de clúster permanece como tal, mientras que el otro se jerarquiza en una vecindad de un salto con respecto a ese nuevo centro de clúster. La elección del criterio específico para resolver la toma de decisiones depende del escenario de aplicación utilizado y de la información disponible.
si max ( W ( N ( n )) == MAX && w_n == MAXw_n = aplicar criterio para seleccionar un nodo del conjunto ( max ( W ( N ( n )), w_n );w_n = w_n - 1 ;Ejemplos
1D
A continuación se ilustra una secuencia ejemplar de transiciones de estado aplicando las cuatro reglas descritas.
![]()
2D
KHOPCA opera en una simulación dinámica 2D. La geometría se basa en un grafo geométrico aleatorio; todos los enlaces existentes se representan en esta red.
![]()
3D
KHOPCA también funciona en un entorno 3D dinámico. Las conexiones de los clústeres se ilustran con líneas gruesas.
![]()
Garantías
Se ha demostrado que KHOPCA termina después de un número finito de transiciones de estado en redes estáticas. [ 2 ]
Referencias
- ↑ Brust, Matthias R.; Frey, Hannes; Rothkugel, Steffen (1 de enero de 2007). «Agrupación adaptativa de múltiples saltos en redes móviles». Actas de la 4.ª conferencia internacional sobre tecnología, aplicaciones y sistemas móviles y del 1.er simposio internacional sobre interacción persona-ordenador en tecnología móvil . Mobility '07. Nueva York, NY, EE. UU.: ACM. págs. 132-138 . doi : 10.1145/1378063.1378086 . ISBN 9781595938190. S2CID 33469900 .
- 1 2 3 Brust, Matthias R.; Frey, Hannes; Rothkugel, Steffen (2008-01-01). "Agrupación dinámica de múltiples saltos para redes inalámbricas híbridas móviles". Actas de la 2.ª conferencia internacional sobre gestión y comunicación de información ubicua . ICUIMC '08. Nueva York, NY, EE. UU.: ACM. págs. 130–135 . doi : 10.1145/1352793.1352820 . ISBN 9781595939937. S2CID 15200455 .
- Algoritmos de grafos