Algorithmus-Optimierung Meisterschaft. - Seite 100

 
Alexander Laur:
Meiner Meinung nach sollten die Regeln auch die Testzeit des Algorithmus berücksichtigen. Solange Sie zu zweit sind, kann der Testlauf des Algorithmus in Stunden oder Tagen gemessen werden. Und wenn mehr Teilnehmer mitmachen wollen? Bitte verschwenden Sie nicht die Zeit des Wettbewerbsschiedsrichters.
Die Anzahl der FF-Läufe ist begrenzt. Einige Wettbewerber haben darum gebeten, die Prüfungszeit nicht zu begrenzen.
 

Alexander Laur:
1. Еще один момент: Как Вы собираетесь проверять ПРАВДИВОСТЬ полученного результата 

2. Das wichtigste Ergebnis ist schließlich, das echte globale Extremum zu finden. Und wie kann man das überprüfen?

1. Die Gültigkeit des Ergebnisses wird einfach dadurch überprüft, dass die Werte der Parameter in die FF eingesetzt werden und das Ergebnis des Teilnehmers mit dem der FF verglichen wird.

2. Das tatsächliche Gesamtergebnis kann auf drei Arten erzielt werden:

a) exakter Wert: analytische Lösung des Problems (für uns nicht akzeptabel)

(b) Exakter Wert: vollständige Aufzählung (für uns nicht machbar)

c) Näherungswert: Verwenden Sie einen Optimierungsalgorithmus - das ist es, was wir tun werden, das höchste Ergebnis wird das beste sein. Der tatsächliche Höchstwert wird uns unbekannt bleiben (es ist unmöglich, ihn zu ermitteln), und der Beste wird der höchste Wert unter den Teilnehmern sein.

 
Andrey Dik:

1. Sie haben nach minimalen Einschränkungen gefragt, und dies ist der kleinstmögliche Schritt.

Wenn es Probleme geben kann, liegt das am Algorithmus des Teilnehmers, nicht am FF. Das bedeutet, dass jeder kritische Fehler, der durch den Algorithmus verursacht wird, zur Disqualifikation des Teilnehmers führt.

1. Ich habe nicht nach Mindestgrenzen gefragt.

Ich war gegen eine einseitige Entscheidung über die Parameter der Problembedingungen durch den Veranstalter, weil ich darin eine Möglichkeit sah, diese Bedingungen (absichtlich oder unabsichtlich) an den bestehenden Algorithmus anzupassen. In Anbetracht der Tatsache, dass der größte Teil der Teilnehmer keine Erfahrung mit der Lösung von Optimierungsproblemen hatte, wäre eine solche Absicht ihnen gegenüber unfair gewesen.

Ich habe darum gebeten, den Bereich und die Stufe zu ändern, um die Chancen von Neulingen, die noch keinen fertigen Algorithmus haben, und Teilnehmern, die ihn schon lange haben, zumindest etwas auszugleichen.


2. Kritische Fehler in einer unbekannten Funktion, bei der zufällige Werte von mehreren hundert Parametern nacheinander ersetzt werden, können jedem Teilnehmer unabhängig von seinem Algorithmus zufällig passieren.

Angenommen, es gibt einen solchen Eintrag innerhalb der Funktion - (2/(0,000000254345 - x1)); und der Algorithmus übergibt dem Parameter x1 in einem der Aufrufe versehentlich den Wert 0,000000254345.

In diesem Fall enthält die Klammer die Null, durch die das Double teilbar ist.

Dies wird zu einem kritischen Fehler führen. Keiner der Teilnehmer kann jedoch wissen, dass die zufällig erzeugte Zahl, die zusammen mit anderen Zahlen im Feld an den FF gesendet wird, nicht gleich einer Konstanten ist und nicht davon subtrahiert oder durch etwas anderes geteilt wird...

 
Реter Konow:

1. Ich habe nicht nach Mindestgrenzen gefragt.

