Статистически оптимизировать оператор выбора генетических алгоритмов - PullRequest
2 голосов
/ 16 октября 2011

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

1 Ответ

1 голос
/ 24 октября 2011

Для общего генетического алгоритма ищите стратегии niching / crowding . Они пытаются сохранить разнообразное население, например, хранение уникальных или очень разнообразных решений и замена решений в очень густонаселенных регионах. Это особенно полезно при многоцелевой оптимизации, где «решением» является совокупность недоминируемых индивидов.

Если вы не выполняете многоцелевую оптимизацию и вам не нужно поддерживать разнородную популяцию на протяжении всего цикла, вы также можете использовать Генетический алгоритм отбора потомства (OSGA) . Он сравнивает детей со своими родителями и рассматривает их только для следующего населения, если они превзошли своих родителей по качеству. Это показано для: а) работы даже с беспристрастным случайным выбором родителей и б) сохранения разнообразия до очень позднего периода поиска, когда популяция сходится к одному решению.

Вы можете, например, использовать наше программное обеспечение HeuristicLab , пробовать различные конфигурации генетических алгоритмов и анализировать их поведение. Программное обеспечение GPL и работает на Windows.

...