Hi! I am new here. Hope you can help me. I am going to write a program using genetic algorithms and need some help with ideas/approach. Thank you!
Assuming the following;
* I have 4 known numbers, all within a 0-400 range, like this:
* I know that there is a mathematical relationship between the numbers.
* I would like to use a genetic algorithm (computer code) to estimate/approximiate Variable2 and Variable3 based on Variable1 and Variable4.
* Also, importantly, assume that there are many input samples and that each sample will differ slightly. Thus, a genetic algorithm optimization of "a mathematical formula/algorithm" to estimate/approximate Variable2 and Variable3 in all cases becomes possible.
* (In other words, the genetic algorithm will be able optimize the
mathematical formula towards the already-known Variable2 and
Variable3 across many input samples, each with a similar though
slightly different mathematical formula.)
How can I then write the following into a genetic algorithm:
Where `?` could be any mathematical function (`+/-/*/:/√/^2/cos/sin/tan/etc.`) involving Variable2 and Variable3
In other words; I would like the genetic algorithm to build a generic mathematical formula.
How can I define Variable2 and Variable3 as the outcome of a mathematical formula so that estimation by a computer algorithm becomes possible?
I am not sure how to approach this. The genetic algorithm software I use can use as many variables as is needed, and they can be in disparate ranges.
So for example, I could write my algorithm like this easily;
Where Variable1 is the first variable for the genetic algorithm, with a range of `0-400`, and Variable4 is the second variable for the genetic algorithm, with a range of `0-400`, and finally `(op)` is the third variable for the genetic algorithm, for example with a range of `1-4` where `1` stands for `+`, `2` for `-`, `3` for `*`, `4` for `:` etc.
However, the complexity of this algorithm is very limited and crude; it is not optimized towards a nice and complex real estimation algorithm. Also, as soon as a secondary operator is introduced, for example:
The coding complexity for this would start to increase quickly, and there may be a need to use `(` and `)` to prioritize mathematical calculations, etc. The coding complexity for even more complex calculations becomes seemingly unmanageable.
Is there a better and more straightforward way to let the genetic algorithm approximate/estimate Variable2 and Variable3 based on Variable1 and Variable4 into an overall optimized generic mathematical formula/algorithm?
Assuming the following;
* I have 4 known numbers, all within a 0-400 range, like this:
Code:
Variable1 Variable2 Variable3 Variable4
0-400 0-400 0-400 0-400
* I know that there is a mathematical relationship between the numbers.
* I would like to use a genetic algorithm (computer code) to estimate/approximiate Variable2 and Variable3 based on Variable1 and Variable4.
* Also, importantly, assume that there are many input samples and that each sample will differ slightly. Thus, a genetic algorithm optimization of "a mathematical formula/algorithm" to estimate/approximate Variable2 and Variable3 in all cases becomes possible.
* (In other words, the genetic algorithm will be able optimize the
mathematical formula towards the already-known Variable2 and
Variable3 across many input samples, each with a similar though
slightly different mathematical formula.)
How can I then write the following into a genetic algorithm:
Code:
Variable2=?
Variable3=?
Where `?` could be any mathematical function (`+/-/*/:/√/^2/cos/sin/tan/etc.`) involving Variable2 and Variable3
In other words; I would like the genetic algorithm to build a generic mathematical formula.
How can I define Variable2 and Variable3 as the outcome of a mathematical formula so that estimation by a computer algorithm becomes possible?
I am not sure how to approach this. The genetic algorithm software I use can use as many variables as is needed, and they can be in disparate ranges.
So for example, I could write my algorithm like this easily;
Code:
Variable2=Variable1(op)Variable4
Variable3=Variable1(op)Variable4
Where Variable1 is the first variable for the genetic algorithm, with a range of `0-400`, and Variable4 is the second variable for the genetic algorithm, with a range of `0-400`, and finally `(op)` is the third variable for the genetic algorithm, for example with a range of `1-4` where `1` stands for `+`, `2` for `-`, `3` for `*`, `4` for `:` etc.
However, the complexity of this algorithm is very limited and crude; it is not optimized towards a nice and complex real estimation algorithm. Also, as soon as a secondary operator is introduced, for example:
Code:
Variable2=[Variable1 or Variable4](op)[Variable1 or Variable4](op)[Variable1 or Variable4]
Variable3=[Variable1 or Variable4](op)[Variable1 or Variable4](op)[Variable1 or Variable4]
The coding complexity for this would start to increase quickly, and there may be a need to use `(` and `)` to prioritize mathematical calculations, etc. The coding complexity for even more complex calculations becomes seemingly unmanageable.
Is there a better and more straightforward way to let the genetic algorithm approximate/estimate Variable2 and Variable3 based on Variable1 and Variable4 into an overall optimized generic mathematical formula/algorithm?