2016-07-18 1 views
2

Selon le livre Essentials of Metaheuristics et ce Stack Overflow thread, je devrais sélectionner les chromosomes parents dans la population sur laquelle je devrais tuer pour faire de la place pour les nouveaux. Ma question vient de votre expérience, idéalement combien dois-je tuer, si ma taille de population est de 100? ou si ma population est de 50?Idéalement, combien de chromosomes dans la population devrais-je tuer durant la sélection à l'état d'équilibre?

Note: Je suppose également ici que le number of offspring == number of parents to kill

Répondre

1

Je commencerais avec un ou deux enfants et une taille de population fixe (1).

Les populations à l'état stationnaire présentent souvent des problèmes de convergence prématurée, vous devez donc utiliser certaines techniques pour limiter ce problème.

Quelques idées simples sont:

  • essayer tournament selection avec une faible pression sélective (même 2 personnes pourraient être assez)
  • utiliser un paramètre lié élitisme pour contrôler la probabilité de remplacement
  • n » t remplacer les individus aléatoires. L'enfant est en concurrence avec l'un de ses deux parents (algorithme de «compétition familiale»).

(1) Au moins au début. De nombreux articles décrivent les avantages d'une population de taille variable, mais ils introduisent divers paramètres qui sont plus difficiles à régler et nécessitent plus d'efforts.

E.g. Dans «Algorithme génétique à taille de population variable» (par les Arabes), chaque individu a un âge et une durée de vie.

1

Il n'y a pas vraiment de « bonne réponse » à cette question, car en général AGs sont utilisés sur des problèmes extrêmement complexes avec de grands espaces de recherche. Bien que l'hypothèse que vous faites soit valide (bien que, naturellement, il y ait de la place pour expérimenter des mécanismes qui augmentent/diminuent la population au fil du temps), la seule façon de répondre à votre question est d'expérimenter. , en utilisant la (les) fonction (s) de mise en forme, et voir lesquelles fonctionnent le mieux avec les réglages.

1

Cela dépend du nombre de produits que votre algorithme génère à chaque génération. Par exemple, vous avez m parents individuels que vous appelez des chromosomes.Et vous produisez n des descendants. Maintenant, vous avez m+n individus, et vous devriez garder la taille de votre population. Vous devez donc sélectionner n individus à tuer. Généralement, vous pouvez choisir le pire n individus à tuer. Et pour mon expérience, m est égal à n.