2010-07-21 30 views

Respuesta

25

escribí el Watchmaker Framework así que mis opiniones no son imparciales. ECJ y JGAP son las dos opciones más establecidas y probablemente las más completas. Por otro lado, su edad significa que se dirigen a versiones anteriores de Java, lo que significa que no hay genéricos.

El blog Hidden Clause hizo un series of posts (desplácese hacia abajo en la lista para verlos) comparando JGAP, ECJ y Watchmaker.

De los marcos que no escribí, Jenes es probablemente el que tiene la API que más me gusta. También utiliza un enfoque más moderno basado en genéricos.

+1

¡Respuesta útil de hecho y muy buen blog! Me leeré a través de eso. Gracias por mencionar también que su respuesta no es totalmente imparcial. –

+0

Voto a favor debido a la referencia a Jenes. Es una hermosa biblioteca de estructuras – EdgeCaseBerg

1

Sé que Apache Mahout (basado en Apache Hadoop) tiene una carga de algoritmos de tipo de aprendizaje automático, aunque no está seguro de si es exactamente lo que está buscando.

http://mahout.apache.org/

+0

Algoritmos evolutivos en Mahout usan relojero. Por lo tanto, si necesita las agrupaciones de Hadoop, no use Mahout, de lo contrario, puede usar Relojero independiente (teóricamente también puede agrupar Relojeros utilizando Terracota, pero no sé cómo se compara el rendimiento). –

1

Esta es una alternativa que había marcado como favorito para mi propia edificación más tarde. He usado JGAP en el pasado y estoy contento con él, pero este parece tener muchos ejemplos excelentes y pensé en probarlo la próxima vez que necesitase un código de optimización.

http://watchmaker.uncommons.org/

0

Tenga una mirada en Java GALib, Genetic Algorithm Library: Biblioteca

Galib, Java Algoritmo Genético (JAR), modelos de cromosomas como números reales, caracteres, cadenas y secuencias de caracteres. Muy fácil de usar, solo extienda una de las clases existentes de GA e implemente su función de acondicionamiento físico. Ejemplos de GA incluidos.

1

Echa un vistazo Apache Math - Genetics Algorithm. Empecé a mirarlo. Como soy nuevo en Algoritmos Genéticos, no estoy seguro de la amplitud o no de esta biblioteca. Tiene un modelo de licencia agradable para usos múltiples para uso académico y comercial (Apache 2.0).

5

Tal vez eche un vistazo a la GA (Jenetics) que he escrito es Utiliza la biblioteca Javolution para la paralelización y la biblioteca JScience para las cosas numéricas. Creo que vale la pena echarle un vistazo.

Cuestiones relacionadas