WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Contribution à  l'optimisation d'un comportement collectif pour un groupe de robots autonomes


par Amine BENDAHMANE
Université des Sciences et de la Technologie d'Oran Mohamed Boudiaf - Doctorat en informatique - Intelligence Artificielle 2023
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

CHAPITRE 2

68

FIGURE 2.12 - Pseudo-code de l'algorithme ACO

69

Après un certain nombre d'itérations, les solutions les plus visitées auront une quantité de phéromones plus grande, ce qui augmente la probabilité que les fourmis les choisissent. La baisse régulière de la quantité de phéromones permet aux fourmis d'explorer des solutions différentes pendant le processus de recherche. C'est un mécanisme de diversification sans lequel l'algorithme risque de converger rapidement vers un optimum local. Un autre mécanisme est de garder en mémoire la liste des solutions que la fourmi a déjà visitées, de sorte à les éliminer dans ses futurs mouvements.

2.7 Les Fondements théoriques de l'Algorithme d'Opti-misation des Papillons (BOA)

Butterfly Optimization Algorithm (BOA) est une métaheuristique à base de populations s'inspirant du comportement des papillons, elle a été proposée par S. Arora et S. Singh [11] en tant qu'algorithme d'optimisation globale.

Au départ, l'algorithme génère une population de solutions aléatoires (les papillons), puis les modifie à travers plusieurs itérations jusqu'à ce qu'un critère d'arrêt soit atteint.

Dans la nature, les papillons utilisent l'odorat pour trouver des sources de nourriture et des partenaires de reproduction, pour y arriver, ils utilisent des cellules dans leurs corps pour percevoir les odeurs (fragrance) et mesurer leurs intensités [11]. Plus la fragrance est intense, plus le papillon est attiré vers la source de cette odeur.

L'algorithme BOA modélise ce comportement en calculant une valeur de fragrance proportionnelle à la valeur de fitness de l'individu. Plus la valeur de fitness d'un papillon est de meilleure qualité, plus sa fragrance est grande, et plus les autres papillons y sont attirés. Toutefois, la fragrance émise par un papillon dans la nature est souvent altérée par les conditions météorologiques. Deux paramètres sont donc introduits dans l'algorithme pour simuler ce phénomène et modifier l'intensité de la fragrance qui sera captée par les autres papillons.

Ces paramètres sont les suivants:

-- Sensor modality (c) : Un facteur de multiplication contrôlant la proportion de la fragrance qui sera perçue.

-- Power exponent (a) : Un exposant qui contrôle la puissance à laquelle l'intensité originale de la fragrance est amplifiée.

L'équation 2.6 décrit la règle de calcul de la fragrance:

F = c * Ia (2.6)

Où :

-- c = sensor modality;

-- a = power exponent; et

-- I = intensité originale de la fragrance, qui est égale à la valeur de fitness du papillon.

CHAPITRE 2

Générer une population de n papillons

Calculer la fragrance de chaque papillon

Sélectionner le meilleur papillon

r N

Mettre à jour

la valeur de c

ti

Générer un nombre aléatoire r

Non

Se déplacervers le meilleur papillon en utilisant l'équation 2

i

Remplacer l'ancienne solution par la
nouvelle si meilleure

N

Se déplacer aléatoirement en
utilisant l'équation 3

70

FIGURE 2.13 -- Diagramme de l'algorithme BOA

71

Une fois les fragrances calculées, les papillons vont se déplacer graduellement vers le meilleur papillon qui représente la meilleure solution trouvée jusqu'à présent dans l'espace de recherche. Cette étape est appelée « recherche globale » [11]

Afin d'éviter une convergence prématurée, une phase de recherche locale a été introduite par les auteurs de l'algorithme pendant laquelle les papillons se déplacent aléatoirement dans la région où ils se trouvent.

À chaque itération, l'algorithme exécutera soit la phase de recherche globale, soit celle de la recherche locale, selon la valeur d'une probabilité d'alternance (switching probability).

Les équations suivantes décrivent respectivement comment les individus sont mis à jour pendant les phases de recherche globale et locale:

xt+1

i = xt i + (r2 * g* - xt ) * fi (2.7)

i

xt+1

i = xt i + (r2 * xt j - xt ) * fi (2.8)
k

Où :

-- xi est le papillon n° i;

-- r est un nombre aléatoire appartenant à l'interval [0, 1];

-- g* est le meilleure papillon dans la population;

-- fi est la fragrance du papillon n° i;

-- xj et xk sont deux papillons sélectionnés aléatoirement parmi la population.

En exécutant l'équation 2.7 plusieurs fois à travers les itérations, les papillons convergeront vers l'individu ayant la meilleure valeur de fitness qui représente la meilleure solution connue. Toutefois, une convergence trop rapide pourrait piéger les individus dans le voisinage d'un optimum local alors qu'une meilleure solution se trouve ailleurs dans l'espace de recherche. L'équation 2.8 évite à ce problème en poussant les papillons à se déplacer aléatoirement pour explorer de nouvelles solutions.

À chaque itération, les valeurs de fitness des papillons augmenteront en qualité, et leurs fragrances seront de plus en plus grandes. Afin d'éviter une convergence trop rapide engendrée par une trop grande augmentation de la fragrance, les auteurs de l'algorithme ont introduit une règle pour diminuer le facteur de multiplication c (sensor modality) à la fin de chaque itération [9]. L'ajout de cette règle - décrite par l'équation 2.9 - leur a permis d'améliorer les résultats de l'algorithme.

f 0.025 )

ct+1 = ct + (2.9)
ct * nbr_iterations

72

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Soit réservé sans ostentation pour éviter de t'attirer l'incompréhension haineuse des ignorants"   Pythagore