Richtigstellung: Evolutionäre Programmierung in der Informatik

Der Begriff evolutionäre Programmierung, wie er in der Informatik verwendet wird, erweckt womöglich den Eindruck, als bestehe ein Zusammenhang zwischen Optimierungsalgorithmen der Informatik und der Hypothese einer Makroevolution. Dies ist jedoch nicht der Fall!

Der Ansatz der evolutionäre Programmierung besteht darin, dass man dem Zufall mitunter bei der Lösung von komplexen Aufgabenstellungen einen gewissen Stellenwert einräumt, da einem eine andere mathematische Annäherung aufgrund der Aufgabenkomplexität vor eine unlösbare Aufgabe stellt. Tatsächlich probiert man eine bestimmte Konfiguration aus, ermittelt das Ergebnis, verändert die Konfiguration geringfügig, testet erneut das Ergebnis und justiert so lange, bis das optimale Ergebnis vorliegt. Es handelt sich also bei dem Begriff evolutionäre Programmierung lediglich um ein Trial-and-Error-Verfahren oder auch Näherungsverfahren, bei dem durch klar definierte Optimierungskriterien eine bereits zuvor definierte optimale Lösung ermittelt wird. Winzige Fehler in der Beschreibung der Optimierungskriterien führen zu den abstrusesten Ergebnissen und enden oftmals in Endlosschleifen.

Die evolutionäre Programmierung hat höchstens einige Parallelen zur Mikroevolution: Eine Funktion mit fester Anzahl Parameter wird vorgegeben, und diese Parameter werden geändert, bis sie alle optimal zueinander passen. Weder die Funktion entsteht neu noch irgendein Parameter. Es geht nur um Abänderung bestehender Parameter und um das Variieren bereits bestehender Funktionalität. Man beachte folgendes Zitat aus der Fachzeitschrift c’t:

„Die Wissenschaftler nutzen das Prinzip der evolutiven Programmierung: Das zu optimierende Problem wird durch eine so genannte ‚Fitnessfunktion‘ beschrieben, die die Eignung einer spezifischen Problemlösung in Abhängigkeit von den zu beeinflussenden Parametern beschreibt. Die Parameter werden dann variiert und kombiniert, die Fitnessfunktion des Nachkommen wird berechnet und das Verfahren wird in einer Schleife von neuem durchlaufen.“ (c’t 18/2002 S.48)

Die Terminologie, die aus der Evolutionstheorie entlehnt wurde, sollte einen daher nicht verwirren.