Ich war gegen eine einseitige Entscheidung des Veranstalters über die Parameter der Problembedingungen, weil ich darin eine Möglichkeit sah, diese Bedingungen (absichtlich oder unabsichtlich) an einen bereits bestehenden Algorithmus anzupassen. In Anbetracht der Tatsache, dass der größte Teil der Teilnehmer keine Erfahrung mit der Lösung von Optimierungsproblemen hatte, wäre eine solche Absicht ihnen gegenüber unfair gewesen.

Ich habe darum gebeten, die Bandbreite und die Tonhöhe zu ändern, um die Chancen von Neulingen, die noch keinen fertigen Algorithmus haben, und Teilnehmern, die ihn schon lange kennen, zumindest etwas anzugleichen.


2. Kritische Fehler in einer unbekannten Funktion, bei der zufällige Werte von mehreren hundert Parametern nacheinander ersetzt werden, können jedem Teilnehmer unabhängig von seinem Algorithmus zufällig passieren.

Angenommen, es gibt einen solchen Eintrag innerhalb der Funktion - (2/(0,000000254345 - x1)); und der Algorithmus übergibt dem Parameter x1 in einem der Aufrufe versehentlich den Wert 0,000000254345.

In diesem Fall enthält die Klammer eine Null, die durch zwei teilbar ist.

Dies wird zu einem kritischen Fehler führen. Keiner der Teilnehmer kann jedoch wissen, dass die zufällig erzeugte Zahl, die zusammen mit anderen Zahlen im Feld an den FF gesendet wird, nicht gleich einer Konstanten ist und nicht davon subtrahiert oder durch etwas anderes geteilt wird...

1. Sagen Sie mir offen, sind Sie nicht bereit, 0,0000000000000001 Schritt zu verwenden? Ist das zu schwierig für Sie? Wenn Sie bereit sind, wird Ihre Frage entfernt.

2. Ich sagte bereits, dass Sie sich keine Sorgen um mathematische Operationen innerhalb des FF machen müssen, da dort keine Fehler auftreten können, auch wenn Sie sich sehr anstrengen. Achten Sie besser darauf, dass Ihr Algorithmus keine Fehler enthält, denn in den Terminalprotokollen ist klar ersichtlich, wo genau die Fehler auftreten.

Darüber hinaus sind die von Ihnen gestellten Anforderungen an die Eigenschaften der FF nicht legitim, da Sie sich geweigert haben, eine Beispielfunktion der Form f(x1, x2) für die Aufnahme in die FF zu liefern. Geben Sie sich mit dem zufrieden, was andere bereits für Sie ausgearbeitet und vorbereitet haben. In ein paar Stunden können Sie einen letzten Blick ins Innere des FF werfen, aber nur, um zu verstehen, dass die Betrachtung des Innenlebens des FF Ihnen nichts bringt, was Ihre Chancen im Wettbewerb erhöht. Black Box, denken Sie nur daran, der Rest ist unpraktisch und unpraktisch zu erreichen ersten Platz.

 
Andrey Dik:

1. Sagen Sie mir ehrlich, sind Sie nicht bereit, die 0,0000000000000001-Stufe zu verwenden? Ist es zu kompliziert für Sie? Wenn Sie bereit sind, dann ist die Frage vom Tisch.

2. Ich sagte bereits, dass Sie sich keine Sorgen um mathematische Operationen innerhalb des FF machen müssen, da dort keine Fehler auftreten können, auch wenn Sie sich sehr anstrengen. Achten Sie besser darauf, dass Ihr Algorithmus fehlerfrei ist, denn in den Terminalprotokollen ist klar ersichtlich, wo genau die Fehler auftreten.

Darüber hinaus sind die von Ihnen gestellten Anforderungen an die Eigenschaften der FF nicht legitim, da Sie sich geweigert haben, eine Beispielfunktion der Form f(x1, x2) für die Aufnahme in die FF zu liefern. Geben Sie sich mit dem zufrieden, was andere bereits für Sie ausgearbeitet und vorbereitet haben. In ein paar Stunden können Sie einen letzten Blick ins Innere des FF werfen, aber nur, um zu verstehen, dass die Betrachtung des Innenlebens des FF Ihnen nichts bringt, was Ihre Chancen im Wettbewerb erhöht. Black Box, denken Sie nur daran, der Rest ist unpraktisch und unpraktisch zu erreichen ersten Platz.

