Elitismus in GA: Soll ich die Eliten als Eltern auswählen lassen?

8

Ich bin etwas verwirrt über das elitism Konzept im genetischen Algorithmus (und anderen evolutionären Algorithmen). Wenn ich 1 (oder mehr) Elite-Individuen für die nächste Generation reserviere und dann kopiere,

  • Sollte ich die Elitelösung (en) in der Elternauswahl der aktuellen Generation berücksichtigen (eine neue Population erstellen)?
  • Oder sollte ich andere benutzen (die Eliten beiseite lassen), um eine neue Bevölkerung zu schaffen und die Eliten direkt an die nächste Generation zu kopieren?

Wenn letzteres, was ist der Gebrauch von Elitismus? Ist es nur, um nicht die beste Lösung zu verlieren? Denn in diesem Schema wird es überhaupt nicht zur Konvergenz beitragen.

zum Beispiel hier unter dem Crossover / Mutationsteil Es wird gesagt, dass die Eliten nicht teilnehmen.

(Natürlich kann die gleiche Frage zum Überlebenden-Auswahl -Teil gestellt werden.)

    
Mahm00d 31.01.2013, 09:27
quelle

4 Antworten

9

Elitismus bedeutet nur, dass die passendste Handvoll Individuen einen Platz in der nächsten Generation haben - im Allgemeinen ohne Mutation. Sie sollten immer noch in der Lage sein, als Eltern ausgewählt zu werden, zusätzlich dazu, dass sie selbst vorgebracht werden.

Dieser Artikel nimmt einen leicht merkwürdigen Ansatz zum Elitismus. Es schlägt vor, die am besten geeignete Person zu duplizieren - diese Person erhält zwei reservierte Slots in der nächsten Generation. Einer dieser Slots ist mutiert, der andere nicht. Das bedeutet, dass in der nächsten Generation mindestens einer dieser Slots als Elternteil in die allgemeine Bevölkerung zurückkehren wird und möglicherweise zwei, wenn beide überholt werden.

Es scheint ein praktikabler Ansatz zu sein. In beiden Fällen - ob nun Eliten als Eltern auswählend, diese auch fortsetzend oder die Eliten abtötend und dann mutierend - sollten die Eliten immer noch eng mit der Bevölkerung verbunden sein, damit sie ihre nützlichen Gene teilen können.

@ Peladaos Antwort und Kommentar sind ebenfalls absolut zutreffend - insbesondere hinsichtlich der Notwendigkeit, Vielfalt zu erhalten und vorzeitige Konvergenz zu vermeiden, und die Eliten sollten nur einen kleinen Teil der Bevölkerung repräsentieren.

    
Joel Rein 31.01.2013 12:05
quelle
5

Ich sehe keinen Grund, warum man die Eliten nicht als Eltern benutzen würde, außer vielleicht einem kleinen Verlust an Vielfalt. (Die Anzahl der Eliten sollte daher im Vergleich zur Bevölkerungsgröße klein sein).

Da die Eliten die besten Individuen sind, sind sie wertvolle Kandidaten, um neue Individuen mittels Crossover zu erschaffen, solange die Eliten selbst (unverändert) in die neue Population kopiert werden.

Es ist immer wichtig, genügend Vielfalt zu bewahren und vorzeitige Konvergenz zu vermeiden, auch wenn Eliten nicht als Eltern benutzt werden.

    
Peladao 31.01.2013 10:23
quelle
1

Es gibt verschiedene Methoden, um Elitismus zu implementieren, wie auch die anderen gültigen Antworten zeigen.
Im Allgemeinen kopieren Sie für Elitismus einfach N Personen in der neuen Generation, ohne irgendeine Art von Änderung vorzunehmen. Jedoch können diese Individuen durch Fitness-Ranking (wahrer Elitismus) ausgewählt werden, was garantiert, dass die Besten wirklich "gespeichert" werden, oder sie können über proportionale Auswahl ausgewählt werden (wie in dem Buch Machine Learning von Mitchell T .). Letzteres ist das selbe, was bei der Rouletteauswahl verwendet wird, aber beachte, dass in diesem Fall die Individuen nicht zum Erzeugen neuer Nachkommen verwendet werden, sondern direkt in die neue Population kopiert werden (Überlebende!). Wenn die Auswahl für den Elitismus proportional ist, erhalten wir einen guten Kompromiss zwischen mangelnder Vielfalt und vorzeitiger Überanpassung.

Es ist kontraproduktiv, wenn man echten Elitismus anwendet und vermeidet, die "Elite" als Eltern zu verwenden, insbesondere wenn man die Gültigkeit der Crossover-Operation berücksichtigt.

    
5agado 29.04.2014 15:17
quelle
0

Kurz gesagt, die wichtigsten Punkte zur Verwendung von Elitismus sind:

  1. Die Zahl der Eliten in der Bevölkerung sollte 10% der Gesamtbevölkerung nicht überschreiten, um die Vielfalt zu erhalten.
  2. Davon können 5% direkt zur nächsten Generation gehören, und die verbleibenden sollten Crossover und Mutation mit anderen Nichtelite-Populationen eingehen.
Kishor Bhoyar 25.04.2016 05:39
quelle