Какая библиотека/библиотеки Java для генетических алгоритмов?
Я хочу реализовать несколько простых генетических алгоритмов в Java.
Пока я нашел только JGAP. У кого-то есть опыт? А вы знаете другие библиотеки Java для GA?
Я не хочу писать его самостоятельно, как в GA, написанном на Java, и мне нужно использовать Java, поэтому Что является самой активной библиотекой генетического программирования? также не так полезно.
Ответы
Ответ 1
Я написал Watchmaker Framework, поэтому мои мнения не являются объективными. ECJ, а JGAP - два наиболее установленных варианта и, вероятно, наиболее полный. С другой стороны, их возраст означает, что они нацелены на более старые версии Java, что означает отсутствие дженериков.
В блоге Hidden Clause была сделана серия сообщений (прокрутите список вниз, чтобы увидеть их), сравнив JGAP, ECJ и Watchmaker.
Из фреймворков, которые я не писал, Jenes, вероятно, тот, у которого есть API, который мне больше всего нравится. Он также использует более современный подход, основанный на генериках.
Ответ 2
Возможно, вы посмотрите на GA (Jenetics), который я написал. Он использует библиотеку Javolution для распараллеливания и библиотеку JScience для числовых данных. Я думаю, это стоит посмотреть.
Ответ 3
Я знаю, что Apache Mahout (основанный на Apache Hadoop) имеет нагрузку алгоритмов машинного обучения - хотя не уверен, что именно это вы ищете?
http://mahout.apache.org/
Ответ 4
Это альтернатива, которую я добавил позже для своего собственного назидания. Я использовал JGAP в прошлом и был доволен этим, но у этого, кажется, много отличных примеров, и я думал, что попробую в следующий раз, когда мне понадобится код оптимизации.
http://watchmaker.uncommons.org/
Ответ 5
Отъезд Apache Math - Алгоритм генетики. Я начал смотреть на него. Поскольку я новичок в генетических алгоритмах, не уверен в полноте или нет этой библиотеки. У этого есть хорошая модель лицензирования для многократного использования для академического и коммерческого использования (Apache 2.0).
Ответ 6
Мне нравится Sean Luke ECJ (Evolutionary Computation in Java):
http://cs.gmu.edu/~eclab/projects/ecj/
Я также портировал это (независимо) на С#.NET 4.0 здесь:
http://branecloud.codeplex.com
Бен
Ответ 7
Посмотрите Java GALib, библиотека генетических алгоритмов:
Библиотека GALib, Java Genetic Algorithm (JAR), моделирует хромосомы как действительные числа, символы, строки и последовательности строк. Очень проста в использовании, просто расширьте один из существующих классов GA и реализуйте свою фитнес-функцию. Примеры GA включены.