Технологии в Контуре
6.71K subscribers
1.36K photos
121 videos
4 files
742 links
Канал tech-команды Контура о технологиях, инженерном опыте и мероприятиях.

Наш сайт: tech.kontur.ru
Гитхаб: https://github.com/skbkontur
Хабр: habr.com/ru/company/skbkontur
Youtube: youtube.com/@KonturTech

По всем вопросам пишите в сообщения канала.
Download Telegram
🤖🤖🤖
В общем, в этом контесте мы управляем наноботами, которые собирают из вокселей 3D-модель.

Например, вот такую (похожа на членов моей команды во время чтения описания задачи):
Нужно генерировать инструкции для наноботов, причём как можно более энергоэффективные. У кого получится потратить меньше энергии на перемещение ботов по трёхмерному пространству для корректного построения модели — тот победит (как минимум в 24-часовом раунде)
«Кажется, здесь пахнет логарифмом» :)

📹📹📹
Я поднялся с шестого на девятый этаж офиса и нашёл там другую команду из 9 человек — Flash. Ребята два раза прочитали правила и записали их юмористический разбор:
А наша команда обнаружила, что организаторы предлагают нашим ботам печатать модели с сайта thingiverse.com. Вот этого, например, «Мыслителя» Родена: https://www.thingiverse.com/thing:34343
Сейчас команда разделилась на четыре части: первая пишет стратегии для сборки моделей из вокселей, вторая делает визуализатор для их интерактивной отладки, третья пишет фреймворк для оценки качества стратегий, а четвёртая написала и улучшает модели данных и (де)сериализаторы

А вот визуализация, которой хватило нам, чтобы пойти писать стратегии :)
Где-то час назад была готова первая рабочая стратегия. Собрались посмотреть её в работе:
Работает!
11 часов с начала контеста. Первая рабочая стратегия построила несколько десятков 3D-фигур, мы отправили их на оценку — и довольны результатами! В общем рейтинге мы сейчас не очень высоко…
…но причина понятна — производительность. Наша стратегия работает не очень быстро, нужно оптимизировать алгоритмы и добавлять параллелизм (сейчас мы рисуем 3D-модель всего одним ботом). А довольны результатами мы потому, что наша стратегия на текущий момент производит наилучшие решения для каждой конкретной задачи:
Помогает в отладке нашей стратегии визуализатор с перемещением во времени. Мы разобрали по косточкам визуализатор от организаторов ICFPC и добавили туда нужных нам фич. Быстрее, чем писать собственный с нуля — но работает: