Genetischer Algo-was?

Dr Franke Ghostwriter
Genetischer Algo-was?

Hallo Mitstreiter,

also die Ausführungen über den gentischen Algorhythmus sind ganz gut verständlich, wie ich finde. Bei der Umsetzung hakt es dann aber schon. Wie bitte bestimme ich die Mächtigkeit des Lösungsraumes. Wie fit ist ein Individuum? Wie mache ich eine Kreuzung (Neu-Deutsch: Cross-over)?

Kann das jemand mit wenigen Worten erklären, oder ein Schriftstück empfehlen, welchem das (für Normalversteher) einfach entnehmbar ist?

Lieben Gruß!
 
Scharras,
ich denke, die haben die Formulierungen im Skript so allgemein gehalten, weil die Anwendung für verschiedenste Probleme auf unterschiedlichste Weise angewendet werden kann.
Mächtigkeit des Lösungsraum: Ist die Anzahl aller zulässigen Lösungen (also alle Lösungen, die die Nebenbedingungen erfüllen; Zielfunktionswert ist egal)
Wie fit ist ein Individuum: Zielfunktionswert
Wie mache ich eine Kreuzung: Teile der einen Lösung mit teilen einer anderen kombinieren (wird wohl beim Beispiel unten klar)

Ein Beispiel dazu:

Stell Dir vor, Du hast 6 Kapitalanlagemöglichkeiten und Du musst für jede entscheiden, ob Du sie in Dein Portfolio nimmst, oder nicht. Du muss also 6 mal eine 0-1 Entscheidung treffen. Die Lösung (0,0,0,0,0,0) bedeutet, dass Du keine Kapitalanlage auswählst. Zusätzlich hast du eine (wahrscheinlich sehr komplizierte) Zielfunktion, die Deinen Gewinn beschreibt. Der Einfachheit halber, gibt es keine weiteren Nebenbedingungen.

Bei fast allen anderen Algorithmen geht man von einer Startlösung aus und versucht diese sukzessive zu verbessern. Beim genetischen Algorithmus hast immer eine Gruppe von Lösungen, die unterschiedlich "fit" sind (die einen unterschiedlich guten Zielfunktionswert haben). Angenommen, wir betrachten in unserem Beispiel 2 Lösungen (Populationsgröße =2). Und zwar am Anfang
(0,1,1,0,1,0) und
(1,0,1,1,1,0)
Jetzt könnte ich diese beiden Lösungen z.B. dadurch "kreuzen" in dem ich die ersten 3 Variablen der ersten Lösung nehme (0,1,1), und die anderen 3 Variablen von der zweiten Lösung (1,1,0):
(0,1,1,1,1,0)
Natürlich kann man sich da die unterschiedlichsten "Kreuzuungsmöglichkeiten" einfallen lassen. Gewöhnlich wir man zunächst eine sehr große Nachkommenschaft bilden, also sagen wir 10 Kreuzungen und die beiden "Elternlösungen" behalten wir auch. Aus denen werden dann die beiden fittesten ausgewählt und das Ganze beginnt von vorn.

Puh, jetzt wollte ich das kurz und knapp erklären, ist aber doch recht lang geworden. Na ja, ich hoffe es hilft Dir weiter. Ansonsten mache ich gerne noch einen Anlauf. Gruß

rianja2000
 
Also Leute,

vielen Dank! Das hilft zunächst einmal, dass ich ein wenig intensiver über diese Dinge nachdenken kann, und noch einen weiteren Zugang habe, als lediglich über das Skript. Insbesondere die Anleitung von rianja hat geholfen. Vielen Dank!

Lieben Gruß!
 
Oben