Думаю было бы лучше финальный бой(а еще лучше - все бои) проводить несколько раз(к примеру, 3) и результат определить по сумме варенья за 3 боя, чтобы несколько уменьшить значимость случайного фактора. Все-таки столь малый разрыв в баллах(в финальном бою) говорит о том, что результат различных эмуляций мог кардинально отличаться(в плане распределения мест).
Насчет того, чтобы каждый бой состоял из нескольких частей - идея у нас была. Но когда мы начали смотреть, с какой скоростью придется показывать эти бои при демонстрации, чтобы уложиться в отведенные нам 1,5 часа (дальше просто народ бы не высидел) - поняли, что понять, что происходит на экране, почти невозможно. Так что ВСЕ бои однозначно так моделировать не получится, а вот последние (финалы в каждой сетке + суперфинал) - это нормальная идея. Кстати, введением системы вылета только после двух поражений мы попытались ослабить влияние случайного фактора на результат боя. Мне кажется, что эта схема была неплоха. Хотя, конечно, интересно будет услышать идеи участников относительно уменьшения влияния случайностей в ходе боя.
Чтобы нормально моделировались бои нужно либо чтобы машины участников были помощнее (это, к сожалению, вне наших возможностей), либо выполнять моделирование на сервере (однако при этом существенно возрастает нагрузка на сеть при обмене данными о бое - там довольно приличный объем данных и в конце турнира сеть может быть перегружена, наверняка это будет еще более неприятно, чем просто тормоза на локальной машине). Для сравнения могу сказать, что мы промоделировали на сервере весь турнир (более 100 боев) примерно за 20 минут.
Есть мнение что бои могли долго генерироваться для ряда ботов, которые проводили слишком большие вычисления - и это не зависит ни от системы, ни от организаторов. Мы у себя моделировали - работало почти мгновенно (5-6 секунд), и это очень порадовало, как и возможность смотреть старые ролики, которую я видел впервые. В конце контеста тоже всё работало отлично, как раз засчёт того, что моделирование проводилось у участников и не грузило сервер. Так что я уверен, что технология моделирования должна остаться неизменной - она сделана очень удачно.
Судя по всему, на некоторых машинах действительно были проблемы с моделированием. Может быть машины слабые, может Java криво установлена. А в случае ТМОЛ вообще непроинициализированная переменная вела себя по разному на сервере и на клиенте (на клиенте бот не падал, а на сервере упал). Это конечно больше их косяк - пишите правильно и нет проблем, но я действительно подумываю о том, чтобы моделировать на сервере. Можно просто сделать несколько машин (например по 1 на 10 команд) плюс одну на компиляцию и базу данных (как было в этот раз и ничего не тормозило). На сервере моделирование идет в среднем секунд 20, так что можно будет спокойно моделировать каждые 3 минуты. В общем, еще подумаем...
Думаю было бы лучше финальный бой(а еще лучше - все бои) проводить несколько раз(к примеру, 3) и результат определить по сумме варенья за 3 боя, чтобы несколько уменьшить значимость случайного фактора. Все-таки столь малый разрыв в баллах(в финальном бою) говорит о том, что результат различных эмуляций мог кардинально отличаться(в плане распределения мест).
ОтветитьУдалитьСогласен. Мне еще не понравилось распределение на нижюю и верхнюю сетку. Нужно было как-то по другому это сделать.
ОтветитьУдалитьБой слишком долго генерируется.
Насчет того, чтобы каждый бой состоял из нескольких частей - идея у нас была. Но когда мы начали смотреть, с какой скоростью придется показывать эти бои при демонстрации, чтобы уложиться в отведенные нам 1,5 часа (дальше просто народ бы не высидел) - поняли, что понять, что происходит на экране, почти невозможно. Так что ВСЕ бои однозначно так моделировать не получится, а вот последние (финалы в каждой сетке + суперфинал) - это нормальная идея.
ОтветитьУдалитьКстати, введением системы вылета только после двух поражений мы попытались ослабить влияние случайного фактора на результат боя. Мне кажется, что эта схема была неплоха. Хотя, конечно, интересно будет услышать идеи участников относительно уменьшения влияния случайностей в ходе боя.
Чтобы нормально моделировались бои нужно либо чтобы машины участников были помощнее (это, к сожалению, вне наших возможностей), либо выполнять моделирование на сервере (однако при этом существенно возрастает нагрузка на сеть при обмене данными о бое - там довольно приличный объем данных и в конце турнира сеть может быть перегружена, наверняка это будет еще более неприятно, чем просто тормоза на локальной машине).
ОтветитьУдалитьДля сравнения могу сказать, что мы промоделировали на сервере весь турнир (более 100 боев) примерно за 20 минут.
Есть мнение что бои могли долго генерироваться для ряда ботов, которые проводили слишком большие вычисления - и это не зависит ни от системы, ни от организаторов.
ОтветитьУдалитьМы у себя моделировали - работало почти мгновенно (5-6 секунд), и это очень порадовало, как и возможность смотреть старые ролики, которую я видел впервые.
В конце контеста тоже всё работало отлично, как раз засчёт того, что моделирование проводилось у участников и не грузило сервер. Так что я уверен, что технология моделирования должна остаться неизменной - она сделана очень удачно.
Судя по всему, на некоторых машинах действительно были проблемы с моделированием. Может быть машины слабые, может Java криво установлена. А в случае ТМОЛ вообще непроинициализированная переменная вела себя по разному на сервере и на клиенте (на клиенте бот не падал, а на сервере упал). Это конечно больше их косяк - пишите правильно и нет проблем, но я действительно подумываю о том, чтобы моделировать на сервере. Можно просто сделать несколько машин (например по 1 на 10 команд) плюс одну на компиляцию и базу данных (как было в этот раз и ничего не тормозило). На сервере моделирование идет в среднем секунд 20, так что можно будет спокойно моделировать каждые 3 минуты. В общем, еще подумаем...
ОтветитьУдалитьА почему выложенное видео без звука?(
ОтветитьУдалитьМы обещали видео в конце недели. Пока только пробные варианты
ОтветитьУдалить