Genetisches Programmieren - ein Paradigma für die Evolution
Vorträge
Genetisches Programmieren - ein Paradigma
für die Evolution
Dr. Michael Vielhaber
Departamento Ingeniería Matemática
Universidad de La Frontera
Temuco, Chile
Genetisches Programmieren ist das automatische, zufallsgesteuerte Erstellen von Programmen / Routinen, um eine beschriebene Aufgabe bestmöglich anzunähern. Die Entwicklung verläuft in Generationen, Generation 0 ist die "Ursuppe", Routinen ohne nennenswerten Bezug zur Problemstellung (lediglich Anzahl und Typ der verwendeten Parameter), aber mit dem syntaktischen Inhalt der verwendeten Programmiersprache. Eine neue Generation entsteht probabilistisch gemäß einer "Fitness"-Funktion, die möglichst umfassend die Aufgabenstellung abdecken sollte und jedem Programm einen Wert "Erfüllung der Aufgabe" zuweist. Neue Programme entstehen im wesentlichen durch Umhängen von Teilbäumen in den Syntaxbäumen der vorherigen Generation, über Programmgrenzen hinweg zufällig ausgewählt, aber mit höherer Wahrscheinlichkeit bei besserer Fitness.
Beispiel:
"for(i=1; j < n*n; i++)" und "while (k > 9)" haben für die Teilbäume "j < n*n" und "k > 9" dieselbe Signatur BOOL (Bedingung), daraus kann also "for(i=1; k > 9; i++)" oder "while (j < n*n)" entstehen (der sonstige jeweilige Kontext bleibt gleich). Das Anwendungsbeispiel wird aus dem Bereich Molekularbiologie stammen.
Literatur:
John R. Koza, "Genetic Programming"
John R. Koza, "Genetic Programming II"
Zeit: Dienstag, den 1. Juli 2003, 17 Uhr c.t.
Ort:
Institut für Neuro- und Bioinformatik
TZL, Seelandstr. 1a, Geb. 5
Seminarraum OG.3

