Мой эксперимент в генетических алгоритмах + исходный код
Здравствуйте, товарищи.
Увидел я, значит, недавний пост посвящённый генетическому алгоритму, и загорелся идеей повторить его - http://pikabu.ru/story/geneticheskiy_algoritm_v_deystvii_463...
Следует начать с того, что программист из меня не самый продвинутый, нигде не учился, только книжки читал да велосипеды изобретал. И затеял я всю эту историю в основном для того чтобы испытать/отточить свои навыки программирования.
Алгоритм повторял исключительно по информации, описанной в видео, исходные коды не смотрел.
Итак, я начал писать программу... На Game Maker Studio... Ну а что, есть же люди, которые линукс на холодильники ставят?
На работу над программой ушло примерно два дня, за которые механика трижды полностью переписывалась. В результате я получил более-менее успешный прототип симулятора эволюции и приступил с полевым испытаниям.
Сначала боты были очень тупыми, тыкались в стены и умирали стоя на месте
(Прошу прощения за качество гифок, очень сильно сожралось при уменьшении размеров до разрешённых на пикабу)
После одной ночи работы программы стали заметны первые зачатки "разума":
После двух ночей "разум" заметно улучшился, вместе с продолжительностью жизни ботов:
Для особо упоротых товарищей (вроде меня), и для желающих поржать над моим кривым кодом, выкладываю исходник всей этой истории. Откомментировал в коде всё, что смог.
Ссылка на исходник - http://almostgames.ru/games/evol.gmz
Спасибо за внимание.
P.S. Однажды наступит день, когда я вернусь к этой затее и напишу полноценный гибкий, расширяемый симулятор на каком-нибудь нормальном языке...
Генетический алгоритм в действии
Авторское описание:
"Эксперимент а области генетических алгоритмов."
И новый ролик автора, только без комментариев:
Авторское описание:
"Пишу код для нового эксперимента с генетическим алгоритмом. Реализовал пока только часть, но уже можно запустить и посмотреть результат.
Цели нет. Боты живут своей жизнью. Энергию получают от "Солнца", либо поедая других ботов. Поедая сородичей, они краснеют. Солнечной энергии много сверху, внизу её мало и недостаточно для поддержания жизни. Боты могут узнавать родствеников, чей код-ДНК отличается не более, чем на 1 байт. Боты размножаются почкованием, когда накопят достаточно энергии. Каждый 4 потомок имеет мутацию в ДНК. Умирают боты, когда кончается энергия или когда нужно почковаться, а вокруг нет свободного места. Трупики - светло-серые.
Youtube ужасно портит видео. Перепробывал разные варианты :("
За видео благодарим товарища foo52ru:
https://www.youtube.com/channel/UCP1JsJgeNs86oqLGnjfGo9Q
Онлайн сервис по автоматическому составлению расписаний/графиков дежурств online.
На основе генетического алгоритма минимизации целевой (штрафной) функции. Уверен, многим пригодится в жизни/работе!
Генетические алгоритмы
Посмотрел недавно пост http://pikabu.ru/story/algoritmyi_4087156. Не знаю - как вам, а как по мне, так это наглядная модель современного образования в школах (:



