我在努力提高代码的效率。我不太熟悉矢量化。我可以做一些简单的,但我在这件事上有困难
def mate(self, parent1, parent2):
length = parent1.size
parent1 *= 1e6
parent2 *= 1e6
parent1 = parent1.astype(int)
parent2 = parent2.astype(int)
child1 = []
child2 = []
for i in range(length):
hold1 = parent1[i]
hold2 = parent2[i]
hold1 = np.binary_repr(hold1, 30)
hold2 = np.binary_repr(hold2, 30)
pivot = np.random.randint(0, length)
childGene1 = hold1[:pivot] + hold2[pivot:]
childGene2 = hold2[:pivot] + hold1[pivot:]
childGene1 = int(childGene1, 2) / 1e6
childGene2 = int(childGene2, 2) / 1e6
child1.append(childGene1)
child2.append(childGene2)
return [child1, child2]
这是我为遗传算法做的交配函数。我应该如何开始矢量化这个循环?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