Algoritmo Ant System (AS)

Professora

O que é o Ant System (AS)?

O Ant System (AS) é o primeiro algoritmo de colônia de formigas proposto na história. Ele foi criado por Marco Dorigo em 1992 como tese de doutorado. O AS resolve problemas de otimização combinatória usando formigas artificiais. Cada formiga constrói uma solução completa passo a passo probabilisticamente. A probabilidade de escolher um caminho depende do feromônio e da heurística local. Após todas as formigas terminarem, o feromônio é atualizado globalmente. As melhores rotas recebem mais feromônio, reforçando o aprendizado coletivo. O AS é considerado o marco zero dos algoritmos de inteligência de enxame. Ele é simples, intuitivo e serve como base para todas as variantes posteriores.

Características fundamentais do AS

O AS possui três características principais que o definem. Primeiro, a regra de transição probabilística combina feromônio (τ) e visibilidade (η). Essa regra usa parâmetros α e β para controlar a influência de cada fator. Segundo, a atualização do feromônio ocorre após todas as formigas construírem rotas. Todas as formigas depositam feromônio, mas as melhores depositam mais intensamente. Terceiro, a evaporação do feromônio reduz todos os valores a cada iteração. Isso evita convergência prematura e permite esquecer caminhos ruins. O AS também usa uma lista tabu para proibir visitas repetidas a cidades. Essa lista garante que cada formiga construa uma rota válida e completa. Por fim, o AS é estocástico, ou seja, tem componentes aleatórios controlados.

Vantagens e limitações do AS

O AS é extremamente fácil de implementar e entender conceitualmente. Ele funciona bem para problemas de pequeno e médio porte, como TSP com 30 cidades. Além disso, ele é robusto a pequenas variações nos parâmetros iniciais. Contudo, o AS tem convergência lenta para problemas grandes (mais de 100 cidades). Ele também pode estagnar em ótimos locais se a evaporação for muito baixa. Outra limitação é o custo computacional, pois cada formiga avalia uma rota completa. Apesar disso, o AS é uma excelente ferramenta educacional e introdutória. Ele ensina os fundamentos do feromônio, exploração e explotação de forma clara.

O AS foi originalmente testado no problema do caixeiro viajante (TSP). Ele superou outras heurísticas simples da época, como vizinho mais próximo. A ideia de feromônio artificial foi inspirada no comportamento real de formigas. Formigas reais depositam feromônio ao caminhar, e outras seguem o rastro. No AS, a intensidade do feromônio é proporcional à qualidade da solução. Rotas mais curtas recebem depósito maior, pois 1/custo é usado como quantidade. A evaporação ocorre a cada iteração, simulando a dissipação natural do feromônio. Os parâmetros α e β são ajustados empiricamente; valores típicos são α=1 e β=2. O número de formigas geralmente iguala o número de cidades no TSP. O AS pode ser paralelizado facilmente, pois cada formiga é independente. Ele também pode ser estendido com heurísticas específicas para cada problema. Por exemplo, em roteamento com janelas de tempo, a visibilidade inclui atrasos. O AS é a base do Ant Colony Optimization (ACO), que engloba várias variantes. Assim, o AS é um algoritmo histórico, didático e ainda relevante.

Um exemplo clássico é o TSP com 10 cidades europeias (coordenadas fixas). O objetivo é encontrar a rota mais curta que visita todas as cidades. O AS constrói rotas, deposita feromônio e evolui a solução iterativamente. Após algumas dezenas de iterações, a rota ótima é encontrada com alta probabilidade.


Enunciado do exemplo clássico

Implemente o Ant System para o TSP com 15 cidades geradas aleatoriamente em [0,50]². Use 20 formigas, 100 iterações, α=1, β=2, ρ=0.3, τ₀=0.1 e depósito proporcional a 1/custo. Armazene o comprimento da melhor rota e o melhor caminho a cada iteração. Plote a evolução do melhor custo e a melhor rota final sobre as cidades.

Este código implementa o Ant System com atualização elitista. A curva de convergência mostra a queda rápida do custo nas primeiras iterações. A rota final é desenhada sobre as cidades, evidenciando um caminho curto. O AS encontra uma solução de boa qualidade, mesmo com parâmetros simples. Para iniciantes, este exemplo revela o poder do feromônio coletivo. O Ant System é, portanto, a porta de entrada para toda a família ACO.

Algorítmos de Colonias de Formigas (ACO)

