Genetische Algorithmen
Worum geht es hier?
Hier findet sich eine Alternativ-Version der Abschnitte 2.4.5.4 und 2.4.5.5., in denen genetische Algorithmen als heuristische Näherungsverfahren behandelt werden.
Grob beschrieben werden folgende inhaltlichen Änderungen vorgenommen.
- In 2.4.5.4 wird eine graphische Darstellung des Grundprinzips genetischer (oder allgemein: evolutionärer) Algorithmen hinzugefügt. Diese ersetzt den Auszug aus dem Wikipedia-Artikel, auf den aber trotzdem verwiesen wird.
- In 2.4.5.5 wird der Quellcode geändert, dass es neben der Mutationswahrscheinlichkeit für einzelne Bits auch eine Kreuzungswahrscheinlichkeit eingeführt wird. Hintergrund ist, dass die Kreuzung ein zwar nützlicher, aber auch sehr zerstörerischer Operator sein kann, der die Stabilisierung einer bereits guten Lösung massiv behindern kann.
- Der Quellcode in 2.4.5.5 wird auch dahingehend geändert, dass ein Brute-Force-Lösungsansatz parallel dazu bereits implementiert angeboten wird. Die Anzahl der Gegenstände wird von 10 auf 23 erhöht, weil dann die Laufzeitunterschiede auf einem typischen PC augenfällig werden.