Modius - Techblog

  • Ansible
  • Docker
  • DevOps
  • Gastautor werden
  • Newsletter abonnieren
  • Über Mich
  • Kontakt

Ersetzungsverfahren in Kontext von Genetischen Algorithmen

Veröffentlicht am 27. November 2019 von Christian Piazzi Hinterlasse ein Kommentar , Aktualisiert am 27. November 2019
Geschätzte Lesezeit: 1 Minute

Nachdem wir im letzten Artikel Nachkommen für unsere Population erzeugt haben, muss nun entschieden werden welche dieser Nachkommen in der neuen Generation verwendet werden sollen. Dafür verwendet man sogenannte Ersetzungsverfahren (Replacement Schema). Diese wollen wir uns in diesem Artikel etwas genauer anschauen.

Inhaltsverzeichnis

Ersetzungsverfahren im Allgemeinen

Mittels des Ersetzungsverfahren soll ermittelt werden, welche Individuen in der aktuellen Generation ersetzt werden sollen.

Hier gibt es ganz verschiedene Ansätze um dies zu realisieren. Ich habe mich in meinem Projekt mit den folgenden vier Verfahren beschäftigt und diese auch alle in C# realisiert.

  • General Replacement
  • Principle of the Elites
  • Weak Elitism
  • delete-n-latest Schema

Da ich hier im Quellcode einige Verschachtelungen mit den Rekombinationsverfahren habe, verzichte ich in diesem Artikel auf Quellcode Beispiele. Ihr könnt euch aber die gesamte Klasse im Repository auf GitHub anschauen.

General Replacement

Dies ist aus meiner Sicht das einfachste Verfahren. Hier werden alle Individuen der vorhanden Generation durch die Individuen im Marting Pool (Kinder) ersetzt

Hierbei besteht allerdings die Gefahr, gute Individuen aus der alten Generation zu verlieren. Dadurch wird auch die durchschnittliche Qualität der gesamten Generation verringert.

Man hat aber den Vorteil, dass die Wahrscheinlichkeit in einem lokalen Maximum stecken zu bleiben relativ gering ist.

Principle of the Elites

Bei diesem Verfahren bleibt eine Teilmenge der Elterngeneration erhalten. Meistens handelt es sich dabei um die Individuen mit der besten Fitness.

Es werden also n Individuen mit der schlechtesten Fitness aus der Elterngeneration mit Kindern aus dem Marting Pool ersetzt.

Hier ist die Gefahr in einem lokalen Maximum hängen zu bleiben relative hoch, da immer die besten Individuen in die neue Generations überführt werden.

Weak Elitism

Der schwache Elitismus funktioniert im wesentlich genau so wie das Principle of the Elites.

Der Unterschied ist, dass die aus der vorherigen Generation übernommenen Individuen mutiert werden.

delete-n-latest Schema

In diesem Verfahren werden alle generierten Kinder in die neue Generation übernommen. Die n schlechtesten Kinder werden dabei durch Individuen aus der vorherigen Generations ersetzt.

Falls euch der Artikel gefallen hat, ist vielleicht die ganze Artikelserie für euch interessant. Schaut doch mal in den ersten Artikel Grundlagen Genetische Algorithmen rein.

Kategorie: Data Science, Programmierung Tags: delete-n-latest Schema, General Replacement, Genetische Algorithmen, Principle of the Elites, Weak Elitism

Über Christian Piazzi

Ich blogge hier über alles, was mir so in meinem ITler Altag über den Weg läuft =)
Man findet mich privat bei Google+ und Twitter

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kategorien

  • Linux
  • Internet, Bloggen & Co
  • Programmierung
  • Sicherheit
  • Netzwerk & Co
  • Mikrokontroller
  • Windows

Neueste Kommentare

  • Prometheus Installation unter Ubuntu - Modius - Techblog bei Prometheus Installation unter CentOS
  • Rainer bei Docker Container – anzeigen, starten, stoppen und löschen
  • Rainer Wohlfarth bei Docker Container – anzeigen, starten, stoppen und löschen
  • Rainer Wohlfarth bei Docker Container – anzeigen, starten, stoppen und löschen
  • Rainer Wohlfarth bei Docker Container – anzeigen, starten, stoppen und löschen

Werbung

Archive

Kontakt, Datenschutz und Impressum

  • Kontakt
  • Datenschutz
  • Impressum

Schlagwörter

Anleitung Ansible Apache Apple App Store Automatisierung Blogparade C++ Centos centos 7 CentOS7 Container Datenbank DevOps Docker Dr. Racket Dr. Scheme funktional Gastartikel Google HowTo httpd Icinga2 Icinga 2 Installation itsm Linux Minecraft Monitoring mooc MySQL owncloud PHP Plugin Programmierung python Raspberry Pi Schritt für Schritt Server Sicherheit Tutorial Ubuntu Update Windows Wordpress

Copyright © 2025 · Outreach Pro on Genesis Framework · WordPress · Anmelden