Leçon 5: Les algorithmes génétiques Bonjour tout le monde, Les concepts d'évolution et d'adaptation sont omniprésents dans les systèmes complexes Comme vous le verrez dans la prochaine leçon, les mécanismes de sélections naturelles darwiniennes sont pertinents non seulement, pour les organismes biologiques mais s'avèrent être également centrales pour systèmes sociaux et les systèmes technologiques. Les informaticiens ont été intéressés par la simulation de systèmes biologiques depuis que les ordinateurs existent. Dans cette leçon, je traiterai d'un exemple du calcul informatique des systèmes inspirés de la biologie appelé 'algorithmes génétiques'. Ces algorithmes ont été initialement développés dans le but de modéliser évolution et adaptation à travers différentes disciplines mais elles ont également connu un grand succès en intelligence artificielle, une manière de faire évoluer les programmes et autres éléments informatiques sans avoir à les développer soi-même. Parfois, les résultats de ces algorithmes sont très surprenants Les solutions qu'ils découvrent, aucun être humain n'aurait pu y penser. Et parfois, les solutions obtenues ont plus de succès que celles conçues par l'homme. Dans cette leçon, je traiterai de la façon dont les algorithmes génétiques fonctionnent et comment ils ont été utilisés en pratique. Je commencerai par présenter les notions de bases de l'évolution par sélection naturelle. Tout d'abord, les organismes héritent des traits de leurs parents Les traits hérités présentent des variations, par mutation et recombinaison sexuelle et autres mécanismes créant des variations. Mais vu la compétition pour des resources limitées les organismes les mieux adaptés à l'environment ont tendance à produire plus de descendants. C'est l'idée de Darwin à propos de la sélection naturelle La sélection est due à la compétition De cette manière, les traits produisant des individus adaptés se propagent dans la population. Très tôt, les informaticiens inspirés par la biologie ont remarqué que cela pouvait se produire non seulement dans la nature, mais également dans les ordinateurs où les organismes informatiques tels que des programmes, peuvent jouer le rôle d'organismes biologiques et évoluer selon l'évolution darwinienne. Une des premières personnes à développer cette idée en détail fut l'informaticien John Holland de l'Université du Michigan qui dans les années 60 et 70 a développé l'idée d'algorithmes génétiques également connus sous le nom the GA's Holland a introduit la notion the GA's dans son livre "Adaptation dans les systèmes naturels et atificiels" publié en 1975 Ce livre présentait un cadre mathématique permettant de comprendre l'adaptation d'une façon très générale. D'une façon qui va au-delà de l'adaptation biologique et englobe l'adaptation sociale, technologique et artificielle dans les ordinateurs. La dernière partie a conduit au développement des algorithmes génétiques et de leur application dans beaucoup de problèmes pratiques Voici quelques exemples d'utilisation d'algorithmes génétiques dans le monde réel Juste pour vous donner un sens de la diversité des applications, GA's ont été utilisés pour la conception de pièces d'avion par GE et Boeing Egalement par la NASA pour concevoir des antennes d'engins spatiaux John Deere & Co ont utilisé des algorithmes génétiques pour optimiser les horaires des lignes d'assemblage. Ils ont été utilisés par plusieurs compagnies pour aider dans la découverte automatisée de médicaments. GA's ont été utilisés pour apprendre à détecter des opérations frauduleuses dans l'utilisation de cartes de crédit et des échanges financiers Ils ont été utilisés pour développer des programmes pour l'analyse d'images satellites à Los Alamos et ils ont été utilisés pour créer des animations réalistes par ordinateur dans plusieurs films dont "Le Seigneur des Anneaux" et "Troie"