Algorithm Optimisation Championship. - page 117

 
The first call to the FF must consist of an array formed by the normal RNG of the MT with a uniform distribution? You can not use your own RMS with a normal distribution? Let it be so, I do not insist. About evaluation criteria. You are suggesting to count machine time of code execution. But, I'm sorry, that's another thing. It is one thing to fine-tune the code for efficient search of extrema and another thing to take into account machine time needed to execute the program components which moreover depends upon the hardware state at the moment. It would be more appropriate to count the number of calls to ftp. But here I do not insist. I don't want to get bogged down in procedural questions again; besides, it would not matter for my algorithm. I have one question now. The rule that the number of calls to the FF is fixed and the same for all is relevant?
 

Yuri Evseenkov:
1. Первое обращение к фф должно состоять иэ массива сформированного штатным ГСЧ МТ с равномерным распределением? Свой ГСЧ с нормальным распределением использовать нельзя?

2. About the evaluation criteria. You propose to count machine time of code execution.

1. About the first initialization I don't insist, I just recommend - for unknown FF (and it is the unknown FF that will be in the championship) any initial parameters are equally good, because the FF is unknown. That is why it is best to use any RNG (whatever, but preferably with as many number variations as possible). All the more so, for statistically reliable results will be made at least 20 runs of the algorithm, and it is simply impractical to initialize the algorithm with the same numbers.

2. Already decided, there are 2 evaluation criteria, accuracy and number of FF runs. But the link I gave an example of calculation, it was a long time ago, there instead of the number of runs is time. That's why I made it clear in my post: accuracy and number of FF launches are two evaluation criteria, with 3 times accuracy being preferable.

According to this calculation of places in the table, my algorithm would take the first place according to the results of your task. Let's calculate: precision is higher, so the accuracy criterion is 3, and number of FF runs is higher, so 0. The total is 3+0=3, and your algorithm will get 0+1=1, i.e. less points. But this does not mean that I win your problem, because several conditions are not met. And if the maximum FF is known in advance, the table is calculated a little differently, the first "virtual" place is put the maximum value, and our places are calculated already based on this (the number of points obtained will be different).

 
Yuri Evseenkov:
Is the rule that the number of accesses is fixed and the same for everyone?

No, there has never been such a rule. There is only a maximum permissible. The fewer hits, the better, which is the second most important criterion after accuracy.

Personally, I am not going to worry about this, I will use the whole limit of accesses, in other words - I bet on the accuracy.

 
Alexander Laur:

In short, it's nonsense, not a championship.

The criteria for determining the winner are made up as they go along.

In 15 pages we will have to introduce a parameter to estimate the winner.

It's a rush, it's not well-thought-out.

And the reality is more complicated than dreams. :)

Is this your Today's Thought of the Day? Or Thought of the Year?

Criteria were approved a dozen pages ago, but the calculation principles and formulas even earlier. There are a lot of floodbusters, which complicates the comprehension of the material by the audience - now you have the credit for it, congratulations yourself.

I've been asked and I've answered. If they ask me tomorrow, I will answer them again. But tomorrow, Tomorrow, Vasya Vyazaperelezayko will come and again remark profoundly, "The Championship is shit, the rules are being invented on the fly!"..........

 
Alexander Laur:
Then answer the question: Why is precision 3 times more valuable than the number of FF calls!

I decided so, the organiser because. There are other reasons, too.

Have you ever written your own optimization algorithm? Can you imagine what it's like to find the right 1 among 2E16 and to use only 50 tries? It's harder than finding a needle among billions of haystacks. And this is only if there is only one parameter, and what if there are 500? 1000? 1000000?

 
Alexander Laur:
It is the "other" reasons that are of interest, i.e. arguments in favour of number 3 rather than number 10, for example.
The empirical relationship. I am ready to wait for 3 minutes and get 3 times more accurate result, than for one minute and as much worse result. Other ratios are not practical.
 
Alexander Laur:
And you consider it as an argument worthy to determine a winner?

And you think I don't? - You shouldn't think so.

Answer my question:

Andrey Dik:

Have you ever written your own optimization algorithm? Can you imagine, for example, what it means to find the right one among 2E16 values and use only 50 tries? It's harder than finding a needle among billions of haystacks. And this is only if there is only one parameter, and what if there are 500? 1000? 1000000?

 
Alexander Laur:
I'm not counting anything, I'm asking and waiting for an answer. Why should I speculate when I can ask and get an answer from the source.

That's the answer. An empirical relationship. You will not find a scientifically grounded answer anywhere.

I tried to find the dependence of solution accuracy on the number of hits at a given probability of hit together with Matemat, we did not succeed. Perhaps it has something to do with the 3 sigma rule, but not necessarily.

 
Alexander Laur:

...a straightforward question: should an algorithm that cannot find an extremum with a given error, albeit not exactly, be allowed to participate in the Championship?

So I'm sitting here thinking... Answer directly or not. I've decided - I've got to answer!)

Why did you ask about the significance of the criterion "accuracy" exceeding "handling" by a factor of 3? If there is an "accuracy" criterion, you have to assume that participants will not have 100% accuracy... That's what the "accuracy" criterion is for, to rank by accuracy. Hence, we conclude - can!, but must not (should not), because why would anyone compete if his algorithm always gives a 100% accurate response, and it simultaneously means that for an acceptable number of FF calls, since the answer from the algorithm once received. Therefore, unambiguously, it should not! - Moreover, such algorithm should be hidden and not shown to anyone.

And yes... There is a very important point. If the algorithm doesn't "know" where the absolute maximum is located - and it doesn't know it, otherwise why would it look for it? It's us "outside" can only judge the degree of accuracy of the algorithm by conducting experiments on it, but we can't set the parameter "search with this accuracy", for reasons I hope are already clear.

 
Alexander Laur:

The answer is simple:

1. If an algorithm CANNOT find an extremum with a given accuracy, it has no place in the Championship;

2. Considering point 1, only algorithms that SEARCH an extremum with a given accuracy will participate in determining the winner;

3. no ranking in terms of accuracy. Accuracy is given by a range;

4. determining a winner according to the number of times the FF is invoked.

I'll leave at this point, it's 2 a.m.

Understood.

But you can't do it that way.

First of all: there is no objective reason to set the accuracy. For someone, a 1% deviation will not like it, and for someone, 20% will be happy. it largely depends on the type of task and type of algorithm. To set a "pass accuracy" in a championship would mean screening out different interesting algorithmic solutions.

Secondly: accuracy depends on FF accesses and non-linearly so. For different types of algorithms this dependence will be different and you can not just say "this algorithm is good, and this one is bad" - that is why we use two criteria to evaluate the algorithms as objectively as possible. There was a third criterion - running time of the algorithm (not FF) - but it is very subjective, because OCL algorithms that use it will fly on some computers and slow down on others. Therefore, only two criteria are left: accuracy and references to the FF.

Reason: