Турнирный отбор — это метод выбора особи из популяции особей в эволюционном алгоритме . [1] [2] Турнирный отбор включает в себя проведение нескольких «турниров» среди нескольких особей (или « хромосом »), выбранных случайным образом из популяции. Победитель каждого турнира (с лучшей приспособленностью) выбирается для кроссовера . Давление отбора затем является вероятностной мерой вероятности участия хромосомы в турнире на основе размера пула отбора участников, легко регулируется путем изменения размера турнира. Причина в том, что если размер турнира больше, слабые особи имеют меньшие шансы быть выбранными, потому что, если слабая особь выбрана для участия в турнире, существует более высокая вероятность того, что более сильная особь также будет в этом турнире.
Метод отбора участников турнира можно описать в псевдокоде:
выбрать k (размер турнира) особей из популяции случайным образомвыбрать лучшего участника турнира с вероятностью pвыбрать второго лучшего человека с вероятностью p*(1-p)выбрать третьего лучшего человека с вероятностью p*((1-p)^2)и так далее
Детерминированный турнирный отбор выбирает лучшего участника (при p = 1) в любом турнире.
Выбор в одностороннем турнире ( k = 1) эквивалентен случайному выбору.
Существует два варианта выбора: с заменой и без замены. Вариант без замены гарантирует, что при выборе N особей из популяции из N элементов каждая особь участвует ровно в k турнирах. Алгоритм предложен в. [3] Обратите внимание, что в зависимости от количества выбранных элементов выбор без замены не гарантирует, что ни одна особь не будет выбрана более одного раза. Он просто гарантирует, что каждая особь имеет равные шансы участвовать в одинаковом количестве турниров.
По сравнению с (стохастическим) методом пропорционального отбора по приспособленности , турнирный отбор часто применяется на практике из-за отсутствия в нем стохастического шума. [4]
Турнирный отбор имеет несколько преимуществ по сравнению с альтернативными методами отбора для генетических алгоритмов (например, пропорциональный отбор по приспособленности и отбор на основе вознаграждения ): он эффективен для кодирования, работает на параллельных архитектурах и позволяет легко регулировать давление отбора. [2] Также было показано, что турнирный отбор не зависит от масштабирования функции приспособленности генетического алгоритма (или « целевой функции ») в некоторых системах классификаторов. [5] [6]