Прикладное джиноводство: учимся формулировать желания. Александр Дайняк
Как объяснить компьютеру, чего вы хотите — не диктуя каждый шаг? Солверы — это современные джинны: они исполняют желания, но нужно уметь их формулировать. Иначе получится как в сказках про Аладдина и Хоттабыча.
Александр Дайняк — кандидат физико-математических наук — показывает декларативное программирование на языке MiniZinc. От арифметического ребуса MATH + IS = COOL до задачи коммивояжёра и реальной медицинской задачи обмена донорскими почками.
⏱️ Таймкоды:
0:00 — Вступление, конференция «Математика добра»
1:12 — Императивное vs декларативное программирование
4:48 — MiniZinc: язык и онлайн-среда (play.minizinc.dev)
6:29 — Что такое солвер (решатель)
8:31 — Пример: арифметический ребус MATH + IS = COOL
16:54 — Ограничение all_different
24:28 — Переменные выбора (decision variables)
25:21 — Задачи оптимизации и целевая функция
30:02 — Задача коммивояжёра (TSP): постановка
36:46 — Три способа кодирования переменных
46:17 — Модель TSP в MiniZinc: данные и код
56:04 — Вывод оптимального маршрута
1:02:20 — Снятие симметрии: зачем и как
1:13:40 — Задача обмена донорскими почками (kidney exchange)
1:21:45 — Модель kidney exchange в MiniZinc
1:26:17 — Заключение: профессия математического моделиста
1:27:02 — Благотворительность и завершение
🔗 Попробовать MiniZinc: https://play.minizinc.dev/
Telegram (анонсы и розыгрыши): https://t.me/mathloversclub28
Подробнее о конференции (расписание и бонусы): https://www.notion.so/mathloversclub/2025-2ce28c0e851781988268f5d5e99fb141
Все записи конференции — в нашем профиле на Stepik: https://stepik.org/users/645988571/teach
#математика #оптимизация #программирование #MiniZinc #научпоп
Вот ссылка на миницинк: https://play.minizinc.dev/
Вот файлы к некоторым программам, которые вчера были:
mzn
01_cryptarith.mzn817 Byte
dzn
03_kidney.dzn673 Byte
mzn
03_kidney.mzn1.53 Kb