Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Herausforderung: Entwicklung Eines Genetischen Algorithmus | Genetische Algorithmen
Bio-inspirierte Algorithmen
Abschnitt 2. Kapitel 4
single

single

Herausforderung: Entwicklung Eines Genetischen Algorithmus

Swipe um das Menü anzuzeigen

Aufgabe

Wischen, um mit dem Codieren zu beginnen

Sie sollen die Hauptschleife eines genetischen Algorithmus implementieren, um den Maximalwert einer mathematischen Funktion zu finden. Die zu optimierende Funktion ist eine einfache Parabel: f(x) = -(x - 3)² + 10. Diese Funktion hat ein deutliches Maximum bei x = 3 mit dem Funktionswert 10.

Alle Hilfsfunktionen (init_population, fitness_function, tournament_selection, arithmetic_crossover, mutate) sowie die Struktur der Hauptschleife sind bereits vorgegeben.

Ihre Aufgabe ist es, die Kernlogik des evolutionären Prozesses auszufüllen:

  1. Innerhalb der Haupt-for-Schleife muss zunächst die gesamte population bewertet werden, indem die fitness_function auf jedes Individuum angewendet wird. Speichern Sie diese Werte in der Liste fitness.
  2. Ermitteln Sie den Index des leistungsstärksten Individuums der aktuellen Generation und speichern Sie ihn in gen_best_idx. (Tipp: np.argmax() ist hierfür hilfreich).
  3. Innerhalb der Schleife while len(new_population) < POP_SIZE: muss ein neues Individuum erzeugt werden durch:
  • Auswahl von parent1 mit der Funktion tournament_selection.
  • Auswahl von parent2 mit der Funktion tournament_selection.
  • Erzeugung eines child durch Kombination der Eltern mit der Funktion arithmetic_crossover.
  • Anwendung von Variation auf das child mit der Funktion mutate.
  1. Nach der while-Schleife die alte population durch die new_population ersetzen, um die Generation abzuschließen.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 4
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

some-alt