MailRuChamps / miniaicups

Правила, исходники и прочее для aicups.ru
GNU General Public License v3.0
157 stars 139 forks source link

Пропуск состояний или слишком маленький таймаут ожидания ответа стратегии #132

Closed Stanislav-Povolotsky closed 6 years ago

Stanislav-Povolotsky commented 6 years ago

По отладочной информации, присылаемой стратегией, можно сделать вывод, что информация о состоянии иногда не поступает стратегии или информация поступает, но runner не дожидается ответа от стратегии, и посылает информацию о следующем состоянии.

Пример игры: http://aicups.ru/session/94149/ ( http://aicups.ru/session_debug/94149/ ) Тиков в игре: 2392 Состояний получила стратегия: 2293 (на 99 меньше) Первое пропущенное состояние: T1568

T1567                                    
D2 M"Eat food. Target:[767,329] Tick:1567
T1569                                    
D2 M"Eat food. Target:[767,329] Tick:1568 (!!! первый пропуск)

В некоторые тики в логе можно увидеть два ответа от стратегии:

T1652                                    
D2 M"Eat food. Target:[876,231] Tick:1634
D2 M"Eat food. Target:[876,231] Tick:1635

В правилах написано: 150 секунд для песочницы и 7500 ходов. То есть если стратегия тратит на обработку состояния не больше 150ms/7500=20ms, то проблем быть не должно, а они есть (в моём случае стратегия выдаёт результат меньше чем за 1ms).

PS. И можно уточнить 150 секунд - это лимит только для песочницы? Или и в играх для рейтинга этот лимит тоже будет?

sat2707 commented 6 years ago

Мы попробуем выяснить, спасибо за подробное описание. Лимиты мы будем увеличивать сообразно увеличению количества ходов в играх

BorisKolganov commented 6 years ago

Похоже связано с #160 Пофиксили серверный код, проблемы больше быть не должно.