Lassen Sie sich nicht verrückt machen. Wir diskutieren nur und stimmen in Punkt 2 überein, den Sie hier geschrieben haben: https://www.mql5.com/ru/forum/87536/page92#comment_2652859

1. Ich bin bereit, alle Bedingungen zu verwenden, die Sie auch verwenden werden, aber ich schlage vor, dass Sie überlegen, ob die von Ihnen vorgeschlagenen Bedingungen zu Fehlern führen, die unabhängig vom Algorithmus des Teilnehmers sind.

2. Die Kenntnis von Teilen der Blöcke einer analytischen Funktion (nämlich ihrer Konstanten und mathematischen Aktionen mit Parametern) kann von einem Teilnehmer missbraucht werden.

Beispiel: Ich habe die Funktion (2 / (2 - x1)) kompiliert und Ihnen übergeben. Sie haben es in die FF aufgenommen.

Dann hat der Referent auf Ihren Vorschlag hin einfach die Funktionsblöcke umgestellt und Konstanten und Operationen in diesen Blöcken belassen...

Außerdem weiß ich beim Kompilieren des Algorithmus, dass ich dem Parameter x1 nicht die Zahl 2 übergeben kann, da dies zu einem kritischen Fehler bei der Division durch Null führen würde. Der andere Teilnehmer weiß dies jedoch möglicherweise nicht und kann diesem Parameter daher den Wert 2 übergeben.

Infolgedessen wird sein Algorithmus disqualifiziert.

Ich schlage vor, dass diese Nuance berücksichtigt wird.

Wenn die Konstanten außerhalb des Bereichs [2 , -2] liegen, führen keine Operationen innerhalb der Funktionen zu Null.

P.S. Natürlich können Sie auch in diesem Fall eine Null erhalten, aber das ist weniger wahrscheinlich. Man könnte die Divisionsoperation aus FF ausschließen, aber das ist wahrscheinlich zu viel...))

Чемпионат Алгоритмов Оптимизации.
Чемпионат Алгоритмов Оптимизации.
  • www.mql5.com
Чемпионат алгоритмов оптимизации задуман как соревнование для людей ищущих, любознательных, для которых стоять на месте означает движение назад...
 
Alexander Laur:

Ich will nicht beleidigt sein, es ist nur meine Meinung. :)

Und die Meinung ist, dass Punkt "c" in Ihrer Antwort ein Ratespiel ist. Es ist ein Ratespiel, denn ein zuverlässiges Ergebnis ist nicht bekannt. Wenn das Ergebnis nicht bekannt ist, wie kann man dann die OPTIMALITÄT des Algorithmus bestimmen?

Wenn wir die OPTIMALITÄT von Suchalgorithmen bewerten, sollten wir dies anhand bekannter Ergebnisse tun, die durch eine erschöpfende Suche gewonnen wurden. In den Aufgaben der Meisterschaft ist jedoch anzugeben, dass dieses bekannte Ergebnis mit einer 100-fachen Reduzierung der Schritte erreicht werden muss. Das wäre ein Wettbewerb, bei dem ein bekanntes, WAHRES Ergebnis in WESENTLICH WENIGER Schritten erreicht würde! Bei dieser Vorgehensweise würde niemand am Ergebnis des Gewinns zweifeln.

Ich stimme mit Ihnen überein.

Ich bin der Meinung, dass der Höchstwert der Funktion dem Schiedsrichter zuverlässig bekannt sein sollte.

Sonst wird der ganze Wettbewerb zu einer Farce.

Darüber hinaus ist eines der wichtigsten Kriterien für die Bewertung der Effizienz des Algorithmus eines Teilnehmers neben der Anzahl der FF-Aufrufe die Genauigkeit, die ohne einen zuverlässigen Maskenfunktionswert nicht bestimmt werden kann.

 
Реter Konow:

