Bonjour,
j'ai un soucis concernant l'implémentation du comportement des fourmis au sein d'une colonie, je m'interesse uniquement par la capacité des agents fourmis à regrouper les objets (on dit partitionnement ou classification non supervisée), en fait il existe un algorithme qui traite ce comportement:
DEBUT
Placer aléatoirement les N objets O1, . . . , On sur la grille G
pour T = 1 à Tmax faire
pour tout aj ∈ {a1, . . . , aA} faire // l'ensemble des fourmis
si la fourmi aj ne transporte pas d’objet et r(oi) = r(aj) alors // l'objet oi se trouve dans la case r
Calculer f(oi) et Pp(oi); //f(oi) fonction de densité, Pp(oi) pbté de ramassage de l'obj oi
La fourmi aj ramasse l’objet oi suivant la probabilité Pp(oi)
sinon
si la fourmi aj transporte l’objet oi et la case r(aj) est vide alors
Calculer f(oi) et Pd(oi); // Pd(oi) pbté de dépot de l'obj oi
La fourmi aj dépose l’objet oi sur la case r(aj) avec une probabilité Pd(oi)
finsi
finsi
Déplacer la fourmi aj sur une case voisine non occupée par une autre fourmi
finpour
finpour
retourner l’emplacement des objets sur la grille
FIN
En fait, je veut appliquer cet algorithme sur le fichier ANORMAL (contenant des vecteurs de connexions anormales càd des attaques) en d'autre terme, considérer les vecteurs du fichier ANORMAL à la place des objets à transporter par les fourmis, puis appliquer l'algo ci-dessus pour regrouper ces vecteurs en un ensemble de classes.
Voila, c'est en gros mon pbm, je travail sur Java, et je pense au Threads. si quelqu'un à une idée sur la programmation de cet algorithme en java SVP aider moi. merci
Partager