Vielen Dank an alle Teilnehmer
des Programmierwettbewerbs ! Wir freuen uns, die endgültigen Ergebnisse des Wettbewerbs bekannt zu geben.
Der Wettbewerb umfasste 186 Entscheidungen. Wir haben, wie bereits angekündigt, ein Zwei-Runden-Turnier zwischen ihnen veranstaltet. Herzlichen Glückwunsch an die Gewinner:
- Asta - Preis 3000 USD .
- Silent Bob - Preis 2000 USD .
- Robert Speed - Preis 1000 USD .
Ein Teilnehmer
erhält unter dem Pseudonym
indutny einen Sonderpreis von
400 USD für die Entwicklung einer alternativen Arena zum Online-Testen von Lösungen mit größerer Bandbreite als der von uns bereitgestellten. Vielen Dank!
Die offizielle Ergebnistabelle finden Sie
auf GitHub .
Lösungen
Alle Lösungen werden im
Einreichungsverzeichnis veröffentlicht . In jedem Unterverzeichnis befindet sich ein
solution.js
Skript, das an den Tests teilgenommen hat. Wenn ein Teilnehmer ein Archiv mit Quelltexten gesendet hat, wird dessen Inhalt im Unterverzeichnis
src
abgelegt. Nur die letzten von jedem Teilnehmer gesendeten Entscheidungen wurden berücksichtigt (und veröffentlicht).
Startwerte
Wie versprochen haben wir den ersten Tweet von
@SpringerTV , der nach dem Ende des Entscheidungsprozesses erschien, in ein zuvor veröffentlichtes Skript
eingefügt . Dieses Tweet-Skript, das leicht modifiziert wurde, um die Ausgabe von zwei
Teilsequenzen zu trennen, wird als
seeds.js veröffentlicht .
Die ersten 500 ungeraden Mitglieder der Sequenz werden in die Datei
round1.txt gestellt und in der ersten Runde verwendet.
Die ersten 500 geraden Mitglieder der Sequenz werden in die Datei
final.txt gestellt und im Finale verwendet.
Statistiken
Die 186 Entscheidungen, die an der ersten Runde teilnahmen, bildeten 34.410 geordnete Paare. Es wurden nur so viele Sitzungen mit jedem der 500 Startwerte durchgeführt. Die Gesamtzahl der Sitzungen in der ersten Runde betrug 17 205 000. Jede Entscheidung nahm an 185 000 Sitzungen teil.
In 13.868.284 Sitzungen (80,6%) wurde eine Einigung erzielt. Das durchschnittliche Ergebnis der Sitzung betrug 5,8728 Punkte, und das durchschnittliche Ergebnis unter den Sitzungen, in denen eine Einigung erzielt wurde, betrug 7,2858 Punkte.
Die Verhandlungen wurden in 626.779 Sitzungen (3,64%) aus verschiedenen Gründen (ungültige Angebote, Ausnahmen, Ablauf der Frist) unterbrochen.
50 Entscheidungen erreichten das Finale. Sie bildeten 2.450 geordnete Paare, und wir testeten sie zusätzlich an weiteren 500 Samenwerten. Um die Finalisten zu bewerten, haben wir auch die Ergebnisse der Sitzungen zwischen ihnen aus der ersten Runde verwendet (jedoch nicht die Ergebnisse der Sitzungen, bei denen Entscheidungen getroffen wurden, die das Finale nicht erreichten). Somit wurden die Plätze unter den Top 50-Lösungen auf der Basis von Tests bei 1000 Samenwerten bestimmt. Die Gesamtzahl der Sitzungen betrug 2.450.000, und jede Entscheidung nahm an 98.000 Sitzungen teil.
Im Finale wurde in 2.358.913 Sitzungen eine Einigung erzielt (96,28%). Das durchschnittliche Ergebnis der Sitzung betrug 7,0275 Punkte, und das durchschnittliche Ergebnis unter den Sitzungen, in denen eine Einigung erzielt wurde, betrug 7,2899 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 wurden im Archiv
round1.tar.bz2 (2,1 GB) veröffentlicht, und die Protokolle von 2 450 000 Sitzungen des Finales wurden im Archiv
final.tar.bz2 (322 MB) veröffentlicht. Der Inhalt dieser Archive überschneidet sich teilweise, da einige Sitzungen sowohl zur ersten als auch zur letzten Runde gehören.
In diesen Archiven gibt es in jeder Datei des Formulars
S/AB.json
ein Sitzungsprotokoll mit dem Startwert
S
, wobei Lösung
A
der erste Teilnehmer und Lösung
B
der zweite war.
Sie können den
haggle.js --replay=LOG.json
, um das Sitzungsprotokoll in einem lesbaren Format zu „reproduzieren“.
Wir werden interessiert sein, interessante Ansätze zur Analyse dieses Datenarrays in den Kommentaren zu sehen.
Ergebnistabellen
Symbole für
offizielle Ergebnistabellen :
- S : Anzahl der erzielten Punkte (dies ist Gegenstand des Wettbewerbs)
- S / N : Durchschnittliches Sitzungsergebnis
- A : Anzahl der Sitzungen wurde vereinbart
- A / N : Prozentsatz der Sitzungen mit Einigung
- S / A : Durchschnittliches Sitzungsergebnis mit erreichter Einigung
- X : Anzahl der von diesem Teilnehmer abgebrochenen Sitzungen (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!