# Inteligencia de enjambre

Inteligencia de enjambre es una rama de la inteligencia artificial que estudia el comportamiento colectivo de los sistemas descentralizados, autoorganizados, naturales o artificiales. El concepto se emplea en los trabajos sobre inteligencia artificial. La expresión fue introducida por Gerardo Beni y Wang Jing en 1989, en el contexto de los sistemas robóticos móviles.
Inspirados por la naturaleza, especialmente por ciertos sistemas biológicos, los sistemas de inteligencia de enjambre están típicamente formados por una población de agentes simples que interactúan localmente entre ellos y con su medio ambiente. Los agentes siguen reglas simples y, aunque no existe una estructura de control centralizado que dictamine el comportamiento de cada uno de ellos, las interacciones locales entre los agentes conduce a la emergencia de un comportamiento global complejo. Como ejemplos naturales se incluyen las colonias de hormigas, el alineamiento de las aves en vuelo, el comportamiento de rebaños durante el pastoreo y el crecimiento bacteriano.
La aplicación de los principios enjambre a robots se llama robótica de enjambres, mientras que el término "inteligencia de enjambre" se refiere al conjunto más general de los algoritmos. 'Predicción de Enjambres' se ha utilizado en el contexto de los problemas de previsión.

## Ejemplos de algoritmos
### Optimización de colonia de hormigas

La optimización basada en colonias de hormigas (OCH) es una clase de algoritmos de optimización inspirada en las acciones de una colonia de hormigas. Los métodos OCH son útiles en problemas que necesitan encontrar caminos hacia metas. El objetivo de la 'simulación de hormigas artificiales' a través de agentes es la de localizar soluciones óptimas moviéndose a través de un espacio de parámetros que representa todas las posibles soluciones. Las hormigas naturales utilizan las feromonas que dirigen una a la otra, a los recursos y a explorar su entorno. La simulación de 'hormigas' igualmente permite grabar sus posiciones y la calidad de sus soluciones, para que en posteriores iteraciones de simulación más hormigas puedan encontrar mejores soluciones.

### Optimización enjambre de partículas

La optimización de enjambre de partículas (PSO) es un algoritmo de optimización global para hacer frente a los problemas en los que puede ser una mejor solución representa como un punto o una superficie en un espacio n-dimensional. Hipótesis se representan en este espacio y se sembró con una velocidad inicial, así como un canal de comunicación entre las partículas. Las partículas se mueven a través del espacio de soluciones, y se evalúan de acuerdo con algún criterio de aptitud después de cada paso de tiempo. Con el tiempo, las partículas son aceleradas hacia esas partículas dentro de su grupo de comunicación que tienen mejores valores de aptitud. La principal ventaja de este enfoque sobre otras estrategias de minimización globales tales como el recocido simulado es que el gran número de los miembros que componen el enjambre de partículas hacen la técnica impresionantemente resistente al problema de los mínimos locales.

### Optimización de múltiples enjambres

La optimización multi-enjambre es una variante de la optimización de enjambres de partículas (PSO), basado en el uso de múltiples sub-enjambres en lugar de un enjambre (estándar). El enfoque general en la optimización de multi-enjambre es que cada sub-enjambre se centra en una región dada, mientras que un método específico de diversificación decide dónde y cuándo lanzar los enjambres secundarios. El marco enjambre multi-está especialmente equipado para la optimización de problemas multi-modales, donde existen múltiples óptimos (locales).

### Algoritmo de colonia de abejas

