Какой генетический алгоритм даст интересные / удивительные результаты и не даст скучной / очевидной конечной точки? - PullRequest
2 голосов
/ 28 января 2011

Я считаю, что моделирование генетических алгоритмов, таких как this , невероятно увлекательно, и я думаю, что было бы забавно создавать свои собственные.Но проблема с большинством симуляций, подобных этой, заключается в том, что они обычно просто восхождение на гору до предсказуемого идеального результата, который можно было бы легко получить под руководством человека.У интересного моделирования было бы бесчисленное множество разных решений, которые значительно отличались бы друг от друга и были бы удивительны для человека, наблюдающего за ними.

Так как же я буду пытаться создать нечто подобное?Есть ли смысл ожидать того, что я описываю?Существуют ли какие-либо «стандартные» симуляции (в том смысле, что игра жизни вроде стандартизирована), из которых я мог бы черпать вдохновение?

Ответы [ 4 ]

3 голосов
/ 28 января 2011

Зависит от того, что вы подразумеваете под интересно . Это довольно субъективный термин. Однажды я запрограммировал анализатор графиков для развлечения. Программа сначала позволит вам построить любой f (x) по вашему выбору и установить границы. Вторым шагом было создание дерева, содержащего наиболее распространенные бинарные операторы (+ - * /) в случайно сгенерированной функции x. Программа создаст пул таких случайных функций, проверит, насколько они соответствуют исходной кривой, о которой идет речь, затем скрестит и изменит некоторые функции в пуле.

Результаты были довольно крутые. Совершенно странная функция часто была бы довольно хорошим приближением к функции запроса. Возможно, не самая полезная программа, но, тем не менее, веселая.

1 голос
/ 08 февраля 2011

Я думаю, EvoLisa - это GA, который дает интересные результаты.В каком-то смысле выходные данные предсказуемы, поскольку вы пытаетесь сопоставить известное изображение.С другой стороны, детали вывода довольно крутые.

1 голос
/ 31 января 2011

Чтобы получить интересное эмерджентное поведение (которое непредсказуемо, но полезно), вероятно, необходимо дать генетическому алгоритму интересную задачу для изучения, а не просто задачу оптимизации.

Например, Car Builder, которыйВы упомянули (хотя это само по себе довольно неплохо) просто использование фиксированной дороги в качестве фитнес-функции.Это позволяет генетическому алгоритму легко находить оптимальное решение, однако, если дорога будет слегка меняться, это оптимальное решение может больше не работать, поскольку пригодность решения может вырасти в зависимости от банально мелких деталей в ландшафте и не быть надежной.к изменениям к нему.На самом деле, автомобили развивались не по одной фиксированной тестовой дороге, а по разным дорогам и местностям.Использование постоянно меняющейся дороги в качестве (динамической) функции пригодности, генерируемой случайными факторами, но в пределах определенных реалистичных границ для склонов и т. Д., Было бы более реалистичной и полезной функцией пригодности.

1 голос
/ 29 января 2011

Ну, во-первых, генетический алгоритм не выполняет восхождение на гору, иначе он застрянет на первых локальных максимумах / минимумах.

Кроме того, как вы можете сказать, что он не дает удивительных результатов?Посмотрите на этот автомобиль здесь , например, произведенный около поколения 7 для одного из пробных заездов, которые я пробовал.Это очень старая модель велосипеда.Как вы можете сказать, что это не удивительный результат, когда людям потребовались тысячелетия, чтобы придумать ту же модель?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...