Воспроизводимое и невоспроизводимое
АрхивЗа последние несколько месяцев я почему-то чаще, чем обычно, сталкивался с вечной проблемой: в какой степени можно доверять результатам, приводимым в том или ином тексте по научно-технической тематике. Если они вам действительно интересны и нужны, вы обязательно постараетесь их воспроизвести самостоятельно - чтобы лучше понять и тем более использовать идеи авторов. Однако на практике реализовать это трудно.
За последние несколько месяцев я почему-то чаще, чем обычно, сталкивался с вечной проблемой: в какой степени можно доверять результатам, приводимым в том или ином тексте по научно-технической тематике. Если они вам действительно интересны и нужны, вы обязательно постараетесь их воспроизвести самостоятельно - чтобы лучше понять и тем более использовать идеи авторов. Однако на практике реализовать это трудно.
Захотел выяснить из первых рук, имеют ли под собой почву недавние сообщения о сверхплотном сжатии информации, - вместо исчерпывающего ответа получил загадочное послание. Попытки добраться до моделей, на которых в ряде статей и лекционных курсов демонстрировались те или иные технологии трехмерного рендеринга, закончились почти ничем, - и не случайно, как пояснили искушенные зарубежные коллеги. В качестве моральной компенсации я решил написать колонку об идеологии воспроизводимых исследований (reproducible research), выросшей из стремления минимизировать такого рода проблемы в исследованиях, связанных с компьютерным моделированием и обработкой данных.
Основоположник «дисциплины воспроизводимых исследований» Джоун Клейрбаут (Jon Claerbout), сейсмолог из Стэнфорда, пишет (sepwww.stanford.edu/research/redoc/cip.html), что занялся разработкой этой методики в середине 1980-х годов, когда выяснилось, что сотрудники его лаборатории не могли воспроизвести собственные результаты обработки экспериментальных данных, спустя всего лишь полгода после завершения проекта. Красивые картинки, полученные при определенных сочетаниях параметров программ обработки и вставленные в отчеты и статьи, отказывались воспроизводиться на слегка эволюционировавшем с тех пор софте. Восстановить же магическое сочетание параметров алгоритмов и версий программ было практически невозможно. Разумеется, о намеренной подделке результатов речь не шла. Требовалось обеспечить безболезненную «переносимость» научных проектов на содержательном (более высоком, чем программная совместимость) уровне, чтобы начатую одними людьми работу могли продолжать другие.
К 1991 году Клейрбаут с сотрудниками разработали целый программный комплекс для реализации следующей идеи: отчет об исследованиях всегда должен сопровождаться программным обеспечением, на котором читатель сможет воспроизвести иллюстрации, включенные в отчет. Не правда ли, здесь есть нечто общее с идеологией свободного софта? Такие же ассоциации возникли и у Клейрбаута. К проекту создания специального формата воспроизводимых электронных документов (ReDoc) подключился Ричард Столлмен (Richard Stallman), оказавший существенную помощь в этом деле. В частности, он модифицировал утилиту make (обеспечивающую использование нужных версий исходных текстов при создании выполняемого файла) под требования дисциплины воспроизводимых исследований. В результате автор теперь может создавать воспроизводимые документы, используя небольшой набор скриптов для make, определенные соглашения об именах файлов и любой вычислительный софт, применяемый им при обработке (правда, все должно происходить под UNIX, но вроде бы это ограничение скоро будет снято). Читатель же может специальной командой уничтожить, а потом снова воспроизвести на своей платформе каждый рисунок из статьи, полученной им в электронном виде в формате ReDoc. Детали см. в упомянутой выше статье Клейрбаута.
Другая команда стэнфордских математиков подхватила идею Клейрбаута, но решила реализовать ее иначе - на основе широко распространившегося к тому времени (середина 1990-х) универсального пакета для математических и инженерных расчетов MATLAB. Эта технология, конечно, требует гораздо меньших усилий - при условии, что в вычислительных экспериментах вы используете именно MATLAB.
Скрипты на нем обычно невелики по объему и работают одинаково на всех платформах, поддерживающих MATLAB. Группа, лидером которой можно, видимо, считать известного математика Дэвида Донохо (David Donoho), сформулировала концепцию воспроизводимых исследований так: публикация результатов вычислительных экспериментов еще не есть отчет об исследованиях; это только реклама исследований. Настоящий же отчет должен включать все использованные при расчетах программные средства и данные, чтобы дать возможность читателю воспроизвести полученный автором результат. Опять-таки - речь не о том, чтобы схватить неких мифических жуликов за руку (хотя это один из побочных эффектов) - ради этого ученые вряд ли стали бы тратить свое драгоценное время. Донохо и его коллеги занимаются вейвлетными технологиями обработки и анализа данных. Результаты таких вычислений зависят от множества параметров, и понять развиваемые в работах идеи иногда просто невозможно, не «поиграв» с теми же инструментами, что использовали авторы. С этой целью был сделан бесплатно доступным пакет Wavelab, реализующий основные вычислительные инструменты группы Донохо.
Можно назвать еще несколько коллективов, приверженных дисциплине воспроизводимых исследований (например, www.cs.berkeley.edu/~murphyk/Bayes/bnt.html, lacms.maths.bris.ac.uk). Очевидно, конечно, что присоединиться к этому движению не всегда просто: препятствием может оказаться проприетарный софт, корпоративная закрытость и другие обстоятельства. Возможно, поэтому многие исследования по-прежнему остаются воспроизводимыми лишь в принципе - но не в реальности.