Algorithmes évolutifs : qu'est-ce que c'est et pourquoi sont-ils nécessaires ?

Table des matières:

Algorithmes évolutifs : qu'est-ce que c'est et pourquoi sont-ils nécessaires ?
Algorithmes évolutifs : qu'est-ce que c'est et pourquoi sont-ils nécessaires ?
Anonim

Dans le domaine de l'intelligence artificielle, un algorithme évolutionnaire (EA) est un sous-ensemble de calculs de population totale basés sur l'optimisation métaheuristique. L'EA utilise des mécanismes inspirés du développement biologique tels que la reproduction, la mutation, la recombinaison et la sélection. La solution candidate au problème des algorithmes d'optimisation évolutive joue le rôle des individus dans la population. Et aussi la fonction de fitness détermine la qualité des réponses.

Les algorithmes évolutionnaires s'approchent souvent bien des solutions à tous les types de problèmes. Parce qu'idéalement, ils ne font aucune hypothèse sur le paysage sous-jacent de la condition physique. Les méthodes utilisées pour la modélisation évolutive et les algorithmes génétiques se limitent généralement à des études de processus microévolutifs et à des modèles de planification basés sur des stades cellulaires. Dans la plupart des applications EA réelles, la complexité de calcul est un facteur prohibitif.

En faitce problème est lié à l'estimation de la fonction de fitness. L'approximation de la forme physique est une solution pour surmonter cette difficulté. Cependant, une évaluation environnementale apparemment simple peut résoudre des problèmes souvent complexes. Par conséquent, il ne peut y avoir de relation directe entre la complexité de la séquence et le problème. Plus de détails peuvent être trouvés dans les livres "Evolutionary Algorithms".

Mise en œuvre

modélisation évolutive et algorithmes
modélisation évolutive et algorithmes

La première étape consiste à créer une population initiale d'individus au hasard.

La deuxième étape consiste à évaluer l'adéquation de chaque individu de ce groupe (délai, préparation suffisante, etc.).

Troisième étape: répétez les étapes de régénération suivantes jusqu'à la fin:

  1. Sélectionnez les personnes les plus aptes à la reproduction (parents).
  2. Amenez de nouveaux individus qui ont réussi l'algorithme évolutif en utilisant le croisement et la mutation pour obtenir une progéniture.
  3. Évaluer la forme physique de nouvelles personnes.
  4. Remplacer la population la moins adaptée par eux.

Types

L'algorithme génétique est une séquence évolutive, le type le plus populaire d'Expert Advisor. Une solution au problème est recherchée sous la forme de chaînes de nombres (traditionnellement binaires, bien que les meilleures représentations soient généralement celles qui reflètent le plus le problème à résoudre) en appliquant des opérateurs tels que la recombinaison et la mutation (parfois un, dans certains cas les deux).). Ce type d'Expert Advisor est souvent utilisé dans les problèmes d'optimisation. Un autre nom pour cela est fetura (du latin pour "naissance"):

  1. Programmation génétique. Il présente les solutions sous forme de codes informatiques, et leur pertinence est déterminée par leur capacité à effectuer des tâches de calcul.
  2. Programmation évolutive. Semblable à l'algorithme génétique évolutionnaire, mais la structure est fixe et ses paramètres numériques peuvent changer.
  3. Programmation de l'expression des gènes. Développe des applications informatiques, mais explore le système génotype-phénotype, où des projets de différentes tailles sont encodés sur des chromosomes linéaires de longueur fixe.
  4. Stratégie. Fonctionne avec des vecteurs de nombres réels comme représentations de solutions. Utilise généralement des algorithmes de taux de mutation évolutifs auto-adaptatifs.
  5. Développement différentiel. Basé sur les différences vectorielles et donc principalement adapté aux problèmes d'optimisation numérique.
  6. Neuroévolution. Semblable à la programmation évolutive et aux algorithmes génétiques. Mais ces derniers sont des réseaux de neurones artificiels, décrivant la structure et le poids des connexions. L'encodage du génome peut être direct ou indirect.

Comparaison avec les processus biologiques

Une limitation possible de nombreux algorithmes évolutionnaires est l'absence d'une distinction claire entre génotype et phénotype. Dans la nature, un œuf fécondé subit un processus complexe connu sous le nom d'embryogenèse pour devenir mature. On pense que ce codage indirect rend les recherches génétiques plus fiables (c'est-à-dire moins susceptibles de provoquer des mutations mortelles) et peut également améliorer la capacité de l'organisme à se développer. Ces indirects (en d'autres termes,les encodages génératifs ou développementaux) permettent également à l'évolution d'exploiter la régularité dans l'environnement.

Des travaux récents sur l'embryogenèse artificielle ou les systèmes de développement tentent de résoudre ces problèmes. Lors de la programmation de l'expression génique, la région génotype-phénotype est explorée avec succès, la première étant constituée de chromosomes multigéniques linéaires de longueur fixe et la seconde de nombreux arbres d'expression ou programmes informatiques de différentes tailles et formes.

Techniques associées

