
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
1) Storyteller? Hmm, I unfortunately didn't get the humour. The database check happens in the function CheckHistoryChromosomes(chromos,historyHromosomes ) which is called from GetFitness(historyHromosomes). That's why I said correctly - there are no repeated runs of FF.
2) Reconciliation with the database occurs with checking by genes. And each gene is normalised by SelectInDiscreteSpace(temp,RangeMinimum,RangeMaximum,Precision,3) when a new chromosome appears. So no "fairy tales" here either.
3) See 2)
1,2,3) Got it. Almost. Normalisation is really there. But it's still no reason to compare real numbers "without gap" for equality. :)
SelectInDiscreteSpace() has been slightly reworked. I didn't like the fact that you are correcting Step internally. It's not a royal matter to correct a user. At least not this time.
The user may have reasonable considerations to make Step "irrational" with respect to the range of gene changes.
It worked out like this:
SelectInDiscreteSpace() has been slightly modified. I don't like the fact that you correct Step inside. It's not the king's business to correct a user. At least not this time.
The user may have reasonable considerations to make Step "irrational" with respect to the range of gene changes.
Get this:
The point is that step can be such that it will divide the space into a non-integer number of sections, and this is not good, because immediately the question arises, from which side of the input number to "grab" the value on the numeric line (it is not known what is "right", right or left) - my algorithm gives an adequate answer, but yours alas. That's why you need to do it this way:
step = (InMax - InMin) / MathCeil ( (InMax - InMin) / step );
Here are some comparative examples of the results of your code and mine:
The meaning of such normalisation is different from NormalizeDouble (), but it's up to the owner, who doesn't like it, can use normalisation to the required sign, not with a specified step as in SelectInDiscreteSpace().
It's all clear, just like the previous post.
Andrei, all the listed variants have the right to exist here. Yours too, of course. The floating, changing discreteness during optimisation deserves close attention.
--
About everything in general :
You should add settings, a library of genetic operators, etc. And you should think about convenient extensions and usage in advance.
I'm thinking of rewriting everything on objects, making a more powerful interface both programme and user (graphical, with many settings in tabs). Some things to add, some things to co-optimise.
More precisely, I'm still thinking about whether to make it based on your code (use fragments) or to rewrite it all over again.
If you want to take part, write in private.
It is not sure that I will publish it. We'll see. For now I want to do it for myself.
About everything in general :
1) In a good way - you need to add customisations, a library of genetic operators, etc. And think about convenient extension and usage in advance.
2) More precisely, I'm still thinking about whether to make it based on your code (use fragments) or rewrite it all over again.
3) If you want to participate, write in private.
1) On the contrary, I'm trying to reduce the number of UGA parameters without reducing control flexibility.
2) I know several people who use the code from the article in their projects as it is, and those who have rewritten the code from 0.
3) I wrote to you in a private message.
This is all understandable, just like the previous post.
Andrei, all the options listed here have the right to exist. Yours, too, of course. The floating discreteness, which changes during the optimisation process, deserves close attention.
--
About everything in general :
You should add settings, a library of genetic operators, etc. And you should think about convenient extensions and usage in advance.
I'm thinking of rewriting everything on objects, making a more powerful interface, both programme and user (graphical, with a lot of settings in tabs). Some things to add, some things to co-optimise.
More precisely, I'm still thinking whether to make it based on your code (use fragments) or to rewrite it all over again.
...Vladimir, do you want to ride or drive?
Do you want a beautiful code or do you want to build a GA cooler than the tester one?
I personally think that the tester one is quite cool, but there are few parameters.
.
Vladimir, do you want to ride or drive?
do you want a beautiful code or to build a GA cooler than the tester one?
I personally think that the tester one is pretty cool, only one nuance is not enough parameters.
.
I want a convenient code. Easy to use, extend, modify and embed.
I want a convenient code. Easy to use, extend, modify and embed.
Replaced line 175 with.
Without this, the job report fails with an error.
Replaced line 175 with.
Without this, the operation report will fail with an error.
Yes, a division by 0 error will occur if there has been no improvement for a given number of epochs since the first run of the gen. operator loop.
It is simplest, and more logically correct, to assign 1 to the resetCounterFF variable immediately at initialisation: