Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#16

Re: [Artikel] Simulierte Evolution

  Alt 19. Jul 2006, 13:02
Zitat:
Man könnte jetzt einen einfachen Interpreter schreiben mit grundlegenden Anweisungen: Vorwärts gehen, drehen, andere Lebewesen attackieren, if, else, verschiedene Bedingungen, etc... Die Anweisungen müssen dabei so gewählt werden, dass eine ausreichende Entscheidungsvielfalt möglich wird.
Dann erzeugt man, wie in Luckies Artikel beschrieben, eine bestimmte Anzahl von völlig zufälligen Programmen, die sich dann fortpflanzen können.
Genauso arbeiten Genetische Algorithmen.

Stell dir mal vor das deine Anweisungen -> Vorwärts, Rückwärts usw. die Gene = DNA eines Wesens darstellen. Diese Gene werden in der Anfangspopulation komplett per Zufall erzeugt.

Nun lässt man in einer Selektierungsfunktion quasi diese Gene eines Individums als interpretierbares Program ablaufen, quasi eine Arbeitsanweisung wie sich das Individuum bewegen soll. Die Selektierungsfunktion bewertet nun an Hand der erreichten örtlichen Position die Qualität dieses Individuums, zb. 0 bis 100%. Sollte 100% erreicht worden sein so endet im Allgmeinen die komplette Evolution, denn wir haben ja eine maximal perfekte Lösung gefunden. Das ist aber real sehr wenig der Fall, man findet als viel öfters Lösungen die optimial aber nicht maximal gut sind.

Gut nachdem diese Selektierungsfunktion ALLE Individuen eienr Population auf diese Art bewertet hat beginnt man mit der Reproduktion, sprich Fortpflanzung. Dafür gibt es mehrer Ansätze, monogam/asexuell -> Zellteilungen und Klonen, oder sexuell dh. die Gene der neuen Population = Kinder setzen sich per Rekombinationen aller beteiligten Eltern zusammen. Dabei kann es zweigeschlechtlich, multigewschlechtlich usw. zugehen.

Wichtig ist nur eines! Die Häufigkeit in wieweit sich ein Individuum reproduzieren darf ist abhängig von deren Fitness. Die Fitness ist das was als Bewertung durch die Selektierungsfunktion ermittelt wurde. Das bedeutet das ein überaus gutes Individuum sich wesentlich stärker reproduzierenn darf als ein weniger gutes, es produziert also viel mehr Nachkommen und wird somit seine Gene viel stärker in der neuen Population verteilen. Ergo: die neue Population von Individuuen -> Kinder, wird ansich schon besser das Ziel ereichen.

Nach diesem Schritt der Fortpflanzung wird noch ein "Störfaktor" eingebaut, die Mutationen. Dabei werden zu einem geringen Prozentsatz von 1-3 Prozent die Gene der neuen Kinder per Zufall verändert. Dies schafft die Grundlage, als zufällige Varianz, das sich Neues und damit bis dahin Unbekanntes entwickeln kann.

Nach diesen Schritten stirbt die Elternpopulation aus und die neue Kinderpopulation tritt an ihre Stelle. Und der ganze Vorgang begint von neuem.

Die genetischen Algos. sind also defakto sehr effiziente Suchalgorithmen die im Besoinderen enorm rießige, ja unendlich große Suchräume effizient absuchen können und im Worstcase meistens ein Optima-> optimales Resultat erzielen aber nur unter seltesten Umständen das absolut beste Maximum der Lösung.

Neben den Neuronalen Netzen waren die genetischen Algortihmen und die Evolutionsstrategien eines meiner liebsten Hobbies

Gruß Hagen
  Mit Zitat antworten Zitat