Sie sind auf Seite 1von 9

3.

Algoritmo social de araña


En SSA, formulamos el espacio de búsqueda del problema de optimización como
una tela de araña hiperdimensional. Cada posición en la web representa una
solución factible para el problema de optimización y todo soluciones factibles al
problema tienen posiciones correspondientes en esta web La web también sirve
como medio de transmisión de la vibraciones generadas por las arañas. Cada
araña en la web tiene un puesto y la calidad (o idoneidad) de la solución se basa
en la función objetivo, y representada por el potencial de encontrar una fuente
de alimento en la posición. Las arañas se pueden mover libremente en la web.
Sin embargo, no pueden abandonar la web como las posiciones fuera de la web
representan soluciones no factibles para el problema de optimización. Cuando
una araña se mueve a una nueva posición, genera una vibración que es
propagado a través de la web. Cada vibración contiene la información de una
araña y otras arañas pueden obtener la información al recibir la vibración.
3.1 Araña

Las arañas son los agentes de SSA para realizar la optimización. Al comienzo del
algoritmo, una cantidad predefinida de arañas son poner en la web. Cada araña tiene
memoria, almacenando lo siguiente información individual:
• La posición de s en la web.
• La aptitud de la posición actual de s.
• La vibración objetivo de s en la iteración anterior.
• El número de iteraciones desde que s cambió por última vez su vibración objetivo.
• El movimiento que se realizó en la iteración anterior.
• La máscara de dimensión1 que se emplea para guiar el movimiento en el
iteración previa.
Los primeros dos tipos de información describen la situación individual
De s, mientras que todos los demás están involucrados en dirigir s a nuevas posiciones.
El esquema detallado de movimiento se desarrollará en la Sección 3.3.
En base a las observaciones, se encuentra que las arañas son muy precisas Con el sentido
de la vibración. Además, pueden separar diferentes vibraciones propagadas en la misma
web y perciben sus respectivas intensidades. En SSA, una araña generará una vibración
cuando alcanza una nueva posición diferente a la anterior. La intensidad
De la vibración se correlaciona con la aptitud de la posición. la vibración se propagará
sobre la red y otras arañas pueden sentir eso. De esta manera, las arañas en la misma
web comparten su personal información con otros para formar un conocimiento social
colectivo.
3.2. Vibración
La vibración es un concepto muy importante en SSA. Es una de las características
principales que distinguen SSA de otras meta heurísticas. En SSA, utilizamos dos
propiedades para definir una vibración, a saber, la posición de la fuente y la intensidad
de la fuente de la vibración. la posición de origen está definida por el espacio de
búsqueda de la optimización problema, y definimos la intensidad de una vibración en el
rango [0,+ ∞). Cada vez que una araña se mueve a una nueva posición, genera una
Vibración en su posición actual. Definimos la posición de la araña en el tiempo t como
Pa (t), o simplemente como Pa si el argumento de tiempo es t. Nuestro Uso adicional I
(Pa, Pb, t) para representar la intensidad de vibración detectada por una araña en la
posición Pb en el tiempo t y la fuente de la vibración está en la posición Pa. Con estas
anotaciones podemos usar I (Ps, Ps, t) para representar la intensidad de la vibración
generada por las arañas en la posición de origen. Esta intensidad de vibración en la
posición de origen se correlaciona con la idoneidad de su posición f (Ps), y definimos el
valor de intensidad de la siguiente manera:

Donde C es una constante de confianza pequeña de modo que toda la aptitud posible
Los valores son mayores que C. Tenga en cuenta que consideramos la minimización
Problemas en este documento. El diseño de (1) toma los siguientes problemas
En consideración:
• Todas las intensidades de vibración posibles del problema de optimización son
Positivo.
• Las posiciones con mejores valores de condición física, es decir, valores más pequeños
para
Problemas de minimización, tienen intensidades de vibración más grandes que
Aquellos con peores valores de condición física.
• Cuando una solución se acerca al óptimo global, la vibración la intensidad no
aumentaría excesivamente y causaría un mal funcionamiento del esquema de
atenuación de la vibración.
Como una forma de energía, la vibración se atenúa con la distancia. Este fenómeno físico
se cuenta en el diseño de SSA. Define la distancia entre spider a y b como D (Pa, Pb) y
nosotros usamos 1-norma (distancia de Manhattan) para calcular la distancia, es decir:

