Swarm Intelligence
A inteligência de enxame é a resolução coletiva de problemas que emerge quando muitos agentes simples seguem regras locais, como em colônias de formigas, PSO e enxames de robôs.
A inteligência de enxame (SI) é o comportamento coletivo de sistemas descentralizados e auto-organizados, nos quais muitos agentes simples, cada um seguindo regras locais e sem líder, resolvem em conjunto problemas que nenhum deles conseguiria resolver sozinho. As colónias de formigas encontram caminhos curtos até à comida, os bandos de aves viram-se em conjunto e as térmitas constroem montículos ventilados, tudo sem que nenhum indivíduo tenha um plano. Gerardo Beni e Jing Wang introduziram o termo em 1989 para descrever sistemas robóticos celulares. Na inteligência artificial (AI), a inteligência de enxame tem dois ramos principais: algoritmos de otimização que imitam estes coletivos em software e robótica de enxame, que coordena muitos robôs físicos da mesma forma.
Princípios fundamentais#
Os sistemas de enxame partilham algumas propriedades:
- Interação local: Cada agente deteta e responde apenas aos seus vizinhos e ao que o rodeia imediatamente.
- Auto-organização: Padrões globais, como a forma de um bando ou a rede de trilhos de uma colónia, emergem de interações locais repetidas, em vez de um plano central.
- Robustez: Como nenhum agente é essencial, o enxame continua a funcionar quando alguns indivíduos falham.
- Escalabilidade: Adicionar agentes aumenta a capacidade sem exigir a reformulação da lógica de controlo.
A coordenação pode ser direta ou indireta. O modelo boids de Craig Reynolds, de 1986, produz um comportamento realista de bando com três regras diretas: separação (evitar aproximar-se demasiado dos vizinhos), alinhamento (orientar-se na direção média deles) e coesão (orientar-se para a posição média deles). As formigas coordenam-se indiretamente por meio da estigmergia: cada uma modifica o ambiente ao depositar feromonas, e as outras respondem ao ambiente alterado.
Algoritmos de otimização de enxame#
Os algoritmos de otimização inspirados em enxames procuram em grandes espaços de soluções com uma população de soluções candidatas que partilham informações. Precisam apenas de uma forma de avaliar uma solução candidata, não do seu gradiente, pelo que são adequados a problemas ruidosos, não diferenciáveis ou combinatórios.
A otimização por colônia de formigas (ACO), apresentada por Marco Dorigo em sua tese de doutorado de 1992, resolve problemas de roteamento e agendamento, como o problema do caixeiro-viajante. Formigas artificiais constroem rotas aresta por aresta, favorecendo as arestas com mais feromônio; rotas mais curtas recebem mais feromônio, e a evaporação apaga gradualmente os rastros que deixam de ser reforçados, impedindo a colônia de se fixar em uma rota medíocre encontrada cedo:
A otimização por enxame de partículas (PSO), apresentada por James Kennedy e Russell Eberhart em 1995, funciona em espaços contínuos. Cada partícula tem uma posição e uma velocidade, recorda a melhor posição que encontrou e conhece a melhor posição encontrada pelo enxame; em cada passo, a sua velocidade combina o momentum atual com uma atração aleatória em direção a cada uma dessas duas melhores posições. Este exemplo em NumPy usa 30 partículas para minimizar a função de Rastrigin, cuja grelha de mínimos locais prende métodos simples de pesquisa local:
import numpy as np
rng = np.random.default_rng(0)
def rastrigin(x):
"""Bumpy test function with many local minima and a global minimum of 0 at the origin."""
return 10 * x.shape[-1] + (x**2 - 10 * np.cos(2 * np.pi * x)).sum(axis=-1)
pos = rng.uniform(-5, 5, (30, 2)) # 30 particles in a 2-D search space
vel = np.zeros_like(pos)
best_pos, best_val = pos.copy(), rastrigin(pos) # each particle's personal best
start = best_val.min()
for _ in range(100):
swarm_best = best_pos[best_val.argmin()] # best position any particle has found
r1, r2 = rng.random((2, 30, 1))
# Inertia + pull toward the particle's own best + pull toward the swarm's best
vel = 0.7 * vel + 1.5 * r1 * (best_pos - pos) + 1.5 * r2 * (swarm_best - pos)
pos = pos + vel
val = rastrigin(pos)
improved = val < best_val
best_pos[improved], best_val[improved] = pos[improved], val[improved]
print(f"Best value: {start:.3f} at the start, {best_val.min():.6f} after 100 iterations")O melhor valor do enxame desce de 9.633 entre as posições iniciais aleatórias para 0.000000, o mínimo global na origem. Com outras sementes aleatórias, o enxame por vezes estabiliza num mínimo local vizinho em 0.995; é esta convergência prematura que as variantes de PSO combatem com enxames maiores, reinícios ou topologias de vizinhança que retardam a propagação do melhor valor global. Na aprendizagem automática, o PSO é usado para o ajuste de hiperparâmetros, a seleção de características e a pesquisa de arquiteturas neurais, quando não há gradientes disponíveis.
Inteligência de enxame vs. conceitos relacionados#
- Algoritmos evolutivos: Melhoram uma população por seleção, cruzamento e mutação, substituindo indivíduos a cada geração. As partículas de PSO persistem e melhoram ao partilhar informações sobre posições favoráveis.
- Aprendizagem por conjuntos: Combina as previsões de vários modelos treinados numa única saída no momento da previsão. Os agentes de um enxame trocam informações durante toda a pesquisa e alteram o seu comportamento em resposta.
- Sistemas multiagente: O campo mais abrangente dos agentes em interação, que podem ser sofisticados, coordenados centralmente ou competitivos. A inteligência de enxame é o caso de muitos agentes simples e cooperativos que dispõem apenas de informação local.
Robótica de enxame e visão#
A robótica de enxame aplica os mesmos princípios a máquinas físicas, cada uma simples e barata. Os enxames de drones usados em busca, mapeamento e agricultura recorrem à coordenação descentralizada para que o grupo continue a funcionar quando drones individuais falham ou perdem a ligação. Cada agente pode executar um detetor compacto, como o Ultralytics YOLO26, a bordo, e partilhar apenas mensagens curtas de deteção com os vizinhos, como a classe e a posição de um objeto, em vez de transmitir vídeo para uma estação-base. Os espetáculos de luz com drones parecem enxames, mas os drones seguem trajetórias pré-calculadas por um planeador central, sem reagirem aos vizinhos. A auto-organização funciona em grande escala: em 2014, investigadores de Harvard programaram 1.024 Kilobots, pequenos robôs que se deslocam com pernas vibratórias, para se organizarem em formas como uma estrela, uma chave inglesa e a letra K, usando apenas mensagens de infravermelhos trocadas entre vizinhos.










