Andrey Dik: Darum geht es bei der Meisterschaft: das Maximum einer unbekannten Funktion mit 100 bis 500 Variablen (Wurzeln) auf beliebige Weise und in beliebiger Sprache zu finden. Lesen Sie die Regeln.
Wie kann man "schneller" und "genauer" prüfen, wenn die Algorithmen in den Händen der Teilnehmer liegen? Wie kann man überprüfen, ob ein Teilnehmer eine Lösung in weniger Schritten als bei einer vollständigen Brute-Force-Analyse gefunden hat?
Ein kompletter Brute-Force-Einsatz kann ewig dauern. Er ist keine Konkurrenz für uns.
"Schneller" bedeutet schneller. Sie, hier, zur vereinbarten Zeit, geben uns die Gleichung. Wir lösen es. Wer zuerst da ist, hat angeblich den besten Algorithmus.
Was "genauer" betrifft. In diesem Beispiel.
Finden Sie die Wurzeln der Gleichung: 34a+43b+16c+30d+23e=6268; Lösungen sind ganze Zahlen a=26, b=12, c=111, d=100, e=4
Wenn der Kandidat diese Zahlen findet, ist die Genauigkeit -100%.
Es ist eine Herausforderung, ein Brute-Force-Problem so optimal wie möglich in Polynomialzeit zu lösen. Jemand könnte einfach Glück haben, wenn sein Algorithmus anfangs nahe am Optimum liegt. Es braucht ein paar Probleme, ganz klar!
Ein kompletter Overkill könnte ewig dauern. Er ist keine Konkurrenz für uns.
"Schneller" bedeutet schneller. Sie, hier, zur vereinbarten Zeit, geben uns die Gleichung. Wir lösen es. Wer zuerst da ist, hat angeblich den besten Algorithmus.
Was "genauer" betrifft. In diesem Beispiel.
Finden Sie die Wurzeln der Gleichung: 34a+43b+16c+30d+23e=6268; Lösungen sind ganze Zahlen a=26, b=12, c=111, d=100, e=4
Wenn der Kandidat diese Zahlen findet, ist die Genauigkeit -100%.
Nein, so funktioniert das nicht. Sie verstehen, dass jemand eine vollständige Suche durchführt und dann sagt, er/sie habe die Lösung in 27 Schritten gefunden. Wir sind nicht so naiv (obwohl wir Händler sind), dass wir an solche Nudeln glauben würden.
Alexey Burnakov: Es ist eine Herausforderung, ein Brute-Force-Problem so optimal wie möglich in Polynomialzeit zu lösen. Jemand könnte einfach Glück haben, wenn sein Algorithmus anfangs nahe am Optimum liegt. Brauche mehrere Probleme, eindeutig!
Vergessen Sie nicht, dass es für statistisch signifikante Ergebnisse mehrere Durchläufe des Algorithmus geben wird, nicht nur einen. Das maximale Ergebnis, das ein Teilnehmer bei einer völlig zufälligen Suche erwarten kann, beträgt also etwa 50 % des Maximums.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Die Teilnehmer können hier bereits kompilierte FF-Funktionen als *.ex5-Bibliotheken einstellen, um sozusagen mit dem Training zu beginnen.
Die FF-Bibliothek sollte zwei Funktionen enthalten, die aufgerufen werden können:
ParamCount() wird verwendet, um herauszufinden, wie viele Parameter optimiert werden sollen.
Genau diese beiden Funktionen werden in der Meisterschaft FF sein.
Darum geht es bei der Meisterschaft: das Maximum einer unbekannten Funktion mit 100 bis 500 Variablen (Wurzeln) auf beliebige Weise und in beliebiger Sprache zu finden. Lesen Sie die Regeln.
Einfach? Großartig!
Wie kann man "schneller" und "genauer" prüfen, wenn die Algorithmen in den Händen der Teilnehmer liegen? Wie kann man überprüfen, ob ein Teilnehmer eine Lösung in weniger Schritten als bei einer vollständigen Brute-Force-Analyse gefunden hat?
Ein kompletter Brute-Force-Einsatz kann ewig dauern. Er ist keine Konkurrenz für uns.
"Schneller" bedeutet schneller. Sie, hier, zur vereinbarten Zeit, geben uns die Gleichung. Wir lösen es. Wer zuerst da ist, hat angeblich den besten Algorithmus.
Was "genauer" betrifft. In diesem Beispiel.
Finden Sie die Wurzeln der Gleichung: 34a+43b+16c+30d+23e=6268; Lösungen sind ganze Zahlen a=26, b=12, c=111, d=100, e=4
Wenn der Kandidat diese Zahlen findet, ist die Genauigkeit -100%.
Dann bin ich dabei, denke ich. Ich danke Ihnen.
Soll ich es aufschreiben?
Ein kompletter Overkill könnte ewig dauern. Er ist keine Konkurrenz für uns.
"Schneller" bedeutet schneller. Sie, hier, zur vereinbarten Zeit, geben uns die Gleichung. Wir lösen es. Wer zuerst da ist, hat angeblich den besten Algorithmus.
Was "genauer" betrifft. In diesem Beispiel.
Finden Sie die Wurzeln der Gleichung: 34a+43b+16c+30d+23e=6268; Lösungen sind ganze Zahlen a=26, b=12, c=111, d=100, e=4
Wenn der Kandidat diese Zahlen findet, ist die Genauigkeit -100%.
Ja, bitte.
Es ist eine Herausforderung, ein Brute-Force-Problem so optimal wie möglich in Polynomialzeit zu lösen. Jemand könnte einfach Glück haben, wenn sein Algorithmus anfangs nahe am Optimum liegt. Brauche mehrere Probleme, eindeutig!