La naturaleza está repleta de compartimentos sociales para llevar a cabo diversos trabajos. Si bien el fin último de todas las personas y de la conducta colectiva es la supervivencia, por diversas razones: la caza, la protección, la navegación y el forrajeo los animales trabajan e interactúan en grupos, rebaños, cardúmenes, colonias y rebaños. Es muy interesante que las criaturas encuentren las situaciones óptimas y realicen tareas de manera eficiente en grupos. Está claro que tal conducta óptima y eficiente ha evolucionado a lo largo de los milenios. Entonces, inspirarlos a solucionar nuestros problemas es bastante lógico. Este es el objetivo principal de un campo de estudio llamado inteligencia de enjambre (SI). Se han propuesto muchos algoritmos en el campo de la inteligencia de enjambre (SI), por ejemplo, Optimización de colonias de hormigas (ACO), Optimización de enjambre de partículas (PSO), Optimizador de lobo gris (GWO), etc.
En este artículo, discutiremos la técnica Cat Swarm Optimization, que es una optimización basada en enjambres.
Inspiración:
Cat Swarm Optimization está claramente inspirado en el comportamiento de los gatos en el mundo real. Según la biología, hay alrededor de 32 especies diferentes de gatos, desde leones hasta guepardos y desde tigres hasta gatos domésticos. Aunque viven en entornos bastante diferentes, muchos atributos de comportamiento son similares. A pesar de estar la mayor parte del tiempo inactivos, los gatos tienen una gran curiosidad.
Antes de definir el modelo matemático del algoritmo, se debe saber que hay dos estados diferentes de ser para cualquier gato.
- Modo de búsqueda : los gatos están inactivos en este estado, es decir, descansando, mirando a su alrededor o en un estado para moverse a otro lugar.
- Modo de seguimiento : los gatos están activos en este estado, es decir, cambian su posición actual.
Modelo matemático:
Definamos el modelo de optimización de enjambre de gatos. Cada gato en un espacio de soluciones tiene sus propias N dimensiones d N , velocidad para cada dimensión , una bandera que sugiere si el gato está en cualquiera de los dos modos (buscando o rastreando) y finalmente un valor de aptitud que representa la acomodación de los gatos a la función de aptitud.
Deseamos encontrar la posición óptima para un gato.
Modo de búsqueda: como ya se mencionó, los gatos en este estado están inactivos. Este modo tiene cuatro factores esenciales, a saber: búsqueda de grupo de memoria (SMP), búsqueda de un rango de la dimensión seleccionada (SRD), conteo de dimensión para cambiar (CDC) y consideración de autoposición (SPC).
- SMP: Define la memoria para cada gato indicando los puntos perseguidos por un gato.
- SRD: declara la relación mutativa para las dimensiones seleccionadas.
- CDC: Este factor indica cuántas dimensiones variarán.
- SPC: si la posición en la que ya está colocado el gato será un punto candidato para que se mueva un gato. Es un valor booleano (ya sea verdadero o falso).
NOTA: Independientemente del valor de SPC, el valor de SMP no se ve afectado.
1. If SPC is True Then j=SMP Else j=SMP-1 2. Present position of cat Ck is copied j times. 3. Depending on the value of CDC the value of SRD is either decremented or incremented. 4. Calculate the Fitness value (FV) of all candidate points. 5. If all the FV are not equal, FV are converted to selection probability: where i ranges in (0,j) can be set to or depending on the goal of fitness function either maximize or minimize. 6. Randomly select the candidate points and replace the current position of cat Ck.
Modo de rastreo: una vez que un gato está en modo de rastreo, se le asigna su velocidad como .
1. Update the velocites of each cat according to: where d ranges in [1,N] c1 is a constant, r1 ranges in [0,1] and and are the position of cat Ck in dimension d and the position of a cat with the best FV respectively. 2. If Then Else
algoritmo CSO
Para fusionar ambos modos, debemos tener en cuenta que los gatos pasan la mayor parte del tiempo en el modo de búsqueda. Por lo tanto, definimos una relación de mezcla (MR) que sugiere cuánto de cualquiera de los modos se debe tener en cuenta al realizar CSO. Es bastante evidente que debemos mantener el valor de MR muy bajo para tener en cuenta que los gatos pasan la mayor parte del tiempo en modo de búsqueda.
1. Create M cats. 2. Randomly drop the M cats in N dimensional solution space. Assign the velocities of each cat in accordance to . 3. Distribute the cats to tracing mode according to MR and rest to seeking mode. 4. Apply the position of the cat into the fitness function and calculate the fitness value FV. 5. Move the cats according to their flag value. If Ck is in tracing mode apply the tracing mode process to it, if not then apply seeking mode process. 6. Redistribute the cats according to MR. 7. Repeat from step 4 to 6 until termination condition is met.
Aplicando el CSO obtenemos cual es la posición de un gato con mejor FV.
Así es como funciona el algoritmo CSO.
Referencia:
https://link.springer.com/chapter/10.1007/978-3-540-36668-3_94