Biomimétisme & exemples : algorithmes bio-inspirés

Fruit de l’informatique et de la technologie, les algorithmes sont omniprésents dans nos vies. Qui croirait que le vivant pourrait nous aider à les concevoir ? Et pourtant, le biomimétisme regorge d’exemples d’algorithmes inspirés du vivant. Suivez-nous à la découverte des exemples d’algorithmes en biomimétisme !



Qu’est-ce qu’un algorithme ?


Définition et origine


Un algorithme est une suite d’instructions. C’est une méthode qui permet de résoudre un type de problème. Par exemple, la suite d’instructions qui permet de résoudre un Rubik’s Cube est un algorithme !


Le nom "algorithme" vient du nom du mathématicien persan Al-Khwârizmi, qui en a établi une classification au IXème siècle. Mais les plus vieux exemples d’algorithmes sont bien plus anciens ! Par exemple l’algorithme d’Euclide, qui permet de facilement calculer le plus grand diviseur commun de deux nombres entiers, est daté de la Grèce antique.


Les algorithmes aujourd'hui


Les algorithmes sont partout aujourd'hui, et il en existe de toutes sortes ! D’Internet à l’intelligence artificielle en passant par le traitement de données et le big data, tout vient des algorithmes. On peut par exemple citer le chiffrement RSA, un algorithme de cryptographie très utilisé pour coder et échanger des données confidentielles sur Internet. Et les algorithmes sont utilisés pour résoudre de plus en plus de problèmes. Par exemple, le contenu proposé par les réseaux sociaux est calibré par des algorithmes, pour le faire correspondre aux attentes des utilisateurs.


Pour des problèmes complexes, comme l’évitement d’obstacles par des véhicules, la fonction de ces algorithmes est souvent de rechercher une bonne solution dans un temps suffisamment court. En effet, la solution rigoureusement exacte prendrait trop de temps pour être calculée, à cause des nombreux facteurs impliqués de façon complexe. Ainsi, on va vouloir trouver un chemin qui évite tous les obstacles, mais aussi suffisamment vite pour que le véhicule puisse le suivre en temps direct ! On appelle ce genre d'algorithmes qui recherchent une approximation des heuristiques. Ils sont très pertinents par exemple pour du pilotage automatique de drones !



Les algorithmes bio-inspirés


Beaucoup d’efforts sont aujourd’hui dirigés vers l’amélioration des algorithmes. Améliorer un algorithme peut se faire de plusieurs manières : on peut par exemple réduire le temps nécessaire à son exécution, ce qui permet de trouver une solution en économisant de l’énergie et des ressources.


Il est également possible d’améliorer les performances d’un algorithme, pour obtenir de meilleurs résultats. Par exemple, pour concevoir de meilleurs réseaux d’énergie. En la matière, le biomimétisme est un levier d’innovation surprenant mais extrêmement efficace ! On peut s’inspirer d’un mécanisme biologique ou du comportement individuel d’un être vivant pour concevoir un algorithme.


Le cerveau humain est un exemple notable : nos neurones sont amenés à résoudre quantité de problèmes d’optimisation en des temps très courts ! Mais on peut aussi s’inspirer du comportement de populations animales et/ou végétales, voire d’un écosystème entier ! Les exemples de biomimétisme appliqué aux algorithmes sont légion.



S’inspirer des comportements individuels et des mécanismes du vivant : du blob au cerveau humain


Le comportement individuel d’un être vivant (recherche de nourriture par exemple), peut être assimilé à un algorithme. Il en va de même pour certains mécanismes biologiques (analyse de signaux visuels, organisation du système immunitaire, etc.). Partant de ce constat, de nombreux algorithmes bioinspirés ont déjà vu le jour. Ces algorithmes sont par exemple appliqués à la cybersécurité. Explorons ensemble deux exemples, inspirés du blob et du cerveau humain.



Le blob : une seule cellule, mais plus d’une corde à son réseau


Le blob est un organisme unicellulaire (donc composé d’une seule cellule !). Ce n’est ni un animal, ni un végétal, ni un champignon : c’est ce qu’on appelle un myxomycète. Pour trouver sa nourriture, il crée des réseaux particulièrement ingénieux. En effet, il est vital pour lui de minimiser l’énergie déployée. Le blob parvient à relier différentes sources de nourriture avec des chemins redondants, ce qui permet au blob d’assurer son approvisionnement même si certains sont rompus. Par ailleurs, il arrive à ne pas créer trop de redondances, ce qui limite l’énergie qu’il dépense !


Le blob : un organisme unicellulaire aux réseaux ingénieux


On peut ainsi s’inspirer du comportement du blob pour créer des algorithmes en biomimétisme, qui vont permettre la redondance des réseaux. En effet, les réseaux, par exemple routiers, électriques, ferroviaires, doivent permettre de relier des points de façon résiliente (résistante aux ruptures), en limitant la longueur totale nécessaire pour le faire.


Des chercheurs ont montré que des réseaux créés par ces algorithmes inspirés du blob sont plus résilients grâce à cette redondance ! Ces modèles de réseaux plus fiables peuvent être appliqués dans de nombreux cas, par exemple à des réseaux urbains comme la collecte de déchets.



