Доклад

Как превратить абстрактную задачу в оптимизационную на примере KMP-движка коллажей

Зал 2

В мобильной разработке есть задачи, которые звучат просто: сделать красиво, быстро и без сюрпризов. Но как только в систему попадают реальные данные, оказывается, что за этой простотой скрывается комбинаторный взрыв вариантов, конфликт ограничений и бесконечные частные случаи.

Покажу, как перестать чинить такие задачи эвристиками и начать решать их как оптимизационные. На примере коллажа изображений в чате разберем, как превратить визуальные дефекты в измеримые штрафы, ввести жесткие ограничения и научиться выбирать лучшее решение глобально, а не по месту.

Поговорим о том, как из абстрактного требования «должно выглядеть аккуратно» получить функцию качества, которая действительно работает на сложных входах: панорамах, вертикальных изображениях, смешанных пропорциях и маленьких контейнерах. Отдельно покажу, как такая система доводится до продакшена: ограничение пространства поиска, ускорение через кеширование и квантование, тюнинг параметров на наборах данных и защита от регрессий через инварианты и тесты.

Это будет рассказ не только про коллажи, но и про общий инженерный подход к задачам, где дизайн, математика и производительность встречаются в одной точке. Доклад будет полезен тем, кто хочет строить не набор хрупких правил, а устойчивые и переносимые решения, которыми можно управлять и которые можно улучшать системно. Все ядро реализовано как KMP-готовый модуль без зависимостей от Android и Java, поэтому алгоритм переносим между платформами и воспроизводимо тестируется без интерфейса.

Спикеры

Расписание