Проекты*

Невероятная эволюция изоморфов (применение генетических алгоритмов в программировании)

Работа призёра открытой городской научно-практической конференции «Инженеры будущего» в секции «Информационные технологии, программирование, прикладная математика, социальный инжиниринг» среди работ учащихся 10−11 классов

Направление работы: Программирование
Авторы работы: ГБОУ Школа № 1505
Предметы: Биология, Информатика
Классы: 10 класс
Мероприятия: Открытая городская научно-практическая конференция «Инженеры будущего» 18−20 апреля 2019 года

Цель

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

Задачи

  1. Изучить принцип работы «генетических алгоритмов».
  2. Придумать свой вариант алгоритма и написать программу на его основе.
  3. Исследовать результаты: как изменение параметров влияет на процесс эволюции.

Описание

Программа, написанная на языке Processing, симулирующая процесс компьютерной эволюции на основе генетических алгоритмов. Аналогичные программы: «Weasel program», созданная Ричардом Докинзом; BoxCar2D − сайт с нарисованными из треугольников и кругов машинками. Созданная в рамках работы автора программа превращает случайный набор фигур (треугольников, эллипсов или квадратов) в картинку, похожую на заданную. Процесс происходит поэтапно, и на каждом «поколении» (круге работы программы) результат лучше, чем на предыдущем, хотя и не идеальный.

Результат

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

Также была создана мобильная версия программы:

https://play.google.com/store/apps/details?id=evolution.of.isomorphes

Перспективы использования результатов работы

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