首先,这是一份作业的一部分。
我正在尝试实现遗传算法。我对选择交叉亲代感到困惑。
根据我的笔记(显然有问题),以下是示例操作:
1. 交叉可能性 * 种群大小 = 预计交叉的染色体数(如果不是偶数,则四舍五入到最接近的偶数之一) 2. 对于每个染色体,选择在范围 [0,1] 内的随机数,如果此数小于交叉可能性,则将该染色体选择为交叉配对。
但是,在应用第二步时,所选染色体数等于第一步中找到的结果。由于随机性,这并不总是保证的。
因此,这没有任何意义。我搜索了选择交叉亲代的方法,但我发现的都是交叉技术(单点,切割等)以及如何在所选的亲代之间进行交叉(对此我没有问题)。我只是不知道应该选择哪些染色体进行交叉。有什么建议或简单的示例吗?
我正在尝试实现遗传算法。我对选择交叉亲代感到困惑。
根据我的笔记(显然有问题),以下是示例操作:
1. 交叉可能性 * 种群大小 = 预计交叉的染色体数(如果不是偶数,则四舍五入到最接近的偶数之一) 2. 对于每个染色体,选择在范围 [0,1] 内的随机数,如果此数小于交叉可能性,则将该染色体选择为交叉配对。
但是,在应用第二步时,所选染色体数等于第一步中找到的结果。由于随机性,这并不总是保证的。
因此,这没有任何意义。我搜索了选择交叉亲代的方法,但我发现的都是交叉技术(单点,切割等)以及如何在所选的亲代之间进行交叉(对此我没有问题)。我只是不知道应该选择哪些染色体进行交叉。有什么建议或简单的示例吗?