algorithmes évolutionnaires
algorithmes évolutionnaires

Les algorithmes incluent:

  1. Optimisation des colonies de fourmis. Il est basé sur l'idée que les insectes recherchent de la nourriture en se connectant avec des phéromones pour former des chemins. Convient principalement à l'optimisation combinatoire et aux problèmes de graphes.
  2. Algorithme du curseur racine. Le créateur s'est inspiré de la fonction des racines des plantes dans la nature.
  3. Algorithme pour les colonies d'abeilles artificielles. Basé sur le comportement des abeilles mellifères. Il est principalement proposé pour l'optimisation numérique et étendu pour résoudre des problèmes combinatoires, bornés et multiobjectifs. L'algorithme de l'abeille est basé sur le comportement de recherche de nourriture des insectes. Il a été appliqué dans de nombreuses applications telles que le routage et la planification.
  4. Optimisation des essaims de particules - basée sur des idées de comportement de troupeaux d'animaux. Et également principalement adapté aux tâches de processus numériques.

Autres méthodes métaheuristiques populaires

  1. Recherche de chasse. Une méthode basée sur la capture en groupe de certains animaux, comme les loups par exemple, quirépartissent leurs devoirs pour entourer la proie. Chacun des membres de l'algorithme évolutionnaire est lié aux autres d'une manière ou d'une autre. Cela est particulièrement vrai pour le chef. Il s'agit d'une méthode d'optimisation continue adaptée en tant que méthode de processus combinatoire.
  2. Recherche par mesures. Contrairement aux méthodes métaheuristiques basées sur la nature, l'algorithme de processus adaptatif n'utilise pas la métaphore comme principe principal. Au lieu de cela, il utilise une méthode simple axée sur les performances basée sur la mise à jour du paramètre de rapport de dimension de recherche à chaque itération. L'algorithme Firefly s'inspire de la façon dont les lucioles s'attirent avec leur lumière clignotante. Ceci est particulièrement utile pour l'optimisation multimodale.
  3. Recherche d'harmonie. Basé sur les idées du comportement des musiciens. Dans ce cas, les algorithmes évolutionnaires sont la voie à suivre pour l'optimisation combinatoire.
  4. Adaptation gaussienne. Basé sur la théorie de l'information. Utilisé pour optimiser les performances et la disponibilité moyenne. Un exemple d'algorithmes évolutionnaires dans cette situation: l'entropie en thermodynamique et en théorie de l'information.

Mémétique

modélisation évolutive
modélisation évolutive

Une méthode hybride basée sur l'idée de mème de Richard Dawkins. Il prend généralement la forme d'un algorithme basé sur la population combiné à des procédures d'apprentissage individuelles capables d'effectuer des raffinements locaux. Met l'accent sur l'utilisation de connaissances spécifiques à un problème et tente d'organiser des recherches fines et globales de manière synergique.

ÉvolutifLes algorithmes sont une approche heuristique des problèmes qui ne peuvent pas être facilement résolus en temps polynomial, tels que les problèmes classiques NP-difficiles et tout ce qui prendrait trop de temps à traiter de manière exhaustive. Lorsqu'ils sont utilisés indépendamment, ils sont généralement utilisés pour des problèmes combinatoires. Cependant, les algorithmes génétiques sont souvent utilisés en tandem avec d'autres méthodes, agissant comme un moyen rapide de trouver plusieurs points de départ optimaux avec lesquels travailler.

La prémisse de l'algorithme évolutionnaire (connu sous le nom de conseiller) est assez simple étant donné que vous êtes familier avec le processus de sélection naturelle. Il contient quatre étapes principales:

  • initialisation;
  • choix;
  • opérateurs génétiques;
  • fin.

Chacune de ces étapes correspond à peu près à un certain aspect de la sélection naturelle et fournit des moyens simples de modulariser cette catégorie d'algorithmes. En termes simples, dans EA, les membres les plus aptes survivront et se reproduiront, tandis que les membres inaptes mourront et ne contribueront pas au pool génétique de la prochaine génération.

Initialisation

Pour démarrer l'algorithme, vous devez d'abord créer un ensemble de solutions. La population contiendra un nombre arbitraire d'énoncés de problèmes possibles, souvent appelés membres. Ils sont souvent générés au hasard (dans les limites de la tâche) ou, si certaines connaissances préalables sont connues, provisoirement centrés sur ce qui est considéré comme idéal. Il est important que la population couvre un large éventail de solutions,car il s'agit essentiellement d'un pool de gènes. Par conséquent, si l'on veut explorer de nombreuses possibilités différentes au sein d'un algorithme, il faut s'efforcer d'avoir de nombreux gènes différents.

Choix

codes génétiques
codes génétiques

Une fois la population créée, il faut maintenant évaluer ses membres selon la fonction de fitness. La fonction de fitness prend les caractéristiques d'un membre et donne une représentation numérique de son aptitude. Leur création peut souvent être très difficile. Il est important de trouver un bon système qui représente avec précision les données. Ceci est très spécifique au problème. Il est maintenant nécessaire de calculer l'adéquation de tous les participants et de sélectionner certains des meilleurs membres.

