遗传算法个体是曲线,该如何处理

我的判断来自一条y = f(x),一条曲线。曲线的交叉和变异该如何处理。
个体是一个数,

1 Comment

Walter Roberson
Walter Roberson on 12 Nov 2022
Approximate translation:
Genetic algorithm individual is a curve, how to deal with it ?
My judgment comes from a y = f(x), a curve. How to handle crossover and mutation of curves. An individual is a number,

Sign in to comment.

 Accepted Answer

Walter Roberson
Walter Roberson on 12 Nov 2022
Edited: Walter Roberson on 15 Nov 2022

0 votes

You cannot do that directly.
However, if the valid curves are all members of a single family of curves, and members of the family can be described in terms of parameters, then you can make the parameters into the variables.
For example,
a1*exp((x-b1).^c1) + a2*exp((x-b2).^c2)
could be described in terms of a vector [a1, b1, c1, a2, b2, c2] and cross-over and mutation can be done on those vectors of parameters.
You can be more general than this. For example if you let V1 and V2 be integer valued and either 0 or 1 then you can have
V1 * a1*exp((x-b1).^c1) + V2 *a1*(x-b1).^2
and then the V1 and V2 would act to turn the respective terms "on" or "off". You could potentially join together a number of different shapes in this way, each defined by a list of parameters.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!