https://hackmd.io/@wolfzxcv/ByGjDvdUp
a. 1324421
b. 2751421
Becomes
a. 1351421
b. 2724421
function cal(a, b, c, d, e, f, g, h) {
return a + b - (c + d) + (e + f) - (g + h);
}
console.log(cal(6, 5, 4, 1, 3, 5, 3, 2)); // 9
console.log(cal(8, 7, 1, 2, 6, 6, 0, 1)); //23
console.log(cal(2, 3, 9, 2, 1, 2, 8, 5)); //-16
console.log(cal(4, 1, 8, 5, 2, 0, 9, 4)); //-19
f(x) = (a + b) − (c + d) + (e + f) − (g + h)
x1 = (6 5 4 1 3 5 3 2) f(x1) = 9
x2 = (8 7 1 2 6 6 0 1) f(x2) = 23
x3 = (2 3 9 2 1 2 8 5) f(x3) = -16
x4 = (4 1 8 5 2 0 9 4) f(x4) = -19
a) x2 > x1 > x3 > x4
b) Cross the fittest two individuals using one–point crossover at the middle point.
i)
uniform crossover
H=1 change, H=0 not change
single point
x1 = (6 5 4 1 3 5 3 2)
x2 = (8 7 1 2 6 6 0 1)
H = 1 0 1 0
offspring:
off1 = 6 5 1 1 6 5 3 2
0ff2 = 8 7 4 2 3 6 0 1
double points
x1 = (6 5 4 1 3 5 3 2)
x2 = (8 7 1 2 6 6 0 1)
H = 1 0 1 0
off3 = 8 5 4 1 3 5 0 2
off4 = 6 5 1 2 6 6 3 0
ii)
function cal(a, b, c, d, e, f, g, h) {
return a + b - (c + d) + (e + f) - (g + h);
}
console.log(cal(6, 5, 1, 1, 6, 5, 3, 2)); //15
console.log(cal(8, 7, 4, 2, 3, 6, 0, 1)); //17
console.log(cal(8, 5, 4, 1, 3, 5, 0, 2)); //14
console.log(cal(6, 5, 1, 2, 6, 6, 3, 0)); //17