El algoritmo de colonia de abejas (ABC) es un algoritmo de metaheurística introducida por Karaboga en 2005, y simula el comportamiento de alimentación de las abejas melíferas. El algoritmo ACB tiene tres fases: la abeja empleada, la abeja espectador y la exploradora. En la abeja empleada y las fases de abejas espectador,las abejas explotan las fuentes de búsquedas locales en la vecindad de las soluciones seleccionadas sobre la base de la selección determinista en la fase de abeja ocupada y la selección probabilística en la fase de abeja espectador. En la fase de abeja exploradora que es una analogía de abandono de las fuentes de alimentos agotados en el proceso de búsqueda de alimento, las soluciones que no son beneficiosos para el progreso de la búsqueda ya están abandonados, y nuevas soluciones se insertan en lugar de ellos para explorar nuevas regiones del espacio de búsqueda. El algoritmo tiene una capacidad equilibrada de exploración-explotación.

### Algoritmo de altruismo

Los investigadores en Suiza han desarrollado un algoritmo basado en la regla de Hamilton de selección de parentesco. El algoritmo muestra cómo el altruismo en un enjambre de animales puede, con el tiempo, evolucionar y dar lugar a un comportamiento más eficaz del enjambre.

### Sistemas inmunológicos artificiales

Sistemas inmunológicos artificiales (SIA) se refiere a la utilización de estructuras abstractas, la función del sistema inmune a los sistemas de cómputo, y la investigación de la aplicación de estos sistemas a la solución de problemas de cálculo a partir de la tecnología de la ingeniería, y la información. SIA es un subcampo de la computación inspirada biológicamente y computacionalmente natural, con intereses en Aprendizaje Automático y que pertenecen a la esfera más amplia de la inteligencia artificial.

### Algoritmo de murciélago

El algoritmo de murciélago (AM) está inspirado en el comportamiento de la ecolocalización de los micromurciélagos. Este hace uso de un balance de la frecuencia y sintonización automática de exploración y explotación mediante el control de las tasas de sonoridad y el pulso de emisión.

### Búsqueda de sistema cargado

Búsqueda de sistema cargado (BSC) es un nuevo algoritmo de optimización basado en algunos principios de la física y la mecánica. BSC utiliza las leyes de gobierno de Coulomb y de Gauss de la electrostática y las leyes de la mecánica newtoniana. BSC es un enfoque multiagente en el que cada agente es una partícula cargada (PC). PCs pueden afectar a los demás sobre la base de sus valores de fitness y sus distancias de separación. La cantidad de la fuerza resultante se determina mediante el uso de las leyes de la electrostática y la calidad del movimiento se determina usando las leyes de la mecánica newtoniana. BSC es aplicable a todos los campos de optimización, en especial es adecuado para dominios no lisos o no convexos. Este algoritmo proporciona un buen equilibrio entre la exploración y explotación de los paradigmas del algoritmo que se puede mejorar considerablemente la eficiencia del algoritmo y por lo tanto el BSC también puede ser considerado como un buen optimizador global y local al mismo tiempo.

### Búsqueda Cuckoo

Búsqueda Cuckoo (CS) imita el comportamiento inquietante de algunas especies de aves que utilizan de acogida para poner sus huevos y criar a sus polluelos. Este algoritmo de búsqueda se ha mejorado con los vuelos de Lévy con pasos de salto extraídas de distribución de Lévy. Los estudios recientes sugieren que el BC puede superar a otros algoritmos como la optimización de enjambre de partículas. Por ejemplo, una comparación de la búsqueda de Cuckoo con PSO, DE y ABC sugieren que el CS y los algoritmos DE proporcionar resultados más sólidos que PSO y ABC.

### Algoritmo de búsqueda diferencial

Algoritmo de búsqueda diferencial (DSA) inspirado por la migración de superorganismos. El éxito de la solución de problemas de las dietas se compara con el éxito de los algoritmos ABC, JDE, JADE, SADE, EPSDE, GSA, PSO2011 y CMA-ES para la solución de problemas de optimización numéricos en 2012. El enlace del código de Matlab se ha proporcionado en Çivicioglu, P., (2012).

### Algoritmo firefly

