Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I am wondering to change from phyton progranm to matlab #!/usr/bin/python import random import string target = Hello, World! def calc_fitness(source, target): fitval = 0

I am wondering to change from phyton progranm to matlab

#!/usr/bin/python import random

import string

target = "Hello, World!"

def calc_fitness(source, target):

fitval = 0 for i in range(0, len(source)): fitval += (ord(target[i]) - ord(source[i])) ** 2 return(fitval) def mutate(parent1, parent2):

child_dna = parent1['dna'][:] # Mix both DNAs start = random.randint(0, len(parent2['dna']) - 1) stop = random.randint(0, len(parent2['dna']) - 1) if start > stop: stop, start = start, stop child_dna[start:stop] = parent2['dna'][start:stop] # Mutate one position charpos = random.randint(0, len(child_dna) - 1) child_dna[charpos] = chr(ord(child_dna[charpos]) + random.randint(-1,1)) child_fitness = calc_fitness(child_dna, target) return({'dna': child_dna, 'fitness': child_fitness}) def random_parent(genepool):

wRndNr = random.random() * random.random() * (GENSIZE - 1) wRndNr = int(wRndNr) return(genepool[wRndNr]) def dump_genepool(generation, genepool):

for candidate in genepool: print "%6i %6i %15s" % ( generation, candidate['fitness'], ''.join(candidate['dna']) ) print GENSIZE = 20

genepool = []

for i in range(0, GENSIZE):

dna = [random.choice(string.printable[:-5]) for j in range(0, len(target))] fitness = calc_fitness(dna, target) candidate = {'dna': dna, 'fitness': fitness } genepool.append(candidate) generation = 0

while True:

generation += 1 genepool.sort(key=lambda candidate: candidate['fitness']) dump_genepool(generation, genepool) if genepool[0]['fitness'] == 0: # Target reached break parent1 = random_parent(genepool) parent2 = random_parent(genepool) child = mutate(parent1, parent2) if child['fitness'] < genepool[-1]['fitness']: genepool[-1] = child

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Microsoft Outlook 2023

Authors: James Holler

1st Edition

B0BP9P1VWJ, 979-8367217322

More Books

Students also viewed these Databases questions

Question

2. Outline the business case for a diverse workforce.

Answered: 1 week ago