Algorithm Optimisation Championship. - page 54

 
Vasiliy Sokolov:

Export.mqh file - a list of available functions and parameter structure common to all participants

FF.mq5 file - example of a fitness function as a library.

TestFF.mq5 file - checking algorithm as a script

UserFindExtremum.mq5 file - custom function for search of an extremum in the form of a library. A random search is used as an example

No way)
 
Реter Konow:

Andrew, I don't know about others, but personally, I liked Vasily's example better. No offence. It's just my subjective perception...

To be fair, I propose to put the question about the choice of connection interface (yours or Vasiliy's) to a vote.

What do you think?

I doubt you understand it completely.
 
Vasiliy Sokolov:

...

6. The checking script loads the fitness function library ..\\Scripts\\\FF\\FF.ex5 with its parameters into its address space, and the Find Extremum member library..\Scripts\\\FF\UserFindExtremum.ex5. After that it calls the FindExtremum member function.

...

Really?
 
Vasily, what you suggested is so in the second option. But so far no correct example has been provided.
 

Until the interface is agreed upon, I will repeat the question about the unknown function -ff whose maximum is to be searched for.

We don't know what this function is. But it must not contain operations that may cause critical errors and code unloading. For example, the division operation. If the part of formula, which describes this function, has division by parameter, and user passes this parameter equal to zero (or negative in sub-expression), then critical error will happen and this FF reference will be leveled.

 
Реter Konow:

Now, I want to appeal to all participants, who consider themselves as "newcomers" in this subject and do not seriously expect to win.

If we drop all the insane "theory" about multiple dimensions of space, which confuses the problem and turn to pure mathematics, we see that the FF is an equation.

This equation becomes an analytical function only if applied to a graph.

But there is a question - SHOULD IT BE? A graph simply helps to visualize the relationship between the equation's parameters.

After 158 pages of discussion, we can already formulate the essence of the problem:

We need to find the values of the variables on the right side of the equation at which the value of the variable on the left side of the equation is greatest.

The goal is to try to do it more efficiently than a complete brute force.

That's it.

Next:

To solve this problem, an "Evolutionary" technique for finding values was invented. Analogies and methods originating from Darwinism were constructed.

The question of efficiency of this approach is debatable. Probably, there are simpler and more effective ways to solve this problem.

My practice proves that generally accepted approaches are not always the most effective.

I'm sure we can get around the "evolutionists" quite well...

Let's give it a try!

It's handy to understand what's going on, and what needs to be done at the algorithm design stage. But here it is enough to limit ourselves to a function of two parameters and a surface representation.
 
Dimitri, the amount of fog that has been cast over the essence of the task has hidden it from the eyes of the participants. I am dispelling the fog in an attempt to bring clarity to the understanding of the task.
 
I hope there are no people here who might not like it...
 
Yuri, your question is very pertinent. Waiting to hear back from the organisers...
 
Dmitry Fedoseev:
Vasily, what you suggested is so in the second option. But so far no correct example has been provided.
A proper example of what?