Классическая задача программной инженерии — как проектировать программы минимумом усилий, и чтобы они работали быстро и надёжно. Десятки лет эта задача как-то решается минимально удовлетворительно инженерными методами, и только в текущем десятилетии появились качественно новые подходы. Одно из них — это так называемый автоматический синтез программ (program synthesis), когда мы не просто вручную описываем кодом модели реального мира, но и на основе абстрактного описания моделей добираемся до новых научных знаний достаточно прямой логической дорожкой.
То есть хотелось бы системно и прозрачно расширять наше понимание мира через такое изучение цифровых данных, которое работает отнюдь не в виде ненадёжного чёрного ящика, как нейросети глубокого обучения. Науке нужны обоснованные причинно-следственные связи, выявление которых не требовало бы чрезмерно больших объёмов входной информации, а сам процесс был бы полностью понятным человеку.
И вот одно из перспективных направлений тут — progra