La programmation génétique est un type de programmation permettant à un programme d'évoluer de façon quasi autonome, en allant un cran plus loin que les algorithme génétique.
Le principe repose sur la théorie de l'évolution de Darwin : l'évolution se crée par la survie des individus les mieux adaptées à leur milieu naturel, et resistant le mieux aux changements. Dans le cas d'un algo génétique, on crée une population d'individu (par example des images), ainsi qu'une règle de survie. Ensuite, après un certain nombre de génération, on obtient des individus censés le mieux répondre à ces critères de survie.
La programmation d'un tel algorithme nécessite de connaitre à l'avance la règle de survie, et ne permet de créer que des individus. La programmation génétique utilise le même principe mais au lieu de génerer des individus, génère des algorithme permettant de créer une panoplie d'individu. Ainsi chaque algorithme possèdera ses propres règles de survie, ainsi que ses fonctions de génération.
Le programme peut ainsi évoluer au dela de ce que prévois son auteur, et donner lieu à des résultats imprévisibles. En art numériques, cette technique a été utilisée notamment par Karl Sims pour ses créatures(voir cette vidéo et celle ci), ainsi que Ken Musgrave (dont je parle sur la note précédente) .
J'ai commencé à reflechir à un moyen de faire ce genre de developpement directement dans Virtools, et je me suis rappellé une experience faite avec un de mes élèves l'an dernier. Le BB Run VSL permet de modifier le script directement pendant l'execution d'une appli Virtools. Il suffit de cocher dans les Settings Runtime Script Change, et un paramètre s'ajoute, acceptant toute chaine de caractère. Il ne reste plus qu'à générer des chaines de caractères contenant du code, code qui génrerera des objets 3D.
Voila, petite astuce qui peut être utilie également pour une idée de jeu que j'avais, et permettre à l'utilisateur de taper son propre code. A suivre donc :-).
La sélection sexuelle... dépend de l'ardeur, du courage, de la rivalité des mâles autant que du discernement, du goût et de la volonté de la femelle.
Charles Darwin