Concurso de programación: Comercio (Resultados)

¡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:

  1. Asta - premio 3000 USD .
  2. Bob silencioso - premio 2000 USD .
  3. 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!

Source: https://habr.com/ru/post/es420757/


All Articles