В последнее время меня интересует тема генетических алгоритмов, но я не могу найти хороший ресурс. Если вы знаете какой-либо хороший ресурс, книгу или сайт, я был бы признателен. У меня есть полное знание алгоритмов и искусственного интеллекта, но я ищу что-то с хорошим введением в Генетическое программирование.
Ресурс генетического алгоритма
Ответ 1
Лучшие ссылки для меня до сих пор:
- Генетические алгоритмы в поиске, Оптимизация и машина Обучение Дэвидом Э. Голдбергом: a классический, по-прежнему считающийся библии ГП многими.
- Введение в генетику Алгоритмы Мелани Митчелл: более поздней, чем предыдущая ссылка, и вероятно, более интересные примеры.
- Полевое руководство по генетическому программированию от Poli, Langdon, McPhee: это больше помогает руководству и получает очень хорошие отзывы.
Также, если вы абсолютный новичок, я предлагаю вам начать с Hello World of Genetics Algorithms. Ничего похожего на хороший чистый пример для начала.
Ответ 2
Я нашел книгу Мелани Митчелл, Введение в генетические алгоритмы, чтобы быть очень хорошим. Для более широкого охвата тем эволюционных вычислений Введение в эволюционные вычисления Эйбеном и Смитом также стоит.
Если вы только начинаете, я недавно написал вводную статью, которая может быть полезной.
В моей статье рассматриваются следующие ссылки как в этой статье, так и на главной странице для моей эволюционной вычислительной структуры.
Ответ 3
Я знаю, что это старый вопрос, но ответа еще не принято, поэтому я решил добавить свой собственный вклад. Один из лучших бесплатных ресурсов, на мой взгляд, для всех вещей, связанных с эволюционными вычислениями (генетические алгоритмы, эволюционные стратегии, генетическое программирование и т.д.) - это онлайн-книга Шона Люка Essentials метаэвристики.
Ответ 4
Это хорошая бесплатная книга по теме
http://www.lulu.com/items/volume_63/2167000/2167025/2/print/book.pdf
Ответ 5
Вот новая статья Роджера Альсинга о создании картины "Mona Lisa" с генетическим алгоритмом: http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/
Отредактировано для удаления горячей ссылки на изображение. Смотрите: http://rogeralsing.files.wordpress.com/2008/12/evolutionofmonalisa1.gif
Я внедрил свою собственную версию этого алгоритма:
См. http://plindenbaum.blogspot.com/2008/12/random-notes-2008-12.html
Ответ 6
Существует большое введение в генетические алгоритмы AI-Junkie.com, а также учебные пособия по многим другим методам ИИ и машинного обучения. Учебник по генетическим алгоритмам направлен на то, чтобы "объяснить генетические алгоритмы, достаточные для того, чтобы вы могли использовать их в своих собственных проектах", в то же время сохраняя математику как можно больше.
Ответ 7
Умные алгоритмы: рецепты программирования с природой
Джейсон Браунли PhD.
Эта книга доступна бесплатно в PDF. Книга охватывает большое количество вдохновленных на природу алгоритмов, включая эволюционные, ройные и нейронные алгоритмы.
Ответ 8
Краткое введение, которое я написал давно, доступно здесь, но лучшее краткое введение здесь.
Для более широкого и всеобъемлющего, хотя и немного устаревшего списка ресурсов посетите comp.ai.genetic FAQ.
Ответ 9
Если я могу подключить одну из моих любимых книг, "Руководство по разработке алгоритмов" от Steve Skiena имеет отличный раздел по генетическим алгоритмам (плюс много других интересных эвристик для решения различных проблем).
Ответ 10
Ответ 11
Ответ 12
"Введение в генетические алгоритмы" http://www.burns-stat.com/pages/Tutor/genetic.html
Ответ 13
Для вводного подхода (с применением дилеммы заключенного) см. в:
Ответ 14
Я реализовал генетический алгоритм с java-дженериками. https://github.com/juanmf/ga
Он применит 3 оператора (Мутация, пересечение, Выбор) и развивает популяцию с учетом конкретных реализаций Индивидуального, Генерала, FitnessMeter и заводов, представленных как spring beans.
/*This is all you have to add to the Spring App context
* before running the application
*/
@Configuration
public class Config {
@Bean(name="individualFactory")
public IndividualFactory getIndividualFactory() {
return new Team.TeamFactory();
}
@Bean(name="populationFactory")
public PopulationFactory getPopulationFactory() {
return new Team.TeamPopulationFactory();
}
@Bean(name="fitnessMeter")
public FitnessMeter getFitnessMeter() {
System.out.println("getFitnessMeter");
return new TeamAptitudeMeter();
}
}
Это дизайн, внутри grandt в качестве примера используется реализация конкретного решения проблемы.