进化算法之神秘的二进制

来源:互联网 发布:java post上传图片 编辑:程序博客网 时间:2024/05/15 05:37

一、初级阶段:二进制表达

import numpy as np# 生成初始种群 (二进制)pop = np.random.randint(2, size=(POP_SIZE,DNA_SIZE))#翻译DNA得到10进制数value = bond_rang[0] + pop.dot(2**np.arange(size)[::-1]) / float(2**size-1) * (bound_range[1] - bond_rang[0])

1 二进制数的size选择问题
思想:十进制中的每一个数都能够与二进制数所对应。
eg: [-5,5] 要求精度为4位小数,则包括5-(-5)*10^4个数。
2^13 = 8192 <10^5<2^14=16384 因此需要14位二进制数

原创粉丝点击