Announcements for the participants of the
competition in programming .
Final Testing Procedure
Initially, we sought to hold the tournament on the principle of “every with each”. However, several participants declared their intention to submit to the competition a number of weak decisions- “spoilers”, against which the main decision of the participant plays well, or expressed fears that others would do that. Such actions are clearly prohibited by the rules, but even if the rules are somehow circumvented, this is contrary to the spirit of the competition. This is a competition about who will better write one program, and not who will bend the “landscape” under them, downloading more “spoilers”.
Although we can and will use various methods to identify and disqualify "spoilers", there is always the possibility that we will not find something. We would like the contest winners to be those who better invent and program algorithms, but not those who are more creative in circumventing the rules.
Therefore, we have decided to conduct the final testing in two stages. At the qualifying stage, for
N randomly selected seed values (seeds), each with each tournament will be held, and the pair (A, B) is considered to be different from (B, A). Thus, each pair (and in each order) will be launched at each seed value. The result of the qualifying stage will be a list of participants, arranged in descending order of the sum of points (namely, the sum of points, and not the number of "victories").
Then
K best participants from the list will reach the final, where an additional tournament will be held between them at
M and other randomly chosen seed values. The final positions between these
K participants will be determined solely by the sum of points scored by them in the
N +
M sessions of the seed values between themselves, excluding the sessions involving decisions that did not reach the final.
On the one hand, it will allow more thorough testing of a narrow circle of solutions that claim prizes, and on the other, it will deprive the support of “spoilers” of solutions that count on it.
The specific values of
N ,
M, and
K will be announced later, as they depend on the number of decisions that participants send us.
Arena for online negotiations
We have created several new arenas:
standard_1s is similar to
standard , but monitors compliance with the limit of 1 second per turn (this arena corresponds exactly to the conditions of the final testing);
large and
large_1s - arenas with “increased” settings in case someone wants to try their hand at them.
See the
list of arenas on the project page on GitHub.
For each arena, live statistics are now available for each solution that speaks (links in the first column of the table). Statistics are presented in machine-readable JSON format, from which participants in the competition will not be difficult to obtain the presentation of the data that interests them. The key in this data is the hash of the client identifier specified by the
--id parameter. This hash test system shows you every time you connect to the server. For each participant, the total number of completed sessions (
sessions ), the number of agreements reached (
agreements ) and the sum of points gained (
score ) for all time (
all ) and for each individual day (UTC) are given.
Test system updates
Follow the
update history on GitHub: we regularly fix the flaws found by the participants in the test system. Do
git pull regularly!
Official chat
A channel has been created in the Telegram:
@hola_challenge_haggling to discuss the competition.