Documentation PostgreSQL 8.0.25 | ||||
---|---|---|---|---|
Précédent | Arrière rapide | Chapitre 46. Optimiseur génétique de requêtes (Genetic Query Optimizer) | Avance rapide | Suivant |
L'algorithme génétique (GA) est une méthode heuristique d'optimisation qui opère via des recherches non déterministes au hasard. L'ensemble des solutions possibles pour le problème d'optimisation est considéré comme une population d'individus. Le degré d'adaptation d'un individu dans son environnement est spécifié par sa forme physique.
Les coordonnées d'un individu dans l'espace de recherche sont représentées par des chromosomes, en fait un ensemble de chaînes de caractères. Un gène est une sous-section d'un chromosome qui code la valeur d'un seul paramètre en cours d'optimisation. Les codages typiques pour un gène pourraient être binary ou integer.
À travers la simulation des opérations évolutives (recombinaison, mutation et sélection), de nouvelles générations de points de recherche sont trouvées affichant une meilleure forme physique que leurs ancêtres.
D'après la FAQ de comp.ai.genetic, il ne peut pas être dit plus fortement qu'un GA n'est pas une recherche effectuée seulement au hasard. Un GA utilise des processus stochastiques mais le résultat n'est pas du tout dû au hasard (mieux que cela).
Figure 46-1. Diagramme structuré d'un algorithme génétique
+=========================================+ |>>>>>>>>>>> Algorithme GA <<<<<<<<<<<<<<| +=========================================+ | INITIALISE t := 0 | +=========================================+ | INITIALISE P(t) | +=========================================+ | évalue FORMEPHYSIQUE de P(t) | +=========================================+ | tant que pas ARRET CRITERE faire | | +-------------------------------------+ | | P'(t) := RECOMBINAISON{P(t)} | | +-------------------------------------+ | | P''(t) := MUTATION{P'(t)} | | +-------------------------------------+ | | P(t+1) := SELECTION{P''(t) + P(t)} | | +-------------------------------------+ | | évalue FORMEPHYSIQUE de P''(t) | | +-------------------------------------+ | | t := t + 1 | +===+=====================================+
Précédent | Sommaire | Suivant |
Optimiseur génétique de requêtes (Genetic Query Optimizer) | Niveau supérieur | Optimisation génétique des requêtes (GEQO) avec PostgreSQL |