Знаете ли вы ещё подобные проекты?

Недавно наткнулся на вот такое интересное видео с реализацией некоего генетического алгоритма. Знаете ещё подобные интересные проекты с открытым исходным кодом? Желательно на Python или C++
  • Вопрос задан
  • 950 просмотров
Пригласить эксперта
Ответы на вопрос 3
@dmshar
Таких проектов - с открытым исходным кодом в том числе - достаточно много в сети. Вы бы предварительно рассказали, что именно вы считаете "интересным" проектом. Например, то что я увидел, мне интересным не показался.
Ответ написан
@d0lph1n
Здравствуйте.

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

А генетических алгоритмов много. Мне, к примеру, на университетских курсах повезло познакомиться только с тремя, и описанное мной ниже - это т.н. классический ГА:
  • вначале берется случайный набор чисел (популяция особей)
  • из контекста задачи выбирается функция проверки качества (фитнесс-функция, ее-то мы и оптимизируем)
  • числа "спариваются" с определенной вероятностью, часто в районе 0,7 (кроссинговером называется: можно, например, местами поменять старшие и младшие двоичные разряды),
  • появляются и мутируют "дети" с небольшой вероятностью (можно инвертировать один бит, например)
  • при помощи фитнесс-функции собранные вместе предки и потомки ранжируются (чем выше/ниже показатель фитнесс-функции, тем лучше/хуже или хуже/лучше особь)
  • по результатам ранжирования худшие особи отбрасываются

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

Т.е. возможно, что автор ролика создал параметризуемую симуляцию на основе клеточных автоматов, и эти параметры он оптимизировал при помощи ГА. Задача не столько математическая или техническая, сколько "креативная". А это значит, что Вам, вероятно, будет интереснее разработать самому какой-нибудь комбайн на стыке ГА и клеточных алгоритмов, чем копаться в чужом, возможно, малопонятном коде.
Ответ написан
Комментировать
dimastik1986
@dimastik1986
учусь
возможно немного не по теме и не совсем свежая инфа, но мне симпатична тема машинного самообучения, в частности интересна catboost и еще ссылочка с инфой. Считаю, что те кто овладеет этой технологией раньше остальных (основной массы), тот получит неплохое преимущество. Я думаю все понимают, что сегодня тот кто владеет информацией - тот правит миром!

видосик 1
видосик 2
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы