比赛选择是一种选择策略, 用于在遗传算法中从当前一代中选择最适合的候选人。这些选定的候选人然后被传递给下一代。在K向锦标赛选择中, 我们选择k个人并在其中进行比赛。在那些选择的候选者中, 只有最适合的候选者被选中, 然后传递给下一代。通过这种方式, 可以举办许多这样的比赛, 我们将最终选拔出下一代的候选人。它还具有称为选择压力的参数, 该参数是候选人参加锦标赛可能性的概率度量。如果锦标赛规模较大, 则较弱的候选人被选出的可能性较小, 因为它必须与较强的候选人竞争。选择压力参数确定了GA的收敛速度。选择压力越大, 收敛速度越大。 GA能够在很大的选择压力范围内确定最佳或接近最佳的解决方案。比赛选择也适用于负健身值。
Algorithm --
1.Select k individuals from the population and perform a tournament amongst them
2.Select the best individual from the k individuals
3. Repeat process 1 and 2 until you have the desired amount of population
让我们进行三项锦标赛选择, 我们希望的人口数量为6, 而其健身得分的初始人口为[1、2、3、4、5、6]。我们的第一场比赛将如下图所示(见图), 适应度值为6的获胜者将进入下一代。
文章图片
比赛选择
在第一次锦标赛之后, 我们选择了[6]作为人口。
【算法题(比赛选择(GA)问题介绍和解决方案)】在几次这样的比赛之后,我们可能有一个选定的人口[6,6,6,5,4,3]。它甚至可以是[6 6 5 4 3 2]。因此,下一代更有可能选出最合适的候选人。
如果以概率p选出最佳候选人
然后以p*(1-p)的概率选出下一个最佳候选人
下一个是p*(1-p)^2
等等.....
参考文献
1. http://wpmedia.wolfram.com/uploads/sites/13/2018/02/09-3-2.pdf
2. https://en.wikipedia.org/wiki/Tournament_selection
推荐阅读
- 登山简介|人工智能
- 算法题(使用分治算法的最大子数组总和)
- 在C语言中使用计算机图形编程绘制移动的汽车
- 算法分析(构建堆的时间复杂度介绍)
- Java中的Arrays.sort()用法示例
- 如何轻松学习图案打印()
- SQL连接(笛卡尔连接和自连接用法示例)
- PHP startsWith()和endsWith()函数用法示例
- 本图文详细教程教你Ghost win10系统64位旗舰版密钥激活码