Discussing the article: "Role of random number generator quality in the efficiency of optimization algorithms"

 

Check out the new article: Role of random number generator quality in the efficiency of optimization algorithms.

In this article, we will look at the Mersenne Twister random number generator and compare it with the standard one in MQL5. We will also find out the influence of the random number generator quality on the results of optimization algorithms.

When it comes to using optimization algorithms, many readers wonder how important it is to use a high-quality random number generator. The answer to this question is not as simple as it might seem at first glance. However, it is intuitive that the quality of random numbers can have a significant impact on the search capabilities of algorithms, since population algorithms are overwhelmingly based on stochastic search.

Let's look into this matter together. Before we get started, we need to consider different types of random number generators, their impact on the results and where you can find reliable options.

Random number generators (RNGs) are algorithms or devices that create a sequence of numbers or values and the numbers appear random. It is important to note that in computer science and mathematics such sequences are usually called "pseudo-random" because they are generated by deterministic algorithms rather than truly random processes.

Author: Andrey Dik

 
Thank you. I was expecting more impact. Perhaps there are some special situations in which the quality of the HHR is revealed more strongly
 
Rorschach #:
Thank you. I was expecting more impact. Perhaps there are some special situations in which the quality of the HHR is revealed more.

Yes, I expected much more influence too. But, as it turned out, the quality of optimisation is much more influenced by the strategy of the algorithm itself than by the quality of the DST, and this is valuable information in itself.

Well, of course, if we don't take into account frankly crooked DSTs with huge skews of tens of per cent, but there is no sense in using them anyway.

 

Fun topic. IMHO either the numbers are random or quality!

If you found 100 quid, random is qualitative, but getting hit by a car is not qualitative?

That's why there's no influence, because there shouldn't be. And if the DGS gives some bad deviations, then it is not a DGS, but a generator of an erroneous task to generate these very deviations (i.e. some function). There are requirements to the DGS. IMHO, for the generator to be suitable for testing, it is enough to be close to these requirements.

 
Михалыч Трейдинг #:

Fun topic. IMHO either the numbers are random or quality!

If you found 100 quid, randomness is qualitative, but getting hit by a car is not qualitative?

That's why there's no influence, because there shouldn't be. And if the DGS gives some bad deviations, then it is not a DGS, but a generator of an erroneous task to generate these very deviations (i.e. some function). There are requirements to the DGS. IMHO, for the generator to be suitable for testing, it is enough to be close to these requirements.

It seems that you have not read the article.

Do not confuse random processes in nature with random numbers obtained with the help of DGS. HGFs come in many forms and the number of tests they pass varies greatly. The more different tests a generator passes, the better it is.

 
Andrey Dik #:
There are different types of PRNGs
PRNG
 
Sergey Gridnev #:
PRNG
You can call them anything you want, the properties of generators will not change. It is important to understand that software generators are not truly random, they are abbreviated as PRNGs.
 
Вихрь медленнее стандартного примерно в 3.4 раза, что может заметно повлиять на скорость работы алгоритмов оптимизации.

For each calculation of the FF, there is one call to the GCH to generate a vector of input FFs. The trading FF is much heavier than the GSC, so the weighting of the GSC should not be noticeable.


Thanks to the Author for the GFG tutorial and experiment. I would like to see a different nature of FF in the future.

 
fxsaber #:

For each calculation of the FF, there is one call to the GCH to generate a vector of input FFs. The trading FF is much heavier than the GCH, so the weighting of the GCH should not be noticeable.

It is not one GF call per one FF call, but at least one GF call for each agent coordinate, plus different calls, selection of an individual and others.

So, the GF is capable of slowing down the overall process a lot, and Mersenne's Vortex is far from being the slowest GF (which is partly why it was chosen, it is relatively fast and passes the uniformity test), although the FF itself, of course, usually weighs much more.
 
fxsaber #:

Thank you to the Author for the HGF tutorial and experiment.

I would like to see FF of a different nature in the future.

Thanks for the feedback.

Do you mean - include a synthetic "trade test" in the list of test features? It can be done, but I think such a synthetic trade test would be almost identical in properties to the discrete Megacity function, you can test that too.

 
Andrey Dik #:

Meaning - include a synthetic "trade test" in the list of test functions?

Yes, we are optimising the trading system.