Problem: Maximize f(x) = x^2 when x= 1 to 31 Given code, # Step 1:Initialize Population import random def initPopulation(n,b): p={} for i in range(n): s=[] for j in range(b): s.append(random.choice([0,1])) p[i]=s return p ation=initPopulation(6,5) population population=initPopulation(6,5) population # Step 2: Reproduction or Parent Selection Fitness Calculation [i for i in range(4,-1,-1)] [4, 3, 2, 1, 0] def getFitness(p): f=[] for k in p.keys(): d = 0 b = len(p[k]) for i in range(b-1,-1,-1): d=d+p[k][i]*2**(b-1-i) f.append(d**2) return f fitness = getFitness(population) fitness # Step 3: Crossover cp = random.choice(range(1,5)) cp # Step 4: Select Survivor -The selected survivors (solutions) will be added to population -Select top 2 offspring based on fitness value and add them to population. -Repeat Step 2 to 4 for further iterations Write a simple python code where you will complete the Step 4 Survivor step off Genetic Algorithm NOTE: ONLY COMPLETE THE STEP 4 AND USE PYTHON.SEND CODE NOT EXPLANATION
Problem: Maximize f(x) = x^2 when x= 1 to 31
Given code,
# Step 1:Initialize Population
import random
def initPopulation(n,b):
p={}
for i in range(n):
s=[]
for j in range(b):
s.append(random.choice([0,1]))
p[i]=s
return p
ation=initPopulation(6,5)
population
population=initPopulation(6,5)
population
# Step 2: Reproduction or Parent Selection
Fitness Calculation
[i for i in range(4,-1,-1)]
[4, 3, 2, 1, 0]
def getFitness(p):
f=[]
for k in p.keys():
d = 0
b = len(p[k])
for i in range(b-1,-1,-1):
d=d+p[k][i]*2**(b-1-i)
f.append(d**2)
return f
fitness = getFitness(population)
fitness
# Step 3: Crossover
cp = random.choice(range(1,5))
cp
# Step 4: Select Survivor
-The selected survivors (solutions) will be added to population
-Select top 2 offspring based on fitness value and add them to population.
-Repeat Step 2 to 4 for further iterations
Write a simple python code where you will complete the Step 4 Survivor step off Genetic
NOTE: ONLY COMPLETE THE STEP 4 AND USE PYTHON.SEND CODE NOT EXPLANATION
Trending now
This is a popular solution!
Step by step
Solved in 2 steps