Genetische Algorithmen

Die Idee der genetischen Algorithmen ist relativ einfach. Man versucht durch Simulation der Evolution gute Individuen zu schaffen, die eine Aufgabe gut erfüllen. In der Praxis sieht es so aus, daß gen. Algorithmen gut verwendet werden können, um Funktionen zu optimieren. Diese Funktionen können sehr komplex sein, da lediglich die Funktionswerte berechnet werden müssen. Das bedeutet, daß keine Informationen über Ableitungen etc. notwendig sind.
Genetische Algorithmen beruhen auf zwei Beobachtungen der Evolution : Mutation und Selektion. Bevor diese biologischen Erscheinungen simuliert werden können, muß das zu lösende Problem entsprechend kodiert werden. Dazu müssen die einzelnen Individuen kodiert werden sowie eine Funktion festgelegt werden, die diese bewerten kann. In der Natur sind die Individuen durch DNA kodiert. Diese wird im Computer durch eine Bitfolge dargestellt. Im Beispiel der Funktionsoptimierung stellen die Individuen Werte aus dem Definitionsbereich der Funktion dar. Die Bewertungsfunktion in der Natur ist die natürliche Auslese. Diese legt fest, wie gut ein Individuum an seine Umwelt angepaßt ist, um dort überleben zu können. Auf dem Computer muß dies durch eine berechnenbare Funktion festgelegt werden. Im Beispiel der Funktionsoptimierung handelt es sich einfach um die zu optimierende Funktion selbst.
In der Natur treten mehrere Arten von Mutationen auf. Darunter fallen Änderungen der Anzahl oder Struktur von Chromosomen sowie Genmutationen.
Auf dem Rechner werden meist nur Punktmutation (d.h. die Invertierung eines Bits) und Crossing Over ( eine Simulation der sexuellen Fortpflanzung) simuliert. Beim Crossing Over werden für zwei Bitstrings von Individuen eine oder mehrere Bruchstellen zufällig bestimmt. Die entsprechenden Teile werden wechselseitig vertauscht. Dadurch enstehen dan zwei neue Individuen.Das Selektionskriterium (also z.B. Funktionswert) bestimmt, welche Individuen zur Fortpflanzung herangezogen werden.
Befindet man sich in der Nähe des Optimums, wird häufig ein konventionelles Optimierungsverfahren nachgeschaltet, da dieses schneller und sicherer das Optimum findet.

Genetische Algorithmen können direkt verwendet werden, um ein neuronales netz zu trainieren. Die Gewichtsmatrix de Netzes entspricht einem Individuum. Das Selektionskriterium ist die Klassifikationsleistung des Netzes mit dieser Gewichtsmatrix.