El algoritmo firefly (FA) está inspirado en el comportamiento intermitente de las luciérnagas. La intensidad de luz está asociada con el atractivo de una luciérnaga, la capacidad para subdividir en pequeños grupos y cada subgrupo enjambre alrededor de los modos locales. Por lo tanto, el algoritmo de luciérnaga está especialmente indicado para problemas de optimización multimodal. De hecho, FA se ha aplicado en la optimización continua, problema del viajante, clustering, procesamiento de imágenes y selección de características.

### Optimización enjambre de luciérnagas

Optimización enjambre de luciérnagas (GSO), introducido por Krishnanand Ghose y en 2005 para el cálculo simultáneo de múltiples óptimos de funciones multimodales. El algoritmo comparte algunas características con algunos algoritmos más conocidos, tales como optimización de colonia de hormigas y optimización de enjambre de partículas, pero con varias diferencias significativas. Los agentes en GSO son considerados como luciérnagas que llevan una cantidad de luminiscencia llamado luciferina junto con ellos. Las luciérnagas codifica el estado físico de sus ubicaciones actuales, evaluados utilizando la función objetivo, en un valor de luciferina que transmitir a sus vecinos. La luciérnaga identifica sus vecinos y calcula sus movimientos mediante la explotación de una zona adaptativa, que está acotado superiormente por su rango del sensor. Cada luciérnaga selecciona, utilizando un mecanismo probabilístico, un vecino que tiene un valor más alto de luciferina que el suyo propio y se mueve hacia él. Estos movimientos basados únicamente en la información local para habilitar el enjambre de luciérnagas y dividir en subgrupos disjuntos que convergen en varios óptimos de un tratamiento multimodal functional dado y selección de características. Este tipo de algoritmo se ha aplicado en la optimización de puentes prefabricados de hormigón pretensado.

### Algoritmo de búsqueda gravitacional

Aunque cuestionada, la teoría sostiene que el algoritmo de búsqueda gravitacional (GSA por su sigla en inglés) se basa en la ley de la gravedad y la noción de las interacciones de comunicación. El algoritmo GSA utiliza la teoría de la física newtoniana y sus agentes buscadores son la colección de masas. En el GSA, existe un sistema aislado de masas. Usando la fuerza gravitatoria, cada masa en el sistema puede ver la situación de las otras masas; por lo tanto, la fuerza gravitatoria es una manera de transferir información entre diferentes masas. En GSA, los agentes se consideran como objetos y su desempeño se mide por sus masas. Todos estos objetos se atraen entre sí por una fuerza gravitatoria, y esta fuerza causa un movimiento de todos los objetos globalmente hacia los objetos con masas más pesadas correspondiendo estas últimas con las buenas soluciones del problema. La posición del agente corresponde a una solución del problema, y su masa se determina utilizando una función de aptitud. En un lapso de tiempo, las masas se sienten atraídas por la masa más pesada lo que presentaría idealmente una solución óptima en el espacio de búsqueda. El GSA podría ser considerado como un sistema aislado de masas ya que se trataría de un pequeño mundo artificial de masas que obedecen las leyes de Newton de gravitación y movimiento. En 2011 se propuso una variante multiobjetivo de GSA, llamado algoritmo de búsqueda gravitacional de ordenación no dominada (NSGSA por su sigla en inglés).

### Caída inteligente de gotas de agua

La caída inteligente de gotas de agua (IWD) se inspira en los ríos naturales y cómo encuentran caminos casi óptimos a su destino. Estas rutas óptimas o cerca del óptimo siguen las acciones y reacciones que se producen entre las gotas de agua y estas con sus cauces. En el algoritmo de IWD, varias gotas de agua artificiales cooperan para cambiar su entorno de tal manera que la ruta óptima se revela como la que tiene el nivel más bajo del suelo en sus enlaces. Por lo tanto, el algoritmo de IWD es generalmente constructivo basado en el algoritmo de optimización de población.

### Algoritmo de optimización magnética

