if parent2[i] not in child1[split_point1:i]: j = i while parent2[j] in child1[split_point1:i]: j = parent1.index(parent2[j]) child1[i], child1[j] = child1[j], child1[i] # 查找第二个交叉位置在parent1中对应的值 if parent1[i] not in child2[split_point1:i]: j = i while parent1[j] in child2[split_point1:i]: j = parent2.index(parent1[j]) child2[i], child2[j] = child2[j], child2[i] return child1, child2修改以上代码
时间: 2024-01-26 08:04:59 浏览: 25
这段代码是遗传算法中的交叉操作,其中存在一个错误。在第8行和第14行,应该将parent1和parent2更换为child1和child2。修改后的代码如下:
```
def crossover(parent1, parent2, split_point1, split_point2):
child1 = parent1.copy()
child2 = parent2.copy()
for i in range(split_point1, split_point2):
# 查找第一个交叉位置在child1中对应的值
if parent2[i] not in child1[split_point1:i]:
j = i
while parent2[j] in child1[split_point1:i]:
j = child1.index(parent2[j])
child1[i], child1[j] = child1[j], child1[i]
# 查找第二个交叉位置在child2中对应的值
if parent1[i] not in child2[split_point1:i]:
j = i
while parent1[j] in child2[split_point1:i]:
j = child2.index(parent1[j])
child2[i], child2[j] = child2[j], child2[i]
return child1, child2
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)