Программист пишет код, запускает, видит ошибку и правит. Теперь этот процесс можно поручить самой программе. Машинное обучение уже умеет улучшать алгоритмы, но обычно требует много данных и готовых примеров. Новый инструмент MadEvolve действует иначе: он берёт рабочую программу и начинает её «мутировать» — случайно меняет строчки кода, проверяет, стало ли лучше, и оставляет удачные изменения. Так, шаг за шагом, рождается алгоритм, который справляется с задачей заметно лучше исходного.
Авторы испытали MadEvolve на трёх задачах из космологии. В первой нужно было по сегодняшнему расположению галактик восстановить, как вещество было распределено в ранней Вселенной. Во второй — очистить сигнал от водорода на частоте 21 см от земных помех. В третьей — быстрее и точнее рассчитать, как тёмная материя и газ взаимодействуют в компьютерной модели. Во всех случаях улучшенный код дал более точный результат, чем исходный.
MadEvolve не просто ищет лучшие параметры, но и меняет саму логику вычислений. Это как если бы механик не только подкручивал карбюратор, но и перебирал двигатель, пробуя разные детали. Такой подход открывает дорогу к автоматическому поиску научных алгоритмов — не только в космологии, но и в других областях, где нужны сложные расчёты.
Название MadEvolve отсылает к mad science — «безумной науке». Но на деле программа действует методично: пробует, сравнивает, оставляет лучшее.
В рассказе Станислава Лема «Путешествие четырнадцатое» герой встречает машины, которые сами себя совершенствуют до такой степени, что перестают нуждаться в создателях. MadEvolve — скромный шаг в ту же сторону.