Annonces pour les participants
au concours de programmation .
Procédure d'essai final
Dans un premier temps, nous avons cherché à organiser un tournoi sur le principe «chacun avec chacun». Cependant, plusieurs participants ont annoncé leur intention de soumettre au concours de nombreuses décisions faibles, des «spoilers», contre lesquelles la décision principale du participant joue bien, ou ont exprimé des craintes que d'autres le fassent. De telles actions sont clairement interdites par les règles, mais même si les règles sont en quelque sorte contournées, cela est contraire à l'esprit de la compétition. Ce concours vise à savoir qui est le meilleur pour écrire un programme, et non pas qui pliera le «paysage» pour lui-même, après avoir téléchargé plus de «spoilers».
Bien que nous puissions et utiliserons diverses méthodes pour identifier et disqualifier les «spoilers», il est toujours possible que nous ne révélions rien. Nous aimerions que les gagnants du concours soient ceux qui inventent et programment le mieux les algorithmes, et non ceux qui sont plus créatifs pour contourner les règles.
Par conséquent, nous avons décidé d'effectuer les tests finaux en deux étapes. Au stade de la qualification, pour
N valeurs de départ sélectionnées au hasard, un tournoi «chacun avec chaque» aura lieu et la paire (A, B) sera considérée comme différente de (B, A). Ainsi, chaque paire (et dans chaque ordre) sera lancée sur chaque valeur de départ. Le résultat de la phase de qualification sera une liste de participants située dans l'ordre décroissant du nombre de points gagnés (à savoir, le nombre de points, et non le nombre de «victoires»).
Ensuite, les
K meilleurs participants de la liste iront à la finale, où un tournoi supplémentaire aura lieu entre eux à
M autres valeurs de départ sélectionnées au hasard. Les positions finales entre ces
K participants seront déterminées uniquement par la somme des points marqués par eux lors de sessions à
N +
M valeurs de départ entre eux, sans tenir compte des sessions impliquant des décisions qui n'ont pas atteint la finale.
D'une part, cela permettra de tester de manière plus approfondie un éventail restreint de décisions qui prétendent être les premières places, et d'autre part, cela privera le soutien des «spoilers» pour les solutions qui en dépendent.
Les valeurs spécifiques de
N ,
M et
K seront annoncées ultérieurement, car elles dépendent du nombre de solutions que les participants nous enverront.
Arènes de négociation en ligne
Nous avons créé plusieurs nouvelles arènes:
standard_1s
est similaire à
standard
, mais surveille le respect de la limite de 1 seconde par coup (cette arène correspond exactement aux conditions du test final);
large
and
large_1s
- arènes avec des paramètres "augmentés" au cas où quelqu'un voudrait s'essayer à eux.
Voir la
liste des arènes sur la page du projet sur GitHub.
Pour chaque arène, des statistiques «live» sont désormais disponibles pour chaque décision qui y est prise (liens dans la première colonne du tableau). Les statistiques sont données au format JSON lisible par machine, d'où il ne sera pas difficile pour les candidats d'obtenir la présentation des données qui les intéressent. La clé de ces données est le hachage de l'identifiant client spécifié avec le paramètre
--id
. Ce système de test de hachage vous montre chaque fois que vous vous connectez au serveur. Pour chaque participant, le nombre total de sessions terminées (
sessions
), le nombre d'accords conclus (
agreements
) et le score total (
score
) pour tout le temps (
all
) et pour chaque jour individuel (UTC) sont donnés.
Mises à jour du système de test
Suivez l'
historique des mises à
jour sur GitHub: nous corrigeons régulièrement les failles trouvées par les participants au système de test.
git pull
régulièrement!
Chat officiel
Pour discuter du concours, une chaîne a été créée dans Telegram:
@hola_challenge_haggling .