Programmierwettbewerb: Handel (Ergebnisse)

    Vielen Dank an alle Teilnehmer des Programmierwettbewerbs ! Wir freuen uns, die endgültigen Ergebnisse des Wettbewerbs bekannt zu geben.

    Der Wettbewerb umfasste 186 Lösungen. Wir haben, wie bereits angekündigt, in zwei Runden ein Turnier abgehalten. Glückwunsch an die Gewinner:

    1. Asta - ein Preis von 3000 USD .
    2. Silent Bob - ein Preis von 2000 USD .
    3. Robert Speed - ein Preis von 1000 USD .

    Unter dem Pseudonym indutny erhält ein Teilnehmer einen Sonderpreis von 400 USD für die Entwicklung einer alternativen Arena für Online-Tests von Lösungen mit einer höheren Bandbreite als die von uns bereitgestellten. Danke! Die offizielle Ergebnistabelle finden Sie auf GitHub .



    Lösungen


    Alle Lösungen werden im Einreichungsverzeichnis veröffentlicht . Jedes Unterverzeichnis enthält ein Skript solution.js, das am Test teilgenommen hat. Wenn der Teilnehmer ein Archiv mit Quelltexten gesendet hat, wird sein Inhalt in einem Unterverzeichnis abgelegt src. Betrachtet (und veröffentlicht) nur die letzte der von jedem Teilnehmer gesendeten Lösungen.

    Saatwerte


    Wie versprochen, haben wir den ersten Tweet von @SpringerTV , der nach dem Ende der Entscheidungsfindung erschien, in ein zuvor veröffentlichtes Skript aufgenommen. Dieses Skript mit einem Tweet-Text, der für die separate Ausgabe von zwei Untersequenzen leicht modifiziert wurde, wurde als Seeds.js veröffentlicht .

    Die ersten 500 ungeradzahligen Mitglieder der Sequenz werden in die Datei round1.txt gestellt und in der ersten Runde verwendet.

    Die ersten 500 Mitglieder der Sequenz werden in die Datei finals.txt gestellt und im Finale verwendet.

    Statistiken


    Die 186 Entscheidungen der ersten Runde bildeten 34.410 geordnete Paare. So wurden mit jedem der 500 Startwerte viele Sitzungen durchgeführt. Die Gesamtzahl der Sitzungen in der ersten Runde betrug 17.205.000, wobei jede Entscheidung an 185.000 Sitzungen teilnahm.

    In 13.868.284 Sitzungen (80,6%) wurde eine Einigung erzielt. Das durchschnittliche Ergebnis der Sitzung betrug 5,8728 Punkte, und das durchschnittliche Ergebnis der Sitzungen, in denen eine Einigung erzielt wurde, betrug 7,2858 Punkte.

    Die Verhandlungen wurden aus 626.779 Sitzungen (3,64%) aus verschiedenen Gründen (ungültige Vorschläge, Ausnahmen, Ablauf der Frist) unterbrochen.

    50 Entscheidungen erreichten das Finale. Sie bildeten 2.450 geordnete Paare und wir testeten sie zusätzlich bei weiteren 500 Samenwerten. Um die Finalisten einzustufen, haben wir auch die Ergebnisse der Sitzungen zwischen den beiden Teilnehmern der ersten Runde verwendet (nicht jedoch die Ergebnisse der Sitzungen mit Beteiligung von Entscheidungen, die das Finale nicht erreicht haben). Daher wurden die Plätze unter den Top 50-Lösungen auf der Grundlage von Tests bei 1000 Saatgutwerten bestimmt. Die Gesamtzahl der Sitzungen betrug 2.450.000, und jede Entscheidung nahm an 98.000 Sitzungen teil.

    In der endgültigen Vereinbarung wurde in 2 358 913 Sitzungen (96,28%) erreicht. Das durchschnittliche Ergebnis der Sitzung betrug 7,0275 Punkte und das durchschnittliche Ergebnis der Sitzungen, in denen eine Einigung erzielt wurde, betrug 7,2989 Punkte. Es ist beeindruckend, wie gut die Top 50-Lösungen fast jede Gelegenheit nutzen, um einen Deal abzuschließen.

    Im Finale wurden die Verhandlungen in 1.272 Sitzungen (0,05%) unterbrochen.

    Sitzungsprotokolle


    Die vollständigen Protokolle aller 17.205.000 Sitzungen der ersten Runde werden in der Archivrunde1.tar.bz2 (2,1 GB) und die Protokolle von 2.450.000 Sitzungen des Finales im Archivfinale.tar.bz2 (322 MB) veröffentlicht. Der Inhalt dieser Archive überschneidet sich teilweise, da einige Sitzungen zur ersten Runde und zum Finale gehören.

    In diesen Archiven befindet sich in jeder Datei des Formulars S/A-B.jsonein Sitzungsprotokoll mit einem Startwert S, bei dem die Lösung Ader erste Teilnehmer und die Lösung Bder zweite war.

    Um das Sitzungsprotokoll in einem lesbaren Format abzuspielen, können Sie den Befehl verwenden haggle.js --replay=LOG.json.

    Es wird interessant sein, in den Kommentaren interessante Ansätze zur Analyse dieses Datenfeldes zu sehen.

    Ergebnistabellen


    Legende zu den offiziellen Ergebnistabellen :

    • S : Die Anzahl der Punkte (dies ist das Thema des Wettbewerbs)
    • S / N : Durchschnittliches Sitzungsergebnis
    • A : Die Anzahl der Sitzungen mit der Vereinbarung
    • A / N : Prozentsatz der Sitzungen mit der Vereinbarung
    • S / A : Durchschnittliches Ergebnis einer Sitzung mit einer Vereinbarung
    • X : Anzahl der Sitzungen, die von diesem Teilnehmer unterbrochen wurden (aufgrund von Ausnahmen oder falschen Ergebnissen)

    Die erste Tabelle zeigt die Ergebnisse der Finalisten, die zweite - die Ergebnisse von Entscheidungen, die das Finale nicht erreicht haben.

    Nochmals vielen Dank an alle Teilnehmer!

    Jetzt auch beliebt: