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"