Lassen Sie sich nicht verrückt machen. Wir diskutieren lediglich und stimmen gemäß Punkt 2 überein, den Sie hier dargelegt haben: https://www.mql5.com/ru/forum/87536/page92#comment_2652859

1. Ich bin bereit, alle Bedingungen zu verwenden, die Sie auch verwenden werden, aber ich schlage vor, dass Sie überlegen, ob die von Ihnen vorgeschlagenen Bedingungen zu Fehlern führen, die unabhängig vom Algorithmus des Teilnehmers sind.

2. Die Kenntnis von Teilen der Blöcke einer analytischen Funktion (nämlich ihrer Konstanten und mathematischen Aktionen mit Parametern) kann von einem Teilnehmer missbraucht werden.

Beispiel: Ich habe die Funktion (2 / (2 - x1)) kompiliert und Ihnen übergeben. Sie haben es in die FF aufgenommen.

Dann hat der Referent auf Ihren Vorschlag hin einfach die Funktionsblöcke umgestellt und Konstanten und Operationen in diesen Blöcken belassen...

Außerdem weiß ich beim Kompilieren des Algorithmus, dass ich dem Parameter x1 nicht die Zahl 2 übergeben kann, da dies zu einem kritischen Fehler bei der Division durch Null führen würde. Der andere Teilnehmer weiß dies jedoch möglicherweise nicht und kann diesem Parameter daher den Wert 2 übergeben.

Infolgedessen wird sein Algorithmus disqualifiziert.

Ich schlage vor, dass Sie diese Nuance berücksichtigen.

Wenn die Konstanten außerhalb des Bereichs [2 , -2] liegen, führen keine Operationen innerhalb der Funktionen zu Null.

Was meinen Sie, wozu wird die Quelle FF unter anderem angezeigt? Sicherstellen, dass in der FF keine Fehler aufgrund von mathematischen Operationen und anderen Fehlern auftreten. Wenn im FF Fehler auftreten, und das ist theoretisch möglich, können Sie durch Einsicht in den Quellcode des FF die Schwachstellen zu Ihren Gunsten nutzen und einen kritischen Fehler im FF verursachen. Wenn das passiert, ist es die Schuld des Schöpfers der FF, und da ich der einzige Schöpfer bin, wird die Schuld ausschließlich bei mir liegen, und ich werde der Verlierer sein und Sie der Gewinner. Sie haben die Chance, auf diese Weise ein Gewinner zu werden, oder vielmehr - es gibt keine Chance, auf diese Weise ein Gewinner zu werden.
 
Andrey Dik:
Was glauben Sie, wozu wird die ursprüngliche FF u. a. gezeigt? Es soll sichergestellt werden, dass in der FF keine Fehler aufgrund von mathematischen Operationen oder anderen Fehlern auftreten können. Wenn in der FF Fehler auftreten, und das ist theoretisch möglich, können Sie durch Einsicht in den Quellcode der FF die Schwachstellen zu Ihrem Vorteil nutzen und einen kritischen Fehler in der FF verursachen. Wenn das passiert, ist es die Schuld des Erstellers der FF, und da ich der einzige Ersteller bin, wird die Schuld ausschließlich bei mir liegen, und ich werde der Verlierer sein und Sie der Gewinner. Sie haben die Chance, auf diese Weise ein Gewinner zu sein, oder vielmehr - es gibt keine Chance, auf diese Weise ein Gewinner zu sein.

Nachdem ich die Original-FF gesehen habe, wird mir vieles klarer werden als jetzt...

Ich werde Ihre möglichen FF-Drafting-Fehler keineswegs zu meinem Vorteil nutzen, da dies die Grundlage meiner Motivation zur Teilnahme entkräftet, bei der es keineswegs um das Streben nach einem vorgetäuschten Sieg geht.

