2010-07-21 7 views

risposta

25

ho scritto il Watchmaker Framework quindi le mie opinioni non sono imparziale. ECJ e JGAP sono le due opzioni più consolidate e probabilmente la più completa. D'altra parte la loro età significa che puntano a versioni più vecchie di Java, il che significa che non ci sono generici.

Il blog Hidden Clause ha fatto un series of posts (scorrere l'elenco per vederli) confrontando JGAP, ECJ e Orologiaio.

Dei framework che non ho scritto, Jenes è probabilmente quello con l'API che mi piace di più. Anch'esso utilizza un approccio più moderno basato sui generici.

+1

Risposta utile davvero e bel blog! Mi leggerò attraverso di essa. Grazie anche per aver detto che la tua risposta non è totalmente imparziale. –

+0

Voto positivo a causa del riferimento a Jenes. È una biblioteca magnificamente strutturata – EdgeCaseBerg

1

So che Apache Mahout (basato su Apache Hadoop) ha un carico di algoritmi di tipo machine learning - sebbene non sia sicuro se sia esattamente quello che stai cercando?

http://mahout.apache.org/

+0

Gli algoritmi evolutivi in ​​Mahout utilizzano l'orologiaio. Quindi, se hai bisogno del clustering Hadoop, vai senza Mahout, altrimenti puoi semplicemente usare Watchmaker standalone (in teoria puoi anche fare il cluster di Watchmaker usando Terracotta ma non so come si confronta il rendimento). –

1

Si tratta di un'alternativa che avevo segnalibro per la mia edificazione tardi. In passato ho usato JGAP e sono stato soddisfatto, ma questo sembra avere molti esempi eccellenti e ho pensato di provarlo la prossima volta che avevo bisogno del codice di ottimizzazione.

http://watchmaker.uncommons.org/

0

Dai un'occhiata alla Java GALib, Genetic Algorithm Library: biblioteca

Galib, Java Genetic Algorithm (JAR), modelli cromosomi come numeri reali, caratteri, stringhe e sequenze di stringa. Molto facile da usare, basta estendere una delle classi GA esistenti e implementare la funzione fitness. GA di esempio inclusi.

1

Check out Apache Math - Genetics Algorithm. Ho iniziato a guardarlo. Dato che sono nuovo di Genetics Algorithms, non sono sicuro della completezza o meno di questa libreria. Ha un buon modello di licenza per molteplici usi per uso accademico e commerciale (Apache 2.0).

5

Forse avrai dato un'occhiata al GA (Jenetics) che ho scritto it. Usa la libreria Javolution per la parallelizzazione e la libreria JScience per le cose numeriche. Penso che valga la pena dare un'occhiata.