Algorithme culturel

The Cultural Algorithm is inspired by the principle of cultural evolution. Culture includes thL’algorithme culturel s’inspire du principe de l’évolution culturelle. La culture comprend les habitudes, les connaissances, les croyances, les coutumes et la morale d’un membre de la société. La culture n’existe pas indépendamment de l’environnement et peut interagir avec l’environnement via des cycles de rétroaction positifs ou négatifs. L’étude de l’interaction de la culture dans l’environnement est appelée écologie culturelle.

L’algorithme culturel peut être expliqué dans le contexte de l’inspiration. Au fur et à mesure que le processus évolutif se déroule, les individus accumulent des informations sur le monde qui sont communiquées à d’autres individus de la population. Collectivement, ce corpus d’informations est une base de connaissances que les membres de la population peuvent piocher et exploiter. Des mécanismes de rétroaction positive peuvent se produire lorsque les connaissances culturelles indiquent des domaines utiles de l’environnement, des informations transmises de génération en génération, exploitées, affinées et adaptées à mesure que les situations changent. De plus, les zones potentiellement dangereuses peuvent également être communiquées via la base de connaissances culturelles.

L’objectif de traitement de l’information de l’algorithme est d’améliorer l’apprentissage ou la convergence d’une technique de recherche intégrée (généralement un algorithme évolutionnaire) en utilisant une évolution culturelle d’ordre supérieur. L’algorithme fonctionne à deux niveaux: un niveau de population et un niveau culturel. Le niveau de population est comme une recherche évolutive, où les individus représentent des solutions candidates, ils sont pour la plupart distincts et leurs caractéristiques sont traduites en une fonction objective ou de coût dans le domaine du problème. Le deuxième niveau est l’espace de connaissance ou de croyance où sont stockées les informations acquises par les générations et accessibles à la génération actuelle. Un protocole de communication est utilisé pour permettre aux deux espaces d’interagir et définir les types d’informations qui peuvent être échangés.

L’algorithme se concentre sur la structure de données de la base de connaissances qui enregistre différents types de connaissances en fonction de la nature du problème. Par exemple, la structure peut être utilisée pour enregistrer la meilleure solution candidate trouvée ainsi que des informations généralisées sur les zones de l’espace de recherche qui devraient être rentables (aboutir à de bonnes solutions candidates). Cette connaissance culturelle est découverte par la recherche évolutionnaire basée sur la population, et est à son tour utilisée pour influencer les générations suivantes. La fonction d’acceptation limite la communication des connaissances de la population à la base de connaissances.

L’algorithme est abstrait, offrant une flexibilité dans l’interprétation des processus tels que l’acceptation des informations, la structure de la base de connaissances et l’algorithme évolutif spécifique embarqué.

L’algorithme culturel a été initialement utilisé comme outil de simulation pour étudier l’écologie culturelle. Il a été adapté pour être utilisé comme algorithme d’optimisation pour une grande variété de domaines non limités à l’optimisation des contraintes, l’optimisation combinatoire et l’optimisation continue des fonctions.

La structure de la base de connaissances fournit un mécanisme pour incorporer des informations spécifiques au problème dans l’exécution d’une recherche évolutive. Les fonctions d’acceptation qui contrôlent le flux d’informations dans la base de connaissances sont généralement gourmandes, n’incluant que les meilleures informations de la génération actuelle, et ne remplaçant les connaissances existantes que s’il s’agit d’une amélioration. Les fonctions d’acceptation sont traditionnellement déterministes, bien que des fonctions d’acceptation probabilistes et floues aient été étudiées.