Comments 11
Вопрос по работе арены — для готового к торгу участника каким образом арена выбирает пару? Любой из свободных на данный момент? Что происходит, если в данный момент нет других свободных участников?
Или арена выбирает произвольного участника из всех (кроме этого участника кому ищет пару) независимо от их текущей занятости, ставит «торг-пару» в очередь и первый участник ждёт пока второй освободится?
Просто в первом случае организации торгов велик шанс, что ввиду не очень большого числа участников освободившись после торгов друг с другом пара скриптов опять же найдёт друг друга же и будет снова торговать между собой, а не с иными участниками.
Или это как-то иначе решается на арене? Например рандомной и разной небольшой задержкой для обоих скриптов-участников после окончания их торга и отдачей предпочтения (если возможных свободных на данный момент соперников более 1) не тому же с кем был предыдущий торг?
Или арена выбирает произвольного участника из всех (кроме этого участника кому ищет пару) независимо от их текущей занятости, ставит «торг-пару» в очередь и первый участник ждёт пока второй освободится?
Просто в первом случае организации торгов велик шанс, что ввиду не очень большого числа участников освободившись после торгов друг с другом пара скриптов опять же найдёт друг друга же и будет снова торговать между собой, а не с иными участниками.
Или это как-то иначе решается на арене? Например рандомной и разной небольшой задержкой для обоих скриптов-участников после окончания их торга и отдачей предпочтения (если возможных свободных на данный момент соперников более 1) не тому же с кем был предыдущий торг?
Для каждой арены может быть только один ожидающий клиент (или ни одного). Если новый приходит, когда ожидающего нет, то становится ожидающим. Если ожидающий уже есть, то он вместе с новым образует пару.
Сейчас на арене
Сейчас на арене
standard
каждую секунду в среднем завершается 2.5 сеансов, что достаточно много для «перемешивания» пар.лучше самому добавить рандомную задержку между запусками.
В той самой предложенной UNIX shell команде которой,
можно например так:
Или под виндой такой батничек `client.bat` получился,
(сообщающий что ещё живой через каждые 100 сделок)
`0.05 .001 0.5` — рандомная задержка между торгами от 50 до 500 мс.
while true; do node haggle.js --id me@example.com:1234abcd myscript.js wss://hola.org/challenges/haggling/arena/standard; done
можно например так:
while true; do node haggle.js --id me@example.com:1234abcd myscript.js wss://hola.org/challenges/haggling/arena/standard; seq 0.05 .001 0.5 | shuf | head -n1 | xargs sleep; done
Или под виндой такой батничек `client.bat` получился,
@echo off
set cnt=0
echo "start trading"
:loop
node haggle.js --id me@example.com:1234abcd myscript.js wss://hola.org/challenges/haggling/arena/standard
seq 0.05 .001 0.5 | shuf | head -n1 | xargs sleep
set /a cnt+=1
set /a cntb = cnt%%100
if %cntb% equ 0 echo "trades count %cnt%"
goto loop
(сообщающий что ещё живой через каждые 100 сделок)
`0.05 .001 0.5` — рандомная задержка между торгами от 50 до 500 мс.
каков примерно будет процент участников «K» (второго этапа) от общего количества?
Возможно, сделаем не по проценту, а по пороговому значению среднего исхода сеанса. Ну и на решения посмотрим. Там же наверняка треть окажутся копиями example.js, как это бывает в каждом конкурсе.
Гипотетически, если example.js окажутся лучшими и займут топ, ведь не будет дискриминации по алгополовому признаку, и именно они пройдут во второй тур и возможно выиграют? ;)
Оно конечно понятно, что суть соревнования была не в этом, но пусть уж участвуют и такие решения на равных основаниях. Как и прочие, лишь бы правилам конкурса соответствовали.
Да, и ещё такая ремарка — там где есть рандом, всегда может выстрелить и не самая удачная стратегия, возможности, кондиции. Футбол сегодняшний хороший пример — чемпионы немцы (уже экс) прекрасные заслуженные результаты показывали, но вот наступил чемпионат-2018 и в раскладах ног, мяча и векторов $10 за все шляпы и книги забрала себе команда Южной Кореи. (не только Старкрафтом единым, молодцы, ага)
Так что а вдруг, и example.js окажется в тройке или даже победителем! Фантастический опыт тоже опыт.
Оно конечно понятно, что суть соревнования была не в этом, но пусть уж участвуют и такие решения на равных основаниях. Как и прочие, лишь бы правилам конкурса соответствовали.
Да, и ещё такая ремарка — там где есть рандом, всегда может выстрелить и не самая удачная стратегия, возможности, кондиции. Футбол сегодняшний хороший пример — чемпионы немцы (уже экс) прекрасные заслуженные результаты показывали, но вот наступил чемпионат-2018 и в раскладах ног, мяча и векторов $10 за все шляпы и книги забрала себе команда Южной Кореи. (не только Старкрафтом единым, молодцы, ага)
Так что а вдруг, и example.js окажется в тройке или даже победителем! Фантастический опыт тоже опыт.
Беда
«Added proof-of-work anti-spam measure (older clients may be asked to upgrade)»
Я первоначальную версию под себя переписал, теперь снова адаптировать.
«Added proof-of-work anti-spam measure (older clients may be asked to upgrade)»
Я первоначальную версию под себя переписал, теперь снова адаптировать.
Сегодня залили на арену каких-то ботов, которые 10 отдают, получая при этом 0.
Получается, свою стратегию нормально не потестируешь на арене (((
Получается, свою стратегию нормально не потестируешь на арене (((
Sign up to leave a comment.
Конкурс по программированию: Торговля (объявления)