Fonctions à objectifs multiples

EA peut également être étendu pour utiliser ces systèmes. Cela complique quelque peu le processus, car au lieu d'identifier un point optimal, un ensemble est obtenu lors de leur utilisation. L'ensemble des solutions s'appelle la frontière de Pareto et contient des éléments qui conviennent également dans le sens où aucune d'entre elles ne domine les autres.

Opérateurs génétiques

Cette étape comprend deux sous-étapes: le croisement et la mutation. Après avoir sélectionné les meilleurs termes (généralement les 2 premiers, mais ce nombre peut varier), ils sont maintenant utilisés pour créer la génération suivante dans l'algorithme. En appliquant les caractéristiques des parents choisis, de nouveaux enfants sont créés qui sont un mélange de qualités. Cela peut souvent être difficile selon le type de données, mais généralement dans des problèmes combinatoiresil est tout à fait possible de mélanger et de sortir des combinaisons valides.

Maintenant, il est nécessaire d'introduire du nouveau matériel génétique dans la génération. Si cette étape importante n'est pas franchie, le scientifique se retrouvera très vite coincé dans des extrêmes locaux et n'obtiendra pas de résultats optimaux. Cette étape est une mutation, et elle se fait tout simplement, en modifiant une petite partie des enfants de telle sorte qu'ils ne reflètent principalement pas les sous-ensembles des gènes des parents. La mutation se produit généralement de manière probabiliste, puisque la probabilité qu'un enfant l'attrape, ainsi que sa gravité, est déterminée par la distribution.

Résiliation

modélisation et algorithmes
modélisation et algorithmes

À la fin, l'algorithme doit se terminer. Cela se produit généralement dans deux cas: soit il a atteint un temps d'exécution maximal, soit il a atteint un seuil de performance. À ce stade, la solution finale est sélectionnée et renvoyée.

Exemple d'algorithmes évolutionnaires

Maintenant, pour illustrer le résultat de ce processus, vous devez voir le conseiller en action. Pour ce faire, on peut rappeler comment plusieurs générations de dinosaures ont appris à marcher (maîtrisant progressivement le terrain), optimisant la structure de leur corps et appliquant la force musculaire. Même si les reptiles de la première génération ne pouvaient pas marcher, le conseiller a pu les faire évoluer au fil du temps par mutation et croisement en une forme capable de marcher.

Ces algorithmes deviennent de plus en plus pertinents dans le monde moderne, car les solutions basées sur eux sont de plus en plus utilisées dans des secteurs tels que le marketing numérique, la finance etsanté.

Où sont utilisés les EA ?

Plus largement, les algorithmes évolutionnaires sont utilisés dans une grande variété d'applications telles que le traitement d'images, le routage de véhicules, l'optimisation des communications mobiles, le développement de logiciels et même la formation de réseaux de neurones artificiels. Ces outils sont au cœur de nombreuses applications et sites Web que les gens utilisent quotidiennement, y compris Google Maps et même des jeux comme Les Sims. De plus, le domaine médical utilise l'EA pour aider à prendre des décisions cliniques concernant le traitement du cancer. En fait, les algorithmes évolutionnaires sont si robustes qu'ils peuvent être utilisés pour résoudre presque tous les problèmes d'optimisation.

Loi de Moore

La prévalence croissante de l'OT est due à deux facteurs principaux: la puissance de calcul disponible et l'accumulation de grands ensembles de données. Le premier peut être décrit par la loi de Moore, qui stipule essentiellement que la puissance de calcul d'un ordinateur double environ tous les deux ans. Cette prédiction tient depuis des décennies. Le deuxième facteur concerne la dépendance croissante à la technologie, qui permet aux institutions de collecter une quantité incroyablement importante de données, ce qui leur permet d'analyser les tendances et d'optimiser les produits.

Comment les algorithmes évolutifs peuvent-ils aider les spécialistes du marketing ?

modélisation génétique
modélisation génétique

Les conditions du marché évoluent rapidement et sont très concurrentielles. Cela a forcé les responsables marketing à se concurrencer pour une meilleure prise de décision. Augmentation du disponiblela puissance de calcul a conduit les travailleurs à utiliser EA pour résoudre des problèmes.

Optimisation des conversions

modélisation et algorithmes génétiques
modélisation et algorithmes génétiques

L'un des principaux objectifs est d'augmenter le taux de visiteurs sur le site. Ce problème revient à optimiser le nombre d'utilisateurs qui font ce que veut le marketeur. Par exemple, si une entreprise vend des ordinateurs portables, l'idéal est d'augmenter le nombre de visiteurs du site qui finissent par acheter le produit. C'est l'essence même de l'optimisation du taux de conversion.

L'un des aspects étonnamment importants est le choix de l'interface utilisateur. Si la conception Web n'est pas très conviviale, il y a ceux qui finissent par ne pas acheter le produit pour une raison ou une autre. L'objectif est alors de réduire le nombre d'utilisateurs qui finissent par ne pas convertir, ce qui augmente le profit global.

Conseillé: