ФлеймФорумПрограммирование

[Russian AI Cup] CodeWars 2017 (7 стр)

Страницы: 16 7 8 911 Следующая »
#90
22:18, 16 ноя 2017

ud1
> Ща чую ты добьешся от них того, что число групп уменьшат. До 5 например.
:)

>http://russianaicup.ru/game/view/31137
если стратегии были запущенны на одинаковых машинах, то тогда получается что твоя стратегия отработала за 1.7 секунды, то есть по 0.408 ms/frame  <--- крутая оптимизация.

#91
22:23, 16 ноя 2017

Adler
> то есть по 0.408 ms/frame  <--- крутая оптимизация.
Это что-то нереальное, я вообще ничего не оптимизировал, при этом у меня куча циклов по всем 1000 юнитам.

#92
23:33, 16 ноя 2017

ud1
> Вот моя оптимизация
я вот с этой стратегией запустил: https://pastebin.com/raw/Yg5PJscZ
readintarray | [Russian AI Cup] CodeWars 2017
return_std_vector | [Russian AI Cup] CodeWars 2017

ud1
> проверь, насколько стало быстрее:
стало 10 FPS после 500-го кадра, это когда все 99 групп созданы.
а на их версии от 7 до 8 FPS.
на моей от 10 до 11 FPS.

если не считать создание std::vector`а для каждого int`а, то норм.

#93
23:59, 16 ноя 2017

readVehicleUpdates с https://pastebin.com/raw/Npqqs1m4:
у меня: 0.9 ms/frame
у тебя: 0.7 ms/frame
у них: 5.3 ms/frame

если предположить, что к моменту вызова readVehicleUpdates у тебя уже всё вычитано в ReadBuffer::buf и работа с сетью не ведётся, то тогда 0.7 ms/frame - это то сколько тратиться на бесполезное пересоздание std::vector`ров.

#94
0:11, 17 ноя 2017

Adler
Убрал создание векторов для readInt и readLong

#95
0:14, 17 ноя 2017

ud1
> Убрал создание векторов для readInt и readLong
вот это годнота: 0.2 ms/frame иногда даже 0.1 ms/frame

upd:
"make_shared<PlayerContext>(readPlayerContext());" - 0.4 ms/frame

похоже на то что там вся инфа 2 раза копируется:
need_move_semantic | [Russian AI Cup] CodeWars 2017
вот бы ещё мove semantics конструкторы завезли что-ли.

но можно на это забить, т.к стало намного лучше.

#96
9:57, 17 ноя 2017

Adler
> ждешь.
> а потом тебе заявляют:
  Это ещё довольно мягкое заявление. Я бы таких оптимизаторов, которые даже не способны привести свои правки к тому же форматированию, как и во всём остальном файле, слал куда подальше, пока не научатся элементарной гигиене кода.

> WTF?
  Это опенсорс, детка. Пора привыкнуть, что не все и не всегда хотят видеть твои правки у себя, особенно в подобном виде. И что код надо приводить хотя бы в читаемое состояние, а затем уже в понятное не только тебе чтобы его кто-то начал рассматривать для добавления.

#97
13:12, 17 ноя 2017

Там люди на питоне пишут, а они из сишки последнее выжимают. Имейте совесть.

#98
1:22, 19 ноя 2017

короче была такая бага:

блин, у них на сервере стратегия почему-то считает, что через болото и дождливую местность ходить нельзя, но под дебагом и repeater`ом прога в консоль пишет что всё окей идём на врага, и мой debug renderer показывает что тоже собирается идти на врага в болото и под дождь, но координаты на следующем тике упорно смещаются в ортогональном направлении.

я собрал под:
x86-64 в релизе
x86 в релизе
x86 в дебаге

у меня всё ок показывать, не понимаю почему так.

только что подчинил с пятой попытки - всё дело в числах с плавающей точкой.
в одном месте ограничение скорости считается как: unit_spd*wet_ter_k - и в другом так же, но результаты умножения немножко отличаются из-за мусора в регистрах.
короче добавил eps = 0.3*0.6*0.005 при сравнении и проблемам исчезла.

#99
1:40, 19 ноя 2017

Adler
Ты что, скорости сравниваешь? Зачем?

Кстати там замержили мой пул реквест, стало быстрее на сервере? Или они у себя еще обновили? Как ни открою чью-то игру, так 70+ секунд. А то и хуже.

#100
2:09, 19 ноя 2017

ud1
> Ты что, скорости сравниваешь? Зачем?
да меня просто по инерции занесло, т.к сначала добавил в оценочную функцию число столкновений, потом подумал(на самом деле нет) и добавил ещё число фактов замедления, затем покрутил коэффициенты и отправил на сервер.
по умному конечно надо просто штраф пропорциональный модулю разности между реальной и запланированной скоростью в оценочную функцию добавлять.

ud1
> Кстати там замержили мой пул реквест стало быстрее на сервере? Или они у себя еще обновили?
пересоздал игру со старой версией: http://russianaicup.ru/game/view/42113
и создал с новой: http://russianaicup.ru/game/view/42110

upd(19 ноя. 2017 2:57):
>стало быстрее на сервере?
похоже ничего не поменялось.

upd2:
с новой: http://russianaicup.ru/game/view/51826

Вывод runner'а в stdout:
Program successfully terminated
  exit code:    0
  time consumed: 6.22 sec
  time passed:  73.98 sec
  peak memory:  6975488 bytes

новая vs старая: http://russianaicup.ru/game/view/51828

6.54 sec vs 77.14 sec

upd3:

+ Показать
#101
20:39, 20 ноя 2017

Adler
Прекрасно. Это же насколько больше игр можно было в прошлых конкурсах провести.

#102
16:47, 23 ноя 2017

Коллеги, а поделитесь пожалуйста инфой, кто как готовится к подобным соревнованиям?
Что можно почитать на эту тему, или может у кого что-есть из документации?
Интересует все, что касается теоретических знаний и алгоритмов.
Очень нравятся эти соревнования, заставляют мозг переключиться на что-то совершенно другое :)

#103
22:58, 23 ноя 2017

Diversus
Беру бумагу и ручку, и начинаю рисовать как должны себя вести юниты. Затем думаю как заставить их себя вести именно так. Если сам знаю как, то пишу и эксперементирую.
Если не знаю то лезу в нет по конкретным вопросам.

#104
2:47, 24 ноя 2017

Diversus
не знаю, можно ли это считать подготовкой, но я вот такую штуку делаю.

Страницы: 16 7 8 911 Следующая »
ФлеймФорумПрограммирование

Тема в архиве.