Genetische Algorithmen sindheuristische, stochastische Optimierungsmethoden, die 1975 von Holland vorgeschlagen wurden. Sie basieren auf der Idee der Evolution mit natürlicher Auslese, die von Darwin vorgeschlagen wurde.
Genetische Algorithmen arbeiten mit einer Vielzahl vonIndividuen, dh eine Bevölkerung, in der jeder Einzelne als Lösung für ein bestimmtes Problem dienen kann. Jeder Einzelne muss nach dem Grad seiner Fitness beurteilt werden, abhängig davon, wie gut die Lösung des entsprechenden Problems ist. Betrachtet man dies in Bezug auf die Natur, wird dort der Wirkungsgrad des Organismus im Wettbewerb um Ressourcen bewertet. Personen, die wesentlich besser angepasst sind, können durch Kreuzung mit anderen Bevölkerungsgruppen Nachkommen reproduzieren. Dies wird zur Ursache für die Entstehung neuer Individuen, die einige Merkmale kombinieren, die von ihren Eltern geerbt werden.
Weniger angepasste Individuen können sich reproduzieren.Die Nachkommen sind weniger wahrscheinlich, so dass die Eigenschaften, die sie besitzen, allmählich aus der gesamten Bevölkerung verschwinden, wenn sie sich entwickeln. Manchmal treten spontane Veränderungen in Genen oder Mutationen auf. Es zeigt sich, dass die guten Eigenschaften von Generation zu Generation über die gesamte Bevölkerung verteilt werden. Das Überqueren der Individuen, die die Stärksten sind, führt dazu, dass die Such-Sites mit den größten Perspektiven durchsucht werden. Am Ende gibt es eine Lösung für das Problem. Genetische Algorithmen haben den Vorteil, dass sie in relativ kurzer Zeit optimale Lösungen finden. Es lohnt sich, diese Frage zur Programmierung zu betrachten.
Genetische Algorithmen bestehen aus folgenden Komponenten:
- Das Chromosom, das die Lösung des Problems ist, besteht aus Genen. Diese Chromosomenpopulation gilt als initial;
- eine Reihe von Betreibern (zur Erzeugung neuer Lösungen auf der Grundlage neuer Bevölkerungsgruppen);
- objektive Funktion (zur Beurteilung der Eignung von Entscheidungen).
Für genetische Algorithmen gibt esStandardsatz von Operatoren: Auswahl, Mutation und Kreuzung. Sie können die Verwendung genetischer Algorithmen in Betracht ziehen, indem Sie klären, wozu der jeweilige Operator bestimmt ist. Der Auswahloperator wählt die Chromosomen nach den Werten ihrer Fitnessfunktionen aus. Es gibt mindestens zwei der beliebtesten Anbieter: ein Turnier und ein Roulette. Die Roulette-Methode beinhaltet die Auswahl von Individuen durch n Starts. Für jedes Mitglied der Bevölkerung enthält das Roulette-Rad einen Sektor der erforderlichen Größe. Angehörige einer Bevölkerung mit einem deutlich höheren Fitnessindex werden mit größerer Wahrscheinlichkeit ausgewählt als solche mit niedrigerer Fitness. Wenn die Turniermethode in Turnieren implementiert ist, können Sie n Personen auswählen. Jedes Turnier basiert auf einer Stichprobe von k Elementen aus einer Grundgesamtheit, von denen die beste Person ausgewählt werden sollte.
Wenn wir weiterhin Algorithmen in Betracht ziehenBei der Programmierung lohnt es sich, über eine Methode namens Crossing zu sprechen. Ein Kreuzungsoperator tauscht Teile von Chromosomen zwischen einem Paar oder Chromosomen derselben Population aus.
Der letzte Operator, Mutationen, ist eine stochastische Veränderung eines Teils der Chromosomen.
Eine spezifische Betrachtung der Anwendung genetischer Algorithmen ist ein voluminöseres Material, als es in den Artikel passt, und sollte daher separat betrachtet werden.