Algoritmo de Optimización magnética (MOA), propuesto por Tayarani en 2008, es un algoritmo de optimización inspirado por la interacción entre algunas partículas magnéticas con diferentes masas. En este algoritmo, las soluciones posibles son algunas partículas con masas diferentes y diferentes campos magnéticos. Sobre la base de la idoneidad de las partículas, la masa y el campo magnético de cada partícula determina, por lo tanto las partículas son mejores objetos más masivos con fuertes campos magnéticos. Las partículas en la población aplican fuerzas de atracción entre sí y por lo tanto se mueven en el espacio de búsqueda. Puesto que las soluciones mejores tienen una mayor masa y mayor campo magnético, las partículas inferiores tienden a moverse hacia las soluciones más adecuadas y por lo tanto la migración a la zona alrededor de la mejor óptimos locales, donde vagan en busca de mejores soluciones.

### Búsqueda de difusión estocástica

Búsqueda difusión estocástica (SDS) es un agente basado en la técnica probabilística mundial de búsqueda y optimización más adecuadas a los problemas que se pueden descomponer la función objetivo en múltiples independientes parciales-funciones. Cada agente mantiene una hipótesis que iterativamente probando mediante la evaluación de una función objetivo seleccionada al azar parcial parametrizada por hipótesis. En la versión estándar de SDS tales evaluaciones de funciones parciales son binarios, lo que resulta en cada agente de convertirse en activo o inactivo. Información sobre hipótesis se difunde a través de la población a través de la comunicación entre los agentes. A diferencia de la comunicación stigmergic utilizada en ACO, en SDS la hipótesis de comunicarse es a través de una estrategia de comunicación uno-a-uno análoga a la marcha en tándem procedimiento observado en Leptothorax acervorum. A positive feedback mechanism ensures that, over time, a population of agents stabilise around the global-best solution. SDS is both an efficient and robust global search and optimisation algorithm, which has been extensively mathematically described. Recent work has involved merging the global search properties of SDS with other swarm intelligence algorithms.

## Aplicaciones

La inteligencia de enjambres basados en técnicas pueden ser usadas en un número de aplicaciones. El ejército de EE. UU. está investigando técnicas de enjambre para el control de vehículos no tripulados. La Agencia Espacial Europea está pensando en un enjambre orbital para el autoensamblaje y la interferometría. La NASA está investigando el uso de la tecnología de nube para la cartografía planetaria. Un documento de 1992 por M. Anthony Lewis y George A. Bekey analiza la posibilidad de utilizar la inteligencia de enjambre para controlar nanorrobots dentro del cuerpo con el fin de matar a los tumores de cáncer. Por otra parte al-Rifaie y Aber han usado Búsqueda difusión estocástico para ayudar a localizar tumores. La inteligencia de enjambre se ha aplicado también para la minería de datos.

### Simulación de multitudes

Artistas están utilizando este tipo de sistemas para crear sistemas complejos interactivos y simular el comportamiento de multitudes.

### Enrutamiento basado en hormigas

