1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7

# конспект · шаг 7 из 7

Конспект: техзадание игры

выжимка - её можно унести в заметки

Понятия

Механика - то, что игра обещает игроку словами диздока. Задачей она становится, когда записаны вход, вид ответа, критерий «лучше», размер и края.

Бюджет хода - время на ход, умноженное на скорость: 100 мс на Python - около 1,5 · 10⁶ простых операций на ВСЕ модули сразу.

Поле расстояний - один обход от общей цели; у каждой клетки расстояние до цели, и любой отряд шагает к меньшему числу.

Таблица операций - для модуля: что делают с данными каждый ход, сколько раз, при каком размере. По ней выбирают структуру.

Смещение по модулю - b % m неравномерен, если размер области не делится на m. Выборка с отказом - значения сверх наибольшего кратного m выбрасывают и берут заново.

Что унести

МЕХАНИКА -> ЗАДАЧА
вход, вид ответа (есть ли / сколько / все / лучший), «лучше», размер,
края
«отряд идёт умно»: по клеткам 5 ходов / 11 времени, по времени 9 / 9
выгодный круг: произведение курсов > 1  <=>  сумма -log курса < 0
          -> отрицательный цикл, Беллман-Форд за V · E
БЮДЖЕТ ХОДА
100 мс × 1,5 · 10⁷ оп/с = 1,5 · 10⁶ на ход, делят все модули
200 отрядов к одной цели: 200 поисков против одного поля
карта 24 × 24, 40 отрядов: 21 937 проверок -> 1838
чат: целые слова 160 проверок, подстроки 12 301
      (подстроками «плохие» все 20 сообщений)
не проходит -> другая модель, а не быстрый цикл
СТРУКТУРЫ ПОД ОПЕРАЦИИ
события: добавить + взять раннее -> куча
          52 860 сдвигов -> 2530 обменов
кто на клетке -> словарь; кто рядом -> равномерная сетка
острова связаны -> непересекающиеся множества
место в рейтинге -> Фенвик по очкам; отмена хода -> журнал, не копия мира
пара (ход, номер) в одно число: ход · 100000 + номер
ГАРАНТИИ ИГРОКУ
область конечна        -> перебор = доказательство (кубик: 256 байтов)
свойство из устройства -> доказать один раз (остов связен)
ответ проверяется      -> сертификат на каждый ответ (путь: V + E)
ничего из этого        -> стресс-тест
неразрешимо            -> предел (мод: 300 команд)
NP-трудно              -> доказанное приближение или без обещаний
b % 6 на байте: [43, 43, 43, 43, 42, 42]; с отказом 252..255 - по 42

Ловушки джокера

Алгоритм раньше толкования. Поиск пути «по клеткам» там, где дизайнер ждал «по времени», - отряды лезут через лес, и это похоже на ошибку ИИ.

Бюджет не поделен. Каждый модуль «быстрый», а вместе не влезают в 100 мс.

Структура по названию объекта. «События - список событий», и сервер тратит ход на сдвиги.

Сетка без оглядки на скопления. У крепости все отряды в одной корзине - снова все пары.

% 6 на байте. Шестёрка в 16,41% бросков вместо 16,67%.

Предел, который «никого не задевает». Любой предел отрезает часть честных модов: Коллатцу с 27 нужно 486 команд.

Комментарии

Пока нет комментариев. Будь первым!

Оставить комментарий

Комментарий появится после проверки. Email не публикуется. Войти, чтобы не вводить имя каждый раз.