|
GA Sequencer
Immesse delle coppie di dati di input, il programma utilizza un algoritmo genetico per cercare di trovare una funzione che leghi tali dati. Il cuore del codice è il namespace GeneticEngine, dove sono dichiarate tutte le classi più importanti: ExpressionTree rappresenta un'espressione matematica; Boid rappresenta un singolo esemplare della popolazione delle soluzioni possibili; GeneticEngine è l'engine stesso, che si occupa di far evolvere la popolazione, di attuare l'accoppiamento tra le soluzioni migliori e di generare mutazioni casuali attraverso le generazioni. Il tutto non è particolarmente ottimizzato, ed è in grado di trovare legami espressi solo dagli operatori +, -, *, / e ^ (gli unici che ho implementato).
N.B.: i sorgenti in "Sfoglia il sorgente" sono più recenti di quelli nel pacchetto zip in "Download". |