Ein genetischer Algorithmus erfordert eine Möglichkeit, gute Gene mit größerer Ausbreitung zu belohnen. Wenn Sie keine Möglichkeit hätten, gute Gene von schlechten Genen zu unterscheiden, könnten Sie überhaupt keinen genetischen Algorithmus verwenden.
Damit ein genetischer Algorithmus funktioniert, müssen Sie zulassen, dass sich die besser geeigneten Lösungen gegenüber den weniger geeigneten Lösungen reproduzieren. Andernfalls würden Sie nur zufällige Lösungen ausprobieren.
Hier ist ein typisches Beispiel aus meiner eigenen Erfahrung: Bei der Entwicklung eines der ersten Sprachwahlsysteme fiel es uns schwer, einen Algorithmus zu finden, mit dem ein gesprochener Name einer gespeicherten Kopie desselben Namens zugeordnet werden kann. Uns wurde gesagt, dass eine Genauigkeit von 95% bei der Auswahl eines von 25 Namen ausreichend sei. Wir hatten ein gespeichertes Korpus von Leuten, die jeweils 10 Mal 25 Namen sagten.
Zuerst haben wir ein Eingabesystem entwickelt, das die Länge des gesprochenen Wortes und die Frequenzenergie in mehreren normalisierten Teilen davon misst. Dann entwickelten wir einen Algorithmus, der den Übereinstimmungen dieser Parameter Gewichte zuwies und zwei Parametersätze anhand dieser Gewichte verglich.
Nun hatten wir einen letzten Schritt - wie sollte der Wert dieser Gewichte sein?
Wir haben 1.000 zufällige Gewichtssätze erstellt und diese gegen den Korpus getestet. Wir haben die 500 weggeworfen, die am schlechtesten abschnitten. Für die restlichen 500 haben wir jedes dupliziert und in einem von ihnen zufällig eines der Gewichte angehoben oder abgesenkt.
Wir haben diesen Vorgang etwa zwei Wochen lang auf einem Computer wiederholt, bis er schließlich eine Reihe von Gewichten hatte, die das 95% ige Genauigkeitskriterium erfüllten. Dann haben wir es an Daten getestet, die nicht im Korpus sind. Es war ungefähr 92% genau. Wir liefen also länger, um eine Genauigkeit von 98% für den Korpus zu erreichen, und dieser Satz von Gewichten ergab eine Genauigkeit von 95% für Daten, die nicht im Korpus enthalten waren.
Der Punkt ist also, dass Sie eine Fitnessfunktion haben müssen, um einen genetischen Algorithmus auszuführen. Wenn Sie keine Möglichkeit haben, gute Gene von schlechten Genen zu unterscheiden, wie können Sie sicherstellen, dass sich die guten Gene reproduzieren und die schlechten Gene nicht?