Professora

O que são algoritmos de colônias de formigas?

Algoritmos de colônias de formigas (ACO) são meta-heurísticas inspiradas no forrageamento real. Formigas depositam feromônio no caminho percorrido para comunicar boas rotas. Quanto mais formigas usam um caminho, mais feromônio ele acumula. Caminhos mais curtos são percorridos mais rapidamente, recebendo mais depósito. Assim, a colônia converge coletivamente para a rota ótima. O ACO traduz esse comportamento para resolver problemas de otimização combinatória. Cada “formiga” artificial constrói uma solução passo a passo probabilisticamente. A probabilidade depende do feromônio atual e de uma heurística local (ex.: distância). Portanto, o ACO é um algoritmo estocástico baseado em população e memória.

Componentes principais do algoritmo

O ACO possui três elementos centrais: feromônio, visibilidade e evaporação. O feromônio τ representa a atratividade acumulada de cada aresta (caminho). A visibilidade η é uma informação heurística, como o inverso da distância. A regra de transição combina τ e η com pesos α e β (parâmetros ajustáveis). Após todas as formigas construírem soluções, o feromônio é atualizado. As melhores soluções depositam mais feromônio nas arestas que as compõem. Antes disso, uma taxa de evaporação ρ reduz todo o feromônio existente. Isso evita convergência prematura e permite esquecer caminhos ruins. Dessa forma, o algoritmo equilibra exploração e explotação ao longo do tempo.

Aplicações clássicas e vantagens

O ACO é famoso pelo problema do caixeiro viajante (TSP). Ele também é aplicado em roteamento de veículos, escalonamento e redes. Uma grande vantagem é a capacidade de encontrar boas soluções rapidamente. Além disso, ele lida bem com restrições complexas e dinâmicas. O algoritmo é paralelizável, pois cada formiga trabalha independentemente. Contudo, seu desempenho depende de ajustes finos dos parâmetros (α, β, ρ). Para iniciantes, o ACO oferece uma analogia biológica clara e intuitiva.

O ACO foi proposto por Marco Dorigo em 1992 em sua tese de doutorado. Desde então, muitas variantes surgiram: Ant System, Max-Min Ant System, etc. A versão original (Ant System) é simples, mas pode ser lenta para grandes problemas. Melhorias como a atualização elitista (depósito extra na melhor rota) aceleram a convergência. Outra variação é o uso de listas tabu para evitar que formigas revisitam cidades. A evaporação do feromônio é crucial para evitar estagnação em ótimos locais. Sem ela, o algoritmo ficaria preso na primeira boa solução encontrada. A combinação de feromônio e heurística cria um equilíbrio dinâmico. Em problemas com muitas restrições, o ACO pode ser estendido com penalidades. Por exemplo, em roteamento com janelas de tempo, a heurística inclui atrasos. O ACO também é usado em problemas de agrupamento (clustering) e classificação. Sua flexibilidade permite acoplamento com outras técnicas (híbridos). Ele é considerado um dos algoritmos swarm intelligence mais bem-sucedidos. Assim, o ACO é uma ferramenta indispensável para otimização discreta.

Um exemplo clássico é o problema do caixeiro viajante com 10 cidades. As coordenadas são geradas aleatoriamente em um plano 2D. O objetivo é encontrar a rota mais curta que visita cada cidade uma vez. O ACO constrói rotas, deposita feromônio e evolui a solução. Após algumas iterações, a rota ótima (ou próxima) é descoberta.


Enunciado do exemplo clássico

Implemente o Ant System (AS) para resolver o TSP com 20 cidades aleatórias em [0,100]². Use 50 formigas, 200 iterações, α=1, β=2, ρ=0.5, e depósito inicial τ₀=1. Aplique atualização elitista (melhor formiga deposita feromônio extra). Armazene o comprimento da melhor rota a cada iteração. Ao final, plote a curva de convergência e a melhor rota encontrada sobre as cidades.

Este código implementa o Ant System clássico com atualização elitista. A curva de convergência mostra a rápida melhoria nas primeiras iterações. O gráfico da rota exibe a ordem das cidades e o caminho percorrido. O ACO encontra uma rota curta, embora não necessariamente a ótima global. Para iniciantes, este exemplo demonstra a emergência de soluções coletivas. Os feromônios guiam as formigas, mesmo sem controle centralizado. Assim, os algoritmos de colônias de formigas são poderosos e inspiradores.