|
Робот-теоретик
Но все эти достижения меркнут перед способностями компьютерной программы, описанной во
второй публикации в том же номере SCieNCe.
Доцент американского Корнельского университета Ход Липсон и его аспирант Майкл Шмидт
создали алгоритм, способный замечать настоящие законы природы в голых экспериментальных
данных.
Программа не имеет никаких представлений о геометрии или теоретической механике, но
умудряется находить аналитические выражения (грубо говоря, формулы), для формулирования
которых человечеству понадобились гении Евклида, Ньютона, Лагранжа и Гамильтона.
Липсон и Шмидт поставили задачу найти по ряду экспериментальных данных, предоставленных
программе, нетривиальные выражения, описывающие поведение измеренной системы. При том речь
идёт об аналитических выражениях, связывающих различные переменные. И программа, которую
авторы почему-то никак не назвали, может даже использовать закономерности, всплывшие при
изучении простых систем, в исследовании систем куда более сложных.
Представление формулы 2,45+1,532*?2+3,714*Cos? в виде графа // SCieNCe/AAAS
Представление формул в виде графов
Граф, представляющий формулу, – это «дерево», граничными «листьями» которого являются
переменные и параметры, а в узлах находятся операторы (вроде «+», «–»,...
В качестве экспериментальных систем корнельские специалисты взяли маятники и
осцилляторы из университетского студенческого практикума, а в качестве входных данных – их
координаты, скорости и иногда ускорения. И программа довольно быстро находила и выражения,
описывающие траекторию, и второй закон Ньютона (если ей давали ускорения), и закон
сохранения энергии. А также несколько других формул, оказавшихся при детальном
рассмотрении приближениями к этим законам.
Более того, программа нашла даже так называемую функцию Лагранжа, лагранжиан, до боли
знакомый всякому, кто учил в институте теоретическую механику. В отличие от энергии эта
величина при движении не сохраняется, однако из неё можно вывести всю динамику системы.
Программа Липсона и Шмидта легко увидела её в данных – для обычного маятника и осциллятора
на пружинах на всё это потребовалось несколько минут на 32-ядерном процессоре. Пусть те,
кто изучал термех не вчера, попробуют записать лагранжиан для груза на двух пружинах и
заметят, сколько времени им на это потребовалось. А ведь человек-то явно «умнее»
32-ядерного процессора.
|
|
|