python规模大小_矩阵的可变大小[ixj](Python,Numpy)

本文探讨了使用Python和Numpy构建遗传算法过程中遇到的问题,特别是在创建一个可变规模的[个体x基因组]矩阵时。作者希望矩阵的大小能够随着人口规模、变异率等参数的变化而变化,以研究这些参数对收敛速度和程序效率的影响。目前遇到的挑战是矩阵中的基因组没有正确填充随机整数,而是显示为不期望的浮点数。寻求帮助以修正这一问题并优化算法的速度。
摘要由CSDN通过智能技术生成

我试图建立一个简单的遗传算法,将优化到输入字符串,但我有麻烦建设[个人x基因组]矩阵(第n行是个人n的基因组)。我希望能够改变人口规模,变异率和其他参数,以研究如何影响收敛速度和程序效率。矩阵的可变大小[ixj](Python,Numpy)

这是我到目前为止有:

import random

import itertools

import numpy as np

def evolve():

goal = 'Hello, World!' #string to optimize towards

ideal = list(goal)

#converting the string into a list of integers

for i in range (0,len(ideal)):

ideal [i] = ord(ideal[i])

print(ideal)

popSize = 10 #population size

genome = len(ideal) #determineing the length of the genome to be the length of the target string

mut = 0.03 #mutation rate

S = 4 #tournament size

best = float("inf") #initial best is very large

maxVal = max(ideal)

minVal = min(ideal)

print (maxVal)

i = 0 #counting variables assigned to solve UnboundLocalError

j = 0

print(maxVal, minVal)

#constructing initial population array (individual x genome)

pop = np.empty([popSize, len(ideal)])

for i, j in itertools.product(range(i), range(j)):

pop[i, j] = [i, random.randint(minVal,maxVal)]

print(pop)

这产生了人口规模与正确的基因组长度的矩阵,但基因组是这样的:

[ 6.91364167e-310 6.91364167e-310 1.80613009e-316 1.80613009e-316

5.07224590e-317 0.00000000e+000 6.04100487e+151 3.13149876e-120

1.11787892e+253 1.47872844e-028 7.34486815e+223 1.26594941e-118

7.63858409e+228]

我需要他们为与随机ASCII字符对应的随机整数。

我在做什么错误的这种方法? 有没有办法让这个更快?

感谢您提供任何帮助。

2015-02-10

MatthewC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值