La desviación estándar de todas las posiciones de araña a lo largo de cada dimensión


está representado por. Con estas definiciones, definimos mejor el
atenuación de la vibración sobre la distancia de la siguiente manera:

En la fórmula anterior, presentamos un parámetro controlado por el usuario


de ∈ (0, ∞). Este parámetro controla la tasa de atenuación de laIntensidad de vibración
sobre la distancia. Cuanto mayor es ra, más débil es la atenuación impuesta a la
vibración.
3.3. Patrón de búsqueda
Aquí demostramos las ideas anteriores en términos de un algoritmo.
Hay tres fases en SSA: inicialización, iteración y final. Estas tres fases se ejecutan
secuencialmente. En cada carrera de SSA, comenzamos con la fase de inicialización,
luego realizamos la búsqueda en una manera iterativa, y finalmente termina el
algoritmo y la salida las soluciones encontradas.
En la fase de inicialización, el algoritmo define el objetivo función y su espacio de
solución. El valor para el parámetro utilizado en SSA también está asignado. Después de
establecer los valores, el algoritmo mejora para crear una población inicial de arañas
para la optimización. Como el número total de arañas permanece sin cambios durante
la simulación de SSA, se asigna una memoria de tamaño fijo para almacenar su
información.
Las posiciones de arañas se generan aleatoriamente en el espacio de búsqueda,
Con sus valores de condición física calculados y almacenados. El objetivo inicial la
vibración de cada araña en la población se establece en su posición actual,
y la intensidad de la vibración es cero. Todos los demás atributos almacenados por cada
araña también se inicializan con ceros. Esto finaliza la inicialización fase y el algoritmo
comienza la fase de iteración, que realiza la búsqueda con las arañas artificiales creadas.
En la fase de iteración, una serie de iteraciones son realizadas por el algoritmo. En cada
iteración, todas las arañas en la web se mueven a un nueva posición y evaluar sus valores
de condición física. Cada iteración puede dividirlo en los siguientes sub-pasos:
evaluación de la aptitud, generación de vibración, cambio de máscara, caminata
aleatoria y restricción manejo.
El algoritmo primero calcula los valores de aptitud de todas las artificiales arañas en
diferentes posiciones en la web, y actualizar el global valor óptimo si es posible. Los
valores de condición física se evalúan una vez para cada araña durante cada iteración.
Entonces estas arañas generan vibraciones en sus posiciones. Después de todas las
vibraciones se generan, el algoritmo simula el proceso de propagación de
Estas vibraciones. En este proceso, cada araña recibirá
| pop | diferentes vibraciones generadas por otras arañas donde pop es la población
araña La información recibida de estas vibraciones se incluye la posición de origen de la
vibración y su intensidad. Usamos V para representar estos | pop | vibraciones Sobre la
la recepción de V, s seleccionará la vibración más fuerte 𝑣𝑠𝑏𝑒𝑠𝑡 de V y compara su
intensidad con la intensidad de la vibración objetivo 𝑣𝑠𝑡𝑎𝑟 almacenado en su memoria.
S almacenará 𝑣𝑠𝑏𝑒𝑠𝑡 como 𝑣𝑠𝑡𝑎𝑟 si la intensidad de 𝑣𝑠𝑏𝑒𝑠𝑡 es más grande, y 𝑐𝑠 o la
cantidad de iteraciones desde la última vez que S cambió
Su vibración objetivo, se restablece a cero; de lo contrario, el original 𝑣𝑡𝑎𝑟 es retenido
y 𝑐𝑠 se incrementa en uno. Usamos 𝑝𝑠𝑖 y 𝑝𝑠𝑡𝑎𝑟 representar las posiciones de origen de
V y 𝑣𝑡𝑎𝑟 respectivamente, y i = {1, 2,……
El algoritmo luego manipula S para realizar una caminata aleatoria hacia 𝑣𝑠𝑡𝑎𝑟 Aquí
utilizamos una máscara de dimensión para guiar el movimiento. Cada araña tiene una
máscara de dimensión m que es un binario 0-1 El vector de longitud D y D es la
dimensión del problema de optimización. Inicialmente, todos los valores en la máscara
son cero. En cada iteración, arañas tiene una probabilidad de 1-𝑝𝑐𝑐𝑠 para cambiar su
máscara donde 𝑝𝑐 𝜖 (0,1) es un atributo definido por el usuario que describe la
probabilidad de cambiar máscara. Si la máscara se decide cambiar, cada BIT del vector
tiene una probabilidad de 𝑝𝑚 ser asignado con uno, y 1-𝑝𝑚 ser cero 𝑝𝑚 es también
un parámetro controlado por el usuario definido en (0, 1).
Cada bit de una máscara se cambia de forma independiente y no tiene ninguna
correlación con la máscara anterior. En caso de que todos los bits sean ceros, uno el
valor aleatorio de la máscara se cambia a uno. Del mismo modo, al azar se asigna al BIT
cero si todos los valores son uno. Después de determinar la máscara de dimensión, una
𝑓𝑜
nueva posición siguiente 𝑃𝑠 se genera en base a la máscara para S. El valor de ITH
𝑓𝑜
Dimensión de la siguiente posición 𝑃𝑠,𝑖 se genera de la siguiente manera:

Donde r es un valor entero aleatorio generado en [1, | pop |], y 𝑚𝑠,𝑖


Representa la ITH dimensión de la máscara de dimensión m de araña S. Aquí el
número aleatorio r para dos dimensiones diferentes con 𝑚𝑠,𝑖 = 1 se genera de forma
𝑓𝑜
independiente. Con el generado 𝑃𝑠 , S realiza una caminata aleatoria a la posición.
Esta caminata aleatoria se realiza usando la siguiente ecuación.

Donde o denota multiplicación de elementos y R es un vector de


Números aleatorios de punto flotante generados de cero a uno uniformemente.
𝑓𝑜
Antes de seguir 𝑃𝑠 , S primeros movimientos a lo largo de su dirección anterior, que
es la dirección del movimiento en la iteración anterior. Las distancia a lo largo de esta
𝑓𝑜
dirección es una porción aleatoria de la anterior movimiento. Entonces S se acerca 𝑃𝑠
a lo largo de cada dimensión al azar, factores generados en (0, 1). Este factor aleatorio
para diferentes dimensiones se genera de forma independiente. Después de esta
caminata aleatoria, S almacena su movimiento en la iteración actual para la próxima
iteración. Esto finaliza el sub paso de caminata aleatoria. El sub paso final de la fase de
iteración es la restricción manejo. Las arañas pueden salir de la web al azar. y camina
paso a paso, que causa las limitaciones de la optimización, puede tener el problema a
ser violado Hay muchos métodos para manejar las limitaciones de límites en la
literatura previa, y el azar enfoque absorbente y el enfoque reflexivo son tres métodos
más ampliamente adoptados En este documento adoptamos el enfoque reflexivo para
el manejo de restricciones y producir un
Posición libre de restricción de límites Ps (t + 1) por :

dónde 𝑋 ̅̅̅1 es el límite superior del espacio de búsqueda en la enésima dimensión, y ̅̅̅
𝑋1
es el límite inferior de la dimensión correspondiente. r es un número aleatorio de
punto flotante generado en (0, 1) .La fase de iteración se repite hasta que coincidan los
criterios de detención. Los criterios de detención se pueden definir como la iteración
máxima del número alcanzado, el tiempo máximo de CPU utilizado, la tasa de error
alcanzado, el número máximo de iteraciones sin mejora en el mejor valor de aptitud, o
cualquier otro criterio apropiado. Después de la fase de iteración, el algoritmo genera
la mejor solución con el mejor gimnasio encontrado. Las tres fases anteriores
constituyen el completo algoritmo de SSA y su pseudo-código se pueden encontrar en
el algoritmo 1
Algoritmo 1. Algoritmo de araña social

3.4. Diferencias entre SSA y otros Algoritmos


De cálculo evolutivos
En las últimas décadas se han propuesto varios algoritmos de inteligencia de enjambre. Entre
ellos, PSO y ACO son los dos algoritmos más ampliamente empleados y estudiados. SSA
también puede ser clasificado como un algoritmo de inteligencia de enjambre, pero
tiene muchas diferencias de PSO y ACO, elaborado a continuación.
PSO, como SSA, se propuso originalmente para resolver continuamente problemas de
optimización. También fue inspirado por el comportamiento animal. Sin embargo, la
primera diferencia crucial entre SSA y PSO está en patrones de seguimiento individual.
En PSO, todas las partículas siguen una mejor posición global y su mejor posición
personal en común. Sin embargo en SSA, todas las arañas siguen posiciones
construidas por sus propias posiciones históricas. Estas siguientes posiciones no se
garantiza que sean visitados por la población antes, y diferentes arañas pueden tener
diferentes posiciones siguientes. Ya que la mejor posición global y las posiciones
actuales de las arañas difieren mucho durante la mayor parte del proceso de
optimización, estos dos siguientes patrones conducen a diferentes comportamientos
de búsqueda. Esto puede debilitar la capacidad de convergencia de la SSA, pero puede
fortalecer potencialmente la capacidad de resolver problemas de optimización
multimodales con gran cantidad de optimums locales. Además de la diferencia en el
siguiente patrón, la diferencia entre sus antecedentes de biología también es muy
significativo. PSO era diseñado en base al modelo de movimientos coordinados de
animales grupales de bandadas de aves o escuelas de peces. Este modelo sirve como el
diseño metáfora de PSO. SSA está inspirado en la estrategia social de búsqueda de
arañas, que pertenece al ámbito de la búsqueda social general de animales. Usamos un
modelo general de SI como marco de diseño. Esta Es la diferencia es también una
característica distintiva principal de SSA de otra algoritmos propuestos. Una tercera
diferencia entre SSA y la formulación original de PSO está en el método de
propagación de la información. En PSO, método de propagación se descuida, y se
supone que cada partícula estar al tanto de toda la información del sistema sin
pérdida. Aunque los rangos de validez de información se consideran en algunas
variantes recientes de PSO, la característica de pérdida de información sigue siendo
una característica única que distingue a SSA de las variantes de PSO. En SSA
modelamos el proceso de propagación de información a través de las vibraciones en la
tela de araña. Este proceso forma un conocimiento general de un sistema con pérdida
de información. Aunque todavía no hay investigaciones sobre cómo la pérdida de
información impactará la estrategia de búsqueda social empleado en la optimización,
es posible que esta pérdida de información sistema contribuye parcialmente a la
mejora del rendimiento de SSA sobre PSO.
Otra diferencia es que en PSO, el conocimiento común del grupo se trata de la mejor
partícula en el sistema. Todas las partículas restantes en el sistema no constituyen la
información compartida de la grupo, lo que puede llevar a descuidar alguna
información valiosa de la población. En SSA, cada araña genera una nueva información
y propaga la información a toda la población. También hay algunas variantes de PSO
que comparten la mejor posición personal y la información con la población, pero el
enfoque principal de PSO es en las mejores posiciones de los individuos y la población.
En SSA, la información generada y propagada con las vibraciones es ,las posiciones
actuales en lugar de las mejores posiciones en la historia, que puede diferir mucho con
la búsqueda. Aunque tanto SSA como ACO obtienen sus inspiraciones del estrategia de
alimentación animal social, todavía hay algunas diferencias obvias.
Los marcos de alimentación adoptados por los dos algoritmos son bastante diferentes:
ACO utiliza el comportamiento de búsqueda de hormigas para realizar mejoramiento.
Las hormigas encuentran alimento colocando senderos de feromonas y colectivamente
estableciendo retroalimentaciones positivas que predispongan al posterior selección
de camino, mientras que las arañas perciben la vibración propagada por la telaraña
para localizar a la presa. Otra diferencia es la presentación de soluciones factibles. En
SSA usamos las posiciones en la tela de araña para representar soluciones factibles.
Representaciones similares, también se han adoptado ampliamente en el algoritmo de
inteligencia de enjambre. Mientras tanto, ACO usa el camino entre la colmena de
hormigas y fuentes de alimentos para representar soluciones a los problemas de
optimización.
Además, ACO fue diseñado originalmente para resolver combinatoria
De problemas. Aunque en los últimos años hay algoritmos de variante ACO diseñado
principalmente para resolver problemas continuos [27], el rendimiento no es tan
bueno como el rendimiento del original ACO en la solución de problemas
combinatorios. También hay propagación de información y búsqueda, diferencias de
patrón entre SSA y ACO como se describió anteriormente.
También hay algunos otros algoritmos de inteligencia de enjambre propuestos para
resolver problemas continuos, y SSA tiene algunos y únicas características. En la
mayoría de los algoritmos de inteligencia de enjambre, por ejemplo, ABC y OSG, las
poblaciones están estructuradas en diferentes tipos. Diferente tipos de individuos
realizan diferentes trabajos y el conjunto la población coopera para buscar el espacio
de la solución. Sin embargo, en SSA, todos los individuos (arañas) son iguales. Cada
uno realiza todas las tareas eso sería ejecutado por múltiples tipos de poblaciones en
otros algoritmos. Si ponemos a SSA en el marco convencional, tiene la característica de
que los diferentes tipos de personas pueden transformar en otros tipos sin problemas
y sin la orientación del usuario, lo que puede contribuir al rendimiento.
En cuanto a la optimización social de la araña (SSO), las diferencias se encuentran en
todos los aspectos del diseño del algoritmo. Una diferencia más importante es que en
SSO, las arañas se clasifican por género. Arañas macho y hembra y tener diferentes
operaciones de búsqueda. Sin embargo, las arañas en SSA comparte la misma
operación de búsqueda, reduciendo significativamente el esfuerzo en la
implementación. SSA también incorpora la información modelo de propagación en su
diseño de algoritmo, La población de arañas en SSA se ajusta al modelo IS. Además,
SSA imita el comportamiento de alimentación de las arañas sociales, mientras que SSO
imita el comportamiento de apareamiento de arañas sociales. Las diferencias en la
implementación del algoritmo son más patentes En SSO hay tres movimientos de
araña operadores ejecutados primero en paralelo y luego en secuencia. El movimiento
patrón del tercer operador depende en gran medida de los dos primeros operadores.
Este diseño puede aumentar potencialmente la dificultad de analizar el
comportamiento de búsqueda del algoritmo. En SSA implementamos un operador de
movimiento aleatorio, que combina exploración y conductas de explotación
inonemove. Inourdesign, el comportamiento de búsqueda es controlado por los
parámetros, proporcionando así una visión clara del comportamiento de búsqueda del
algoritmo. El impacto de los diferentes parámetros en el rendimiento de optimización
de SSA se ilustra con más detalleen la Sección 3.5.
Aunque EA, como GA y ES, también se basan en la población de algoritmos, e
inevitablemente comparten algunas similitudes basados en la población SSA, son
bastante diferentes de uso general meta heurísticas. Se inspiran en biológicos
completamente diferentes de disciplinas. Las EA usualmente emplean diferentes
recombinaciones y operadores de descomposición para manipular las soluciones, que
imitan la regeneración de un organismo. Como se indica anteriormente, aunque
todavía no sabemos el impacto exacto de pérdida de información en el proceso de
optimización, esta característica de SSA puede contribuir a la búsqueda óptima en
algunos complejos de problemas de optimización multimodal. La estructura uniforme
de la población es otra ventaja potencial de la SSA. además, el patrón de búsqueda
único y su forraje animal social subyacente estrategia, así como el modelo de
búsqueda de alimento IS contribuye a la general rendimiento de SSA.

Das könnte Ihnen auch gefallen