|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Yuri Burger 2:468/85.3 22 May 2001 20:34:51 To : vitalie vrabie Subject : FAQ: 3/4 --------------------------------------------------------------------------------
19 May 01 05:24, vitalie vrabie wrote to Yuri Burger:
vv> NAN, for instance), но кто знает что за задача будет завтра - может там их
vv> лучше будет кроссировать как-то иначе? :)
Последнее что я делал: берем несколько разных кроссоверов, пару
рекомбинаторов, пару счетчиков и один рандомный генератор. Каждой из этих фич
присваиваем вероятность применения. Hачально ставим им всем одинаковую
верочтность. Потом, на каждом цикле выбираем одну из них, используя указанные
вероятности (по принципу рулетки) и применяем. Если примененная фича дала
улучшение текушего "оптимума", то увеличиваем ей вероятность применения. Если
она дала хотяб не "мертвое" решение, то увеличиваем вероятность в меньшей
степени. Повторяем цикл.
В результате наиболее высокую частоту применения будет иметь та из фич,
которая оптимальна для текущей задачи, тоесть имеем универсальный расширенный
кроссовер (во как завернул :)
И что смешно - это таки работает :)
Только есть проблемка, я держу для каждой фичи счетчик хороших применений,
вероятность потом расчитую как счетчик делить на сумму всех счетчиков. Вот тока
через определенное время они начнут переполняться. Hужно их уменьшать... Hо как
это сделать, сохранив текущее рапределение вероятностей? Вроде чета
нормализации нужно применить, да не получалось у меня... видать таки нужно
думать 8-\
Kрюгер.
---
* Origin: А хто тут есть, у кого есть за что поесть? (2:468/85.3)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/23173b0acf98.html, оценка из 5, голосов 10
|