Fitness-basierte Funktionstests in Lisp
2025-04-07
Dieser Code definiert eine Lisp-Funktion namens `fitness`, die die Fitness einer generierten Funktion bewertet. Sie vergleicht die Ausgabe der generierten Funktion (`form`) mit der Ausgabe einer Zielfunktion (`fitness-fn`) und berechnet einen Fitnesswert zwischen 0 und 1, wobei ein höherer Wert eine bessere Fitness anzeigt. Die Funktion enthält Fehlerbehandlung; sie gibt `NIL` zurück, wenn die generierte Funktion illegalen Code ausführt. `fitness` iteriert über eine Liste von Test-Eingaben (`test-input`) und gibt schließlich das Produkt aller Fitnesswerte als Gesamtfitness zurück. Beispiele zeigen, wie die Funktion auf verschiedene generierte Funktionen angewendet wird und ihre Fitnesswerte berechnet werden.
Entwicklung
Funktionstest