¡Muchas gracias a todos los participantes
en el concurso de programación ! Nos complace anunciar los resultados finales de la competencia.
La competencia implicó 186 decisiones. Celebramos un torneo de dos rondas entre ellos, como se anunció previamente. Enhorabuena a los ganadores:
- Asta - premio 3000 USD .
- Bob silencioso - premio 2000 USD .
- Robert Speed - premio 1000 USD .
Un participante recibe un premio especial de
400 USD bajo el seudónimo de
indutny para el desarrollo de un escenario alternativo para la prueba en línea de soluciones con mayor ancho de banda que el proporcionado por nosotros. Gracias
Encontrará la tabla de resultados oficiales
en GitHub .
Soluciones
Todas las soluciones se publican en el directorio de
envíos . En cada subdirectorio hay un script
solution.js
que participó en la prueba. Si un participante envió un archivo con textos fuente, entonces su contenido se coloca en el subdirectorio
src
. Solo se consideró (y publicó) la última de las decisiones enviadas por cada participante.
Valores de semillas
Según lo prometido, tomamos el primer tweet de
@SpringerTV , que apareció después del final del proceso de toma de decisiones, y lo colocamos en un guión previamente publicado. Este script de tweet, ligeramente modificado para separar la salida de dos subsecuencias, se publica como
seed.js.Los primeros 500 miembros impares de la secuencia se colocan en el archivo
round1.txt y se usan en la primera ronda.
Los primeros 500 miembros pares de la secuencia se colocan en el archivo
finals.txt y se usan en la final.
Estadísticas
Las 186 decisiones que participaron en la primera ronda formaron 34,410 pares ordenados. Se realizaron tantas sesiones con cada uno de los 500 valores de semilla. El número total de sesiones en la primera ronda fue de 17 205 000. Cada decisión participó en 185 000 sesiones.
Se llegó a un acuerdo en 13,868,284 sesiones (80.6%). El resultado promedio de la sesión fue de 5.8728 puntos, y el resultado promedio entre las sesiones en las que se alcanzó un acuerdo fue de 7.2858 puntos.
Las negociaciones fueron interrumpidas en 626,779 sesiones (3.64%) por varias razones (ofertas inválidas, excepciones, vencimiento del tiempo).
50 decisiones llegaron a la final. Formaron 2,450 pares ordenados, y los probamos adicionalmente en otros 500 valores de semillas. Para clasificar a los finalistas, también utilizamos los resultados de las sesiones entre ellos desde la primera ronda (pero no los resultados de las sesiones que involucran decisiones que no llegaron a la final). Por lo tanto, los lugares entre las 50 mejores soluciones se determinaron en base a pruebas a 1000 valores de semillas. El número total de sesiones fue de 2,450,000, y cada decisión participó en 98,000 sesiones.
En la final, se alcanzó un acuerdo en 2,358,913 sesiones (96.28%). El resultado promedio de la sesión fue de 7.0275 puntos, y el resultado promedio entre las sesiones en las que se alcanzó un acuerdo fue de 7.2989 puntos. Es impresionante lo bien que las 50 mejores soluciones aprovechan casi todas las oportunidades para cerrar un trato.
En la final, las negociaciones se interrumpieron en 1.272 sesiones (0,05%).
Registros de sesión
Los protocolos completos de las 17 205 000 sesiones de la primera ronda se publicaron en el archivo
round1.tar.bz2 (2,1 GB), y los protocolos de 2 450 000 sesiones de la final se
publicaron en el archivo
finals.tar.bz2 (322 MB). El contenido de estos archivos se superpone parcialmente, ya que algunas sesiones pertenecen tanto a la primera ronda como a la final.
En estos archivos, en cada archivo del formulario
S/AB.json
hay un protocolo de sesión con el valor semilla
S
, donde la solución
A
fue el primer participante y la solución
B
fue el segundo.
Puede usar el
haggle.js --replay=LOG.json
para "reproducir" el protocolo de sesión en un formato legible.
Estaremos interesados en ver enfoques interesantes para el análisis de esta matriz de datos en los comentarios.
Tablas de resultados
Símbolos para
tablas de resultados oficiales :
- S : Cantidad de puntos anotados (este es el tema de la competencia)
- S / N : Resultado promedio de la sesión
- A : Número de sesiones alcanzadas acuerdo
- N / A : Porcentaje de sesiones con acuerdo alcanzado
- S / A : resultado promedio de la sesión con el acuerdo alcanzado
- X : Número de sesiones finalizadas por este participante (debido a excepciones o resultados incorrectos)
La primera tabla muestra los resultados de los finalistas, la segunda, los resultados de las decisiones que no llegaron a la final.
Gracias de nuevo a todos los participantes!