Notre cortex visuel : un modèle pour les algorithmes


Le cerveau humain possède des capacités incroyables de traitement d’image. Nous sommes en effet capables d’identifier très rapidement ce qui entre dans notre champ de vision. Pour cela, notre cerveau met en place un système de perception particulièrement astucieux : il génère, et corrige en permanence, une image mentale de notre environnement. Quand on ferme nos yeux, on visualise encore mentalement l’environnement qui nous entoure ! C’est ce qu’on appelle le fonctionnement prédictif du cerveau, ou encore le Predictive Coding.


Pour comprendre ce qu’il se passe, on peut représenter le chemin neuronal entre notre œil et notre cerveau comme une succession de blocs, qui va de la rétine au cortex. Chaque bloc reconnaît un certain type de contenu : l’un va ajouter la reconnaissance des formes, un autre celle des couleurs, et un des derniers blocs celle des visages. Et chaque bloc conserve la dernière perception qu’il reçoit en attendant la prochaine, et s’en sert pour prévoir ce que les autres blocs ont perçu. Les erreurs de prédiction des blocs leur sont alors transmises.


Organisation du cortex visuel : les prédictions sont transmises par les flèches oranges, et les erreurs de prédiction par les flèches grises


Notre cerveau est ainsi extrêmement réactif pour détecter les anomalies. Un changement de couleur ? Pas besoin d’analyser l’image en détail pour le détecter !


En s’inspirant de ce principe, on peut générer des algorithmes de traitement d’image sous forme de réseaux de neurones, qui reproduisent une structure en chaîne de blocs. Ces algorithmes sont aujourd’hui la référence dans le domaine de la reconnaissance d’image en temps réel. En effet, le fonctionnement par chaîne de blocs est particulièrement adapté au traitement rapide d’un flux vidéo. Ces algorithmes ont donc de très belles applications dans la gestion des véhicules autonomes, avec par exemple des problématiques d’analyse de l’environnement et de détection des obstacles. Et il existe beaucoup d’autres exemples d’algorithmes de traitement de l’information bio-inspirés en biomimétisme !



S’inspirer des comportements des populations et des écosystèmes pour des algorithmes d’optimisation


Les comportements de populations, animales ou végétales, sont aussi une excellente source d’inspiration ! En effet, les groupes d’animaux sociaux, par exemple, ont des organisations particulières, et sont régis par des règles complexes. Cela inspire des méthodes de recherche de solution pour des algorithmes.



Algorithmes inspirés des comportements de groupe de certaines espèces animales


La stratégie de chasse des loups gris a ainsi inspiré l’algorithme dit “Grey Wolf Optimizer” (GWO). Cet algorithme s’inspire de la répartition des rôles dans une meute de loups, et des mécanismes de chasse que la meute met en œuvre.


Les loups sont répartis dans une meute selon 3 rôles : le mâle et la femelle dominants sont les alphas. Ce sont eux qui mènent la chasse. Leurs premiers subordonnés sont les bêtas. Ils participent à la chasse, sous les ordres des alphas. Enfin, les autres loups sont les omégas et ne participent pas à la chasse. L'algorithme GWO représente la solution recherchée comme la proie, la meilleure solution à l’essai comme un loup alpha, les deux solutions suivantes comme des loups bêtas et les autres solutions comme des omégas.


La chasse des loups commence par une phase de traque. Pour cela, ils s’éloignent les uns des autres. Lorsque la proie est repérée, ils convergent alors pour l’encercler : c’est la phase d’encerclement. C’est exactement ce que fait l’algorithme GWO ! Cela définit un ensemble de solutions restreint pour les évaluer. La traque est guidée principalement par les alphas, avec l’aide des bêtas. Les loups convergent ensuite vers la meilleure solution, qui prend la place de l’alpha si elle s’avère meilleure.


Après plusieurs essais, cet algorithme converge vers une très bonne solution. L’algorithme GWO permet donc de trouver une excellente solution en explorant les solutions possibles de manière ingénieuse : l’algorithme n’explore qu’un nombre limité de solutions, et résout donc le problème en un temps raisonnable.


Cet algorithme a notamment été appliqué à la gestion de smart grids électriques, car il permettait de trouver de meilleures solutions que les algorithmes classiques, avec un temps de calcul raisonnable. Encore un exemple de coup de force du biomimétisme !



Une meute de loups chassant un bison : phase d'encerclement


Conclusion


Les algorithmes représentent aujourd’hui près de 10 % de l’ensemble de la recherche en biomimétisme ! Les algorithmes bio-inspirés trouvent des applications dans tous les domaines : de l’ingénierie au transport en passant par l’urbanisme et l’énergie. Que ce soit en s’inspirant des mécanismes ou des comportements du vivant, le nombre de possibilités est très élevé. Il existe encore d’autres catégories, comme celle des algorithmes évolutionnistes inspirés de l’évolution du vivant. Étant donné les besoins actuels en algorithmes, et le potentiel du biomimétisme dans ce domaine, il est certain que le nombre d’algorithmes bio-inspirés n’a pas fini de croître !



Sources