Les métaheuristiques évolutionnaires sont des algorithmes particuliers de résolution de problèmes. Face à ces derniers, ils proposent différentes solutions, éliminent les plus mauvaises, conservent les meilleures et les font évoluer, afin d’en proposer de nouvelles. De cette manière itérative, ces algorithmes peuvent converger rapidement vers une solution au problème initial, sans résolution mathématique formelle et absolue.
Ces métaheuristiques font partie de tout un pan de l’intelligence artificielle, mais sont tout à fait différentes des approches à base d’apprentissage, de renforcement et de réseaux de neurones, tels que les agents conversationnels (ChatGPT…) ou les IA génératives (Midjourney…) dont on entend beaucoup parler en ce moment dans les médias grands publics. Pour résoudre des problèmes, les métaheuristiques copient en réalité des mécanismes observables dans la nature. J’ai personnelle reprogrammé et expérimenté des algorithmes génétiques, des essaims de particules, des systèmes immunitaires artificiels, des colonies de fourmis… Mais il en existe beaucoup d’autres.
Récemment, j’ai eu l’occasion de découvrir et tester une métaheuristique nouvelle : la recherche par organismes symbiotiques. A chaque itération, de nombreuses solutions au problème sont générées, mais celles-ci évoluent d’une itération à l’autre au travers de trois mécanismes. En sélectionnant plusieurs paires de solutions, de nouvelles solutions sont constituées suivant :
- Le mutualisme (les deux solutions se renforcent mutuellement) ;
- Le commensalisme (une solution se renforce au contact d’une seconde) ;
- Le parasitisme (l’une des deux solutions est renforcée en s’appuyant sur la seconde solution, qui n’est pas conservée).
Implémenté sur MATLAB, les résultats de ce nouveau type d’algorithmes sont spectaculaires !
Crédits
- Image par Erik Karits
- Source : Patrick S.
- Bibliographie : Computers and Structures
Soyez le premier à commenter