Der Sieg muss eindeutig, glaubwürdig und fair sein. Ich brauche keine anderen.

 
Alexander Laur:

Ich will nicht beleidigt sein, es ist nur meine Meinung. :)

Und die Meinung ist, dass Punkt "c" in Ihrer Antwort ein Ratespiel ist. Es ist ein Ratespiel, denn ein zuverlässiges Ergebnis ist nicht bekannt. Wenn das Ergebnis nicht bekannt ist, wie kann man dann die OPTIMALITÄT des Algorithmus bestimmen?

Wenn wir die OPTIMALITÄT von Suchalgorithmen bewerten, sollten wir dies anhand bekannter Ergebnisse tun, die durch eine erschöpfende Suche gewonnen wurden. In den Aufgaben der Meisterschaft ist jedoch anzugeben, dass dieses bekannte Ergebnis mit einer 100-fachen Reduzierung der Schritte erreicht werden muss. Das wäre ein Wettbewerb, bei dem ein bekanntes, WAHRES Ergebnis in WESENTLICH WENIGER Schritten erreicht würde! Bei diesem Ansatz wird niemand Zweifel am Ergebnis des Gewinns haben.

Reg Konow:

Ich stimme mit Ihnen überein.

Ich denke, der Maximalwert der Funktion muss dem Schiedsrichter zuverlässig bekannt sein.

Sonst wird der ganze Wettbewerb zu einer Farce.

Darüber hinaus ist eines der wichtigsten Kriterien für die Bewertung der Effizienz des Algorithmus eines Teilnehmers neben der Anzahl der FF-Aufrufe die Genauigkeit, die ohne einen zuverlässigen Maskenfunktionswert nicht bestimmt werden kann.

Ihr zwei seid so lustig... ) Nichts für ungut. ))))

Wenn das globale Maximum ausnahmslos allen bekannt ist, was wird dann wohl passieren? Kann ein Optimierungsalgorithmus in einem solchen Fall überhaupt eine Meisterschaft erringen? Natürlich kann sie das nicht, denn jeder Wettbewerber kann den FF bei 60-70 % des zulässigen Höchstwerts abrufen und ein Ergebnis mit 100 %iger Genauigkeit erzielen! Wir können nur mit UNLIMITED FFs konkurrieren! Der Höchstwert eines der Wettbewerber ist das beste Ergebnis.

Du bringst mich wirklich zum Lachen... )))

Aber wenn Sie es ernst meinen und wirklich wissen möchten, wie genau ein Algorithmus das Maximum findet, dann können wir außerhalb des Wettbewerbs die Algorithmen mit einem bekannten Maximum füttern, um sie zu füttern, nachdem die Algorithmen veröffentlicht wurden, niemand verbietet das, die Algorithmen der Teilnehmer werden mehrere Tage lang frei zugänglich sein und jeder kann die Algorithmen überprüfen und testen, so viel er will. Ich hoffe, dass Sie bis dahin zumindest einige Funktionen mit bekanntem Maximum haben, um die Eigenschaften der Algorithmen der Teilnehmer selbst zu überprüfen und herauszufinden.

 
Реter Konow:

Nachdem ich die Original-FF gesehen habe, wird mir vieles klarer werden als jetzt...

Ich werde Ihre möglichen FF-Drafting-Fehler keineswegs zu meinem Vorteil nutzen, da dies die Grundlage meiner Motivation zur Teilnahme entkräftet, die keineswegs darin besteht, einen vorgetäuschten Sieg anzustreben.

Ein Sieg muss eindeutig, glaubwürdig und ehrlich sein. Ich brauche keine anderen.

Bedeutet dies, dass der Algorithmus noch nicht fertig ist? Wie viel Zeit werden Sie voraussichtlich aufwenden müssen, um den Algorithmus für eine bekannte FF zu verstehen und vorzubereiten? Welchen Unterschied macht es, was in der FF enthalten ist? Der Algorithmus muss in der Lage sein, mit einem unbekannten FF zu arbeiten, sonst ist er Blödsinn und kein Algorithmus.