human
Veuillez expliquer ce qu'est la "programmation génétique"
gpt
En intelligence artificielle, la programmation génétique (GP) est une technique d'évolution des programmes, à partir d'une population de programmes inadaptés (généralement aléatoires), adaptés à une tâche particulière en appliquant des opérations analogues aux processus génétiques naturels à la population de programmes.
Les opérations sont les suivantes : sélection des programmes les plus adaptés pour la reproduction (crossover) et la mutation selon une mesure de fitness prédéfinie, généralement la compétence à la tâche souhaitée. L'opération de croisement consiste à échanger des parties aléatoires de paires sélectionnées (parents) pour produire une progéniture nouvelle et différente qui fait partie de la nouvelle génération de programmes. La mutation implique la substitution d'une partie aléatoire d'un programme par une autre partie aléatoire d'un programme. Certains programmes non sélectionnés pour la reproduction sont copiés de la génération actuelle vers la nouvelle génération. Ensuite, la sélection et les autres opérations sont appliquées de manière récursive à la nouvelle génération de programmes.
En règle générale, les membres de chaque nouvelle génération sont en moyenne plus en forme que les membres de la génération précédente, et le meilleur programme de la génération est souvent meilleur que les meilleurs programmes de la génération des générations précédentes. La fin de l'évolution se produit généralement lorsqu'un programme individuel atteint un niveau de compétence ou de condition physique prédéfini.
Il peut arriver et il arrive souvent qu'une exécution particulière de l'algorithme entraîne une convergence prématurée vers un maximum local qui n'est pas une solution globalement optimale ou même bonne. Plusieurs passages (des dizaines à des centaines) sont généralement nécessaires pour produire un très bon résultat. Il peut également être nécessaire d'avoir une taille de population de départ importante et une variabilité des individus pour éviter les pathologies.