24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Смотри, если ввести в алгоритм одни углы - получается что-то типа листочков-корешков. С другими углами - что-то похожее на эмбрионы. А если прикрутить туда эволюционный механизм - получится что-то напоминающее скелетик.
Пробую по всякому автоматизировать fitness-функцию (вместо абстрактного "больше нравится" решить какую-то более конкретную задачу). В качестве примера - отбирать для скрещивания те фракталы, точки которых находятся ближе всего к центру (считаем для каждой точки расстояние до центральной точки. Сумму расстояний используем в качестве коэффициента приспособленности).
На первой пикче первое поколение (начальная популяция) фракталов с рандомными генотипами. В каждом фрактале 8 генов. Размер популяции - 20 фракталов. Вероятность мутации - 20% Вторая пикча - в 15 поколении появляется наиболее приспособленный мутант, который к 21 поколению заполняет половину популяции. К 29 поколению вся популяция заполнена этим фракталов. Следующие 20 популяций все мутанты оказываются менее приспособленными и сразу вымирают.
А теперь, допустим, произошел какой-то катаклизм. Изменилась среда обитания. Вместо "ближе к центру" будем скрещивать "дальше к центру".
Первое поколение на пикче 1. К 43 поколению получили что хотели. Результат не оптимальный - дальше мутации очень медленно и незначительно улучшают приспособленность поколения. На четвертой пикче стрелочкой отметил центр.
В двух словах сча. На первой пикче интерфасе. По умолчанию генерируется 3 популяции, в каждой по 20 фракталов (особей). Популяции нумеруются по количеству генов у особей. Например, 14-я популяция содержит особи с 14 генами в генотипах. Предлагается произвести отбор, нажимая кнопочку "Select" тех особей, которые больше всего нравятся пользователю. Чем больше их выбрать - тем лучше. Потом запустить эволюцию, нажав на кнопочку "Start evolution". Сайтик вначале будет генерировать в основном одну муть, но потом (уже начиная со второго-третьего) у фракталов начнут появляться некоторые характерные признаки (эт конечно если не лениться жмякать кнопочку "Select").
Если по хардкору, каждый фрактал рисуется с помощью набора углов. Набор углов (генов) запишем в массив (генотип). В популяции находится фиксированное число особей (фракталов) с генотипами сгенерированными случайным образом. Пользователь, поочередно сравнивая два фрактала, выбирает тот, который ему больше нравится, тем самым повышая приспособленность выбранного фрактала. Те фракталы, которые пользователь выбирает чаще, "выживают" и скрещиваются. Оставшиеся фракталы "вымирают". Скрещивание происходит так: берем двух предков, комбинируем их гены (опять же случайным образом) и заполняем ими генотипы двух потомков. Проделываем эту операцию для всех приспособленных фракталов. Предками и потомками заполняем новую популяцию. Некоторый процент особей (фракталов) в новой популяции мутирует - берем случайный ген из генотипа и заменяем его на случайное значение. Тем самым добавляем разнообразия в генофонд фракталов.
>>153528971 Процент мутаций де-т на 70 ставишь на пару следующий селекций. Особи перестают развиваться, когда популяция попадает в локальный оптимум. На графике в точке А - локальный, в точке B - глобальный. Чтобы проскочить пропасть между ними, дефолтных настроек мутаций не хватает. Вообще, процент мутаций можно смело до 50% вкручивать.
>>153530798 Коротенько, если рисовать фракталы из 8 углов (например) и использовать углы 15°, 30°, 45°, 60° и 75° (со знаком + и -), общее число фракталов, которые можно нарисовать - 100 000 000. Если использовать 9 углов - плюс еще нолик к этом числу. 10 углов - два нолика... Некоторые из фракталов выглядят оче годно, другие не оче. Но все эти фракталы просмотреть вручную, чтобы найти самые годные - не реально. Вот такие задачи как раз и решаются генетическими алгоритмами (эвристический алгоритм поиска же). В рандомный перебор всех фракталов генетический алгоритм добавляет смысл.
>>153525699 (OP) >Эволюции -тред Причем тут эволюция? Сука поэтому не люблю хабр, напыщеные дауны пишут обычную и по большей части пустую вообщем-то поебень но заворачивают это все в ЧСВ у кучу намеков на интерес и важность.
Объясни, дебил, почему эволюция, а не деградация? У тебя вот видно что в динамике твои фракталы вырождаются в говно. Где тут эволюция. Понимаешь, тупой, долбоеб, термин эволюция в контексте программирования четко связан с программами симулирования жизни, вот к ним действительно применим такой термин. А у тебя, дегранант, не эволюция а просто кликбэйт и ЧСВ дауна, который очень хотел придать значимости своему высеру.
Рейт пазязя: https://habrahabr.ru/post/328568/ :3
Смотри, если ввести в алгоритм одни углы - получается что-то типа листочков-корешков. С другими углами - что-то похожее на эмбрионы. А если прикрутить туда эволюционный механизм - получится что-то напоминающее скелетик.
Дискас.