El uso de la inteligencia de enjambres en las Redes de Telecomunicaciones también ha sido investigado. Este fue iniciado por separado por Dorigo y Hewlett Packard en la década de 1990, con un número de variaciones desde entonces. Básicamente utiliza una tabla de enrutamiento probabilístico premiando a reforzar con éxito la ruta recorrida por cada "hormiga" (un paquete de control pequeño) que inundan la red. Refuerzo de la ruta en los delanteros, dirección inversa y ambas a la vez han sido investigados: refuerzo hacia atrás requiere una red simétrica y acopla los dos sentidos juntos, hacia adelante refuerzo recompensa una ruta antes de que el resultado se conoce (pero que paga por el cine antes de saber lo bueno que la película es). A medida que el sistema se comporta de forma estocástica y, por lo tanto, carece de repetibilidad, hay grandes obstáculos para el despliegue comercial. Medios de comunicación móviles y las nuevas tecnologías tienen el potencial de cambiar el umbral para la acción colectiva debido a la nube de inteligencia (Rheingold: 2002, P175).
La ubicación de la infraestructura de transmisión para redes inalámbricas de comunicación es un problema de ingeniería importante que tiene objetivos contrapuestos. Una selección mínima de ubicaciones (o sitios) son necesarias sujeto a proporcionar cobertura de área adecuada para los usuarios. Un algoritmo de inteligencia de enjambres basado en hormigas, búsqueda difusión estocástica (SDS), ha sido utilizado con éxito para proporcionar un modelo general para este problema, relacionado con embalaje círculo y conjunto de presentación. Se ha demostrado que SDS se puede aplicar para identificar soluciones adecuadas incluso para instancias de problemas de gran tamaño.
Las líneas aéreas han utilizado también hormiga enrutamiento basado en la asignación de las llegadas de aeronaves a las puertas del aeropuerto. En Southwest Airlines un programa de software utiliza la teoría de enjambre, o enjambre de inteligencia-la idea de que una colonia de hormigas funciona mejor que una sola. Cada piloto actúa como una hormiga en busca de la puerta mejor aeropuerto. "El piloto aprende de su experiencia ¿qué es lo mejor para él, y resulta que esa es la mejor solución para la aerolínea", Douglas A. Lawson explica. Como resultado, la "colonia" de los pilotos siempre van a las puertas de llegada y salida de forma rápida. El programa puede incluso alertar a un piloto de avión de copias de seguridad antes de que sucedan. "Podemos anticipar que va a suceder, por lo que tendremos una puerta disponible", dice Lawson.

## En la cultura popular

Inteligencia de enjambres relacionados con los conceptos y las referencias se pueden encontrar en la cultura popular, a menudo como una forma de la inteligencia colectiva o mente grupal con agentes mucho más que los utilizados en las aplicaciones actuales.
* El escritor de ciencia ficción Olaf Stapledon puede haber sido el primero en hablar de enjambre igual o superior a la humanidad inteligencias. En El último y primer hombre (1931), una inteligencia de enjambre de Marte consiste en pequeñas células individuales que se comunican entre sí por las ondas de radio en Star Maker (1937) fundando enjambres inteligentes en múltiples civilizaciones, compuesto por bandadas de aves o, en su universo se enfría y energéticamente eficientes enjambres de balas de madriguera, en última instancia, toda la inteligencia en los enjambres universo en una sola entidad apenas capaz de percibir el momento supremo.
* El popular escritor soviético Sever Gansovsky, en su relato describe como "El Maestro de la Bahía" (1962), un monstruo marino que consiste en partículas microscópicas que pueden autoorganizarse en una sola entidad.
* El Invencible (1964), una novela de ciencia ficción de Stanislaw Lem, donde una nave espacial humano encuentra un comportamiento inteligente en una multitud de pequeñas partículas que son capaces de defenderse contra lo que encontraron como una amenaza.
* En la novela dramática y posterior miniserie The Andromeda Strain (1969) de Michael Crichton, un virus extraterrestre se comunica entre las células individuales y muestra la capacidad de pensar y reaccionar de forma individual y en su conjunto, y como tales exhibiciones una apariencia de "inteligencia de enjambre".
* Ygramul, un ser inteligente que consiste en un enjambre de avispas como muchos insectos, un personaje de la novela La Historia Interminable (1979) escrito por Michael Ende. Ygramul también se menciona en un artículo científico Manadas, rebaños, y Escuelas] escrito por Knut Hartmann (Gráficos y Sistemas Interactivos, Otto-von-Guericke de Magdeburg-Universidad).
* En el libro de 1979 Gödel, Escher, Bach: Un Eterno y Grácil Bucle por Douglas Hofstadter, uno de los protagonistas tiene largas conversaciones con la mente grupal de un hormiguero.

## Investigadores notables

* Gerardo Beni
* Marco Dorigo
* Russell C. Eberhart
* Luca Maria Gambardella
* James Kennedy
* Craig Reynolds