2. Introdução
Baseado no comportamento das formigas para
busca de alimento;
Necessita de mapeamento por grafo do espaço
de busca;
Formigas podem trabalhar no modo foward
(indo da colônia para o alimento) ou backward
(voltando do alimento para a colônia)
3. Formigas Foward
Escolhe probabilisticamente o próximo vértice
para se mover entre os vizinhos no grafo onde
o no esta localizado. A escolha é guiada pelas
trilhas de feromônios depositadas
anteriormente no grafo por outras formigas no
modo backward. As formigas que estao no
modo “forward” nao depositam nenhum
feromônio enquanto estao se movimentando.
4. Formigas backward
Na volta da solução encontrada (comida) para a
colônia (ponto de partida), a formiga deve
depositar feromônio de acordo com o critério
do que se considera uma boa solução.
5. Adaptação
Na aplicação para buscar soluções para a
função zeta os nós vizinhos da formiga são
gerados em tempo de execução (já que não é
possível mapear todo o conjunto dos
complexos);
Além disso o feromônio é dado pela proporção
inversa com a imagem da função zeta no
numero complexo dado;
6. Adaptação
Enfim, foi necessário acrescentar como critério
de decisão, além do feromônio, a imagem da
função no ponto testado pela formiga (para
evitar loops).
7. Estrutura de Código
Função Zeta na classe abstrata FuncaoZeta
Busca na classe LocalizadorDeZeros
Biblioteca Jgrapht
Numeros complexos adaptada a partir de
Andrew G. Bennet em:
http://www.math.ksu.edu/~bennett/jomacg/c.html