Ich benutze Python-3.x, und ich versuche, Mutation auf eine binäre Zeichenfolge zu tun, die ein Bit der Elemente von 0 auf 1 umdrehen wird oder 1 bis 0 durch gelegentliches, ich einige Methoden ausprobiert, aber hat nicht funktioniert, weiß ich nicht, wo das Problem ist:Mutation auf einer binären Zeichenfolge (genetischer Algorithmus) - Python-3.x
x=[0, 0, 0, 0, 0]
def mutation (x, muta):
for i in range(len(x)):
if random.random() < muta:
x[i] = type(x[i])(not x[i])
return x,
print (x)
der Ausgang beispielsweise sein sollte x = [0, 0, 0, 1, 0] oder x = [1, 0, 0, 0, 0] und so weiter ....
auch habe ich versucht, diese:
MUTATION_RATE = 0.5
CHROMO_LEN = 6
def mutate(x):
x = ""
for i in range(CHROMO_LEN):
if (random.random() < MUTATION_RATE):
if (x[i] == 1):
x += 0
else:
x += 1
else:
x += x[i]
return x
print(x)
bitte jede Anregung oder Beratung wird
Was ist mit 'Typ (x [i]) (nicht x [i])' ..., die zwischen '1' und '0' drehen wird? –
Der Wert von x [i] – azeez
Aber warum machst du 'type (x [i]) (...)'? –