822

Эволюция наглядно

Дана популяция "автомобилей" 200 особей.

Цель - проехать как можно дальше.


Изначально все особи почти идентичны и представляют собой правильный многоугольник. При падении часть из них заваливается в ту или иную сторону. Так как изначально колес у них нет - проехать много не получается. И тут вступает в дело эволюция в виде микромутаций, а именно - берется три особи, сравнивают насколько каждая особь продвинулась по жизненному пути. Две самые успешные уничтожают третью и спариваются.


Результат спаривания - нечто общее между двух родителей + элемент мутации.

В результате такого отбора полезные мутации накапливаются, а бесполезные уничтожаются. Популяция видоизменяется и рано или поздно одноколесные особи вытесняют бесколесных. Затем появляются двухколесные и "бедные бедные неандертальцы".


В углу два графика - верхний максимально пройденный путь лучшей особью и среднее по популяции. Нижний - количество колес у популяции.


Скачать программу эмулятор и развлечь себя вывертами эволюции можно тут

11
Автор поста оценил этот комментарий

При дефолтных настройках программа не генерирует дорогу - машинки лежат в углу.

раскрыть ветку (1)
8
Автор поста оценил этот комментарий

Изначально там пауза включена. Попробуй пробелом.

0
Автор поста оценил этот комментарий
Они проезжают меньше двухколесных

Почему?

Пока не перевернутся 3 колесо не работает, а если перевернутся - поедут дальше на 3 колесе.

раскрыть ветку (1)
5
Автор поста оценил этот комментарий

Мутации случайны. Третье колесо не обязательно появится на вершине треугольника, оно может оказаться во впадине или на одной линии с другим.

показать ответы
0
Автор поста оценил этот комментарий

А почему не появляются трехколесные?

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

Они появляются, но не выдерживают конкуренции. Хотя в некоторых случаях, при особенностях трассы, они могут получить преимущества перед двухколесными.

показать ответы
0
Автор поста оценил этот комментарий

Что есть "breed threshold" и "track start"/"looser parent"?

раскрыть ветку (1)
3
Автор поста оценил этот комментарий
"track start"/"looser parent"

Откуда будут стартовать новые особи. С начала трека или с места, где умер родитель неудачник. В последнем случае старт будет перемещаться за эволюцией. 


"breed threshold" - порог породы. Не знаю на что точно влияет.

показать ответы
7
Автор поста оценил этот комментарий

breed threshold определяет раз во сколько игровых тиков происходит попытка размножения.

Кстати, вот тут оригинальная статья на хабре: https://habrahabr.ru/post/185882/

Было забавно через неделю пребывания на пикабу увидеть тут свою древнюю поделку :)

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Вы автор? Очень круто получилось!

показать ответы
5
Автор поста оценил этот комментарий
Генетический алгоритм?
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Совершенно верно.

7
Автор поста оценил этот комментарий

Я понимаю если бы увеличение количества колес требовало неких затрат.

Но если это ничего не стоит, то мне нужна такая машина.

Иллюстрация к комментарию
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Как я уже говорил - мутации случайны. Колеса появляются случайно. Если в результате колесо появилось удачно - оно проедет дальше, и будет участвовать в "размножении".


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


Ну и если мы говорим об одной и той же программе. Та ссылка, что кинули на сайт, она немного про другое.

0
Автор поста оценил этот комментарий

А чем они хуже? Переворачивание им не страшно.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Они проезжают меньше двухколесных - это единственный критерий отбора. Как только трехколесный проедет дальше - его мутация закрепится в популяции.

показать ответы
0
Автор поста оценил этот комментарий
Взял популяцию в 3 особи. Исходя из описанного следущее поколение должно спавнится в точке смерти машины, занявшей 2-е место. Они упорнорно спавнятся в месте смерти третьей машины, которая по логике вещей должна быть отбракована двумя другими и не участвовать в размножении...
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Если выбран пункт "родитель лузер", то, как я понял, респаун будет как раз на месте той особи, которую убили. Вообще автор пишет, что чем больше популяция, тем чище эксперимент.

показать ответы
0
Автор поста оценил этот комментарий
Как рассчитывается, какие особи участвуют в размножении, то есть каким образом происходит естественный отбор? С выбранной опцией "Самый неудачный родитель", часть машин упорно спавнится практически в самом начале, часть спавна слегка продвинулась вперед. Некоторые потомки умирают сразу заспавнившись. Вопрос, почему они вообще участвуют в размножении, являясь аутсайдерами всей популяции?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

https://habrahabr.ru/post/185882/

Автор довольно подробно описывает алгоритм. Если вкратце, то берутся три случайные особи из всей популяции, две самые успешные убивают третью. Затем скрещиваются, потомок получает случайным образом гены от обоих родителей плюс немного мутации.


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

показать ответы
0
Автор поста оценил этот комментарий

Я наверное тупой, но как его запустить?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

https://drive.google.com/open?id=1n_Img3UUQo9HO76aRbo8YU4jAj...

На гитхабе похоже исходники только, там еще компилировать надо. Я на гуглдиск скинул то что раньше скачал, попробуй.

показать ответы
0
Автор поста оценил этот комментарий

Файл не найден.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

https://github.com/shtras/BlindAM

Ссылка на гитхаб автора. Можно скачать оттуда.

показать ответы
0
Автор поста оценил этот комментарий

можно ссылку на скачивание

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Последняя строчка в посте.

показать ответы
3
Автор поста оценил этот комментарий

Как скорость развития повысить?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

"a" и "d"

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества