Concurso de Programação: Comércio (Resultados)

Muito obrigado a todos os participantes do concurso de programação ! Temos o prazer de anunciar os resultados finais da competição.

A competição envolveu 186 decisÔes. Realizamos um torneio de duas rodadas entre eles, como anunciado anteriormente. Parabéns aos vencedores:

  1. Asta - prĂȘmio 3000 USD .
  2. Bob silencioso - prĂȘmio 2000 USD .
  3. Robert Speed - prĂȘmio 1000 USD .

Um prĂȘmio especial de 400 USD Ă© recebido por um participante sob o pseudĂŽnimo indutny pelo desenvolvimento de uma arena alternativa para testes on-line de soluçÔes com maior largura de banda do que a fornecida por nĂłs. Obrigada

VocĂȘ encontrarĂĄ a tabela de resultados oficial no GitHub .

SoluçÔes


Todas as soluçÔes sĂŁo publicadas no diretĂłrio de envios . Em cada subdiretĂłrio, hĂĄ um script solution.js que participou do teste. Se um participante enviou um arquivo com textos de origem, seu conteĂșdo Ă© colocado no subdiretĂłrio src . Somente a Ășltima das decisĂ”es enviadas por cada participante foi considerada (e publicada).

Valores das sementes


Como prometido, pegamos o primeiro tweet da @SpringerTV , que apareceu apĂłs o final do processo de tomada de decisĂŁo, e o colocamos em um script publicado anteriormente. Esse script de tweet, ligeiramente modificado para separar a saĂ­da de duas subsequĂȘncias, Ă© publicado como seeds.js .

Os primeiros 500 membros Ă­mpares da sequĂȘncia sĂŁo colocados no arquivo round1.txt e usados ​​na primeira rodada.

Os primeiros 500 membros pares da sequĂȘncia sĂŁo colocados no arquivo finals.txt e usados ​​na final.

EstatĂ­sticas


As 186 decisĂ”es que participaram do primeiro turno formaram 34.410 pares ordenados. Foram realizadas tantas sessĂ”es com cada um dos 500 valores de sementes. O nĂșmero total de sessĂ”es no primeiro turno foi de 17 205 000. Cada decisĂŁo participou de 185 000 sessĂ”es.

Foi alcançado um acordo em 13.868.284 sessÔes (80,6%). O resultado médio da sessão foi de 5,8728 pontos, e o resultado médio entre as sessÔes em que um acordo foi alcançado foi de 7,2858 pontos.

As negociaçÔes foram interrompidas em 626.779 sessÔes (3,64%) por vårios motivos (ofertas invålidas, exceçÔes, expiração de tempo).

50 decisĂ”es chegaram Ă  final. Eles formaram 2.450 pares ordenados e os testamos adicionalmente em outros 500 valores de sementes. Para classificar os finalistas, tambĂ©m usamos os resultados das sessĂ”es entre eles desde o primeiro turno (mas nĂŁo os resultados das sessĂ”es que envolvem decisĂ”es que nĂŁo chegaram Ă  final). Assim, os locais entre as 50 principais soluçÔes foram determinados com base em testes com 1000 valores de sementes. O nĂșmero total de sessĂ”es foi de 2.450.000, e cada decisĂŁo participou de 98.000 sessĂ”es.

No final, foi alcançado um acordo em 2.358.913 sessĂ”es (96,28%). O resultado mĂ©dio da sessĂŁo foi de 7,0275 pontos, e o resultado mĂ©dio entre as sessĂ”es em que um acordo foi alcançado foi de 7,2989 pontos. É impressionante como as 50 principais soluçÔes usam quase todas as oportunidades para fechar um negĂłcio.

Na final, as negociaçÔes foram interrompidas em 1.272 sessÔes (0,05%).

Logs de sessĂŁo


Os protocolos completos de todas as 17 205 000 sessĂ”es da primeira rodada foram publicados no arquivo round1.tar.bz2 (2,1 GB), e os protocolos de 2 450 000 sessĂ”es da final foram publicados no arquivo finals.tar.bz2 (322 MB). O conteĂșdo desses arquivos se sobrepĂ”e parcialmente, pois algumas sessĂ”es pertencem Ă  primeira rodada e Ă  final.

Nesses arquivos, em cada arquivo no formato S/AB.json hå um protocolo de sessão com o valor inicial S , em que a solução A foi o primeiro participante e a solução B foi o segundo.

VocĂȘ pode usar o haggle.js --replay=LOG.json para "reproduzir" o protocolo da sessĂŁo em um formato legĂ­vel.

Estaremos interessados ​​em ver abordagens interessantes para a análise dessa matriz de dados nos comentários.

Tabelas de resultados


SĂ­mbolos para tabelas oficiais de resultados :

  • S : Quantidade de pontos marcados (este Ă© o assunto da competição)
  • S / N : resultado mĂ©dio da sessĂŁo
  • A : NĂșmero de sessĂ”es alcançado acordo
  • N / A : porcentagem de sessĂ”es com o acordo alcançado
  • S / A : resultado mĂ©dio da sessĂŁo com acordo alcançado
  • X : NĂșmero de sessĂ”es encerradas por este participante (devido a exceçÔes ou resultados incorretos)

A primeira tabela mostra os resultados dos finalistas, a segunda - os resultados das decisÔes que não chegaram à final.

Mais uma vez obrigado a todos os participantes!

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


All Articles