Каковы рекомендации по проведению вычислительных экспериментов?

13

Физика, биология, химия и т. Д. Имеют различные наборы правил для проведения экспериментов: какие события считаются актуальными, как избежать загрязнения образцов, как создать и исправить процесс воспроизведения и так далее.

Каковы стандарты, протоколы и лучшие практики для обеспечения точности и воспроизводимости численных экспериментов?

homocomputeris
источник
1
Я никогда не сталкивался с набором правил передовой практики, но, основываясь на работе с тем, что публикуется, я бы сказал, что даже для одной воспроизводимости существуют серьезные проблемы в современной практике: на результаты может влиять аппаратная платформа, операционная система (и версия), компилятор (и версия), параметры компиляции и параметры конфигурации приложения. Редко я нахожу это задокументированным с достаточным количеством деталей.
njuffa

Ответы:

19

Много написано о том, как проектировать, выполнять и сообщать о результатах вычислительных экспериментов. Это имеет очевидные связи с программным обеспечением с открытым исходным кодом и более широким движением "открытой науки". Еще одна важная проблема - это различие между «моим кодом быстрее, чем вашим» исследованиями и исследованиями, которые помогают нам лучше понять свойства алгоритмов.

Вот некоторые ссылки на вычислительные эксперименты и тестирование, на которые вы можете посмотреть:

Гроб, Мари и Мэтью Дж. Зальцман. 2000. « Статистический анализ вычислительных тестов алгоритмов и эвристики ». INFORMS Journal по вычислительной технике 12 (1): 24–44.

Краудер, Харлан, Рон С. Дембо и Джон М. Малви. 1979. « Об отчетности вычислительных экспериментов с математическим программным обеспечением ». Транзакции ACM по математическому программному обеспечению (TOMS) 5 (2): 193–203.

Feitelson, Dror G. 2006. « Экспериментальная компьютерная наука: необходимость культурных изменений ».

Хукер, Джон Н. 1995. « Тестирование эвристики: у нас все неправильно ». Эвристический журнал 1 (1): 33–42.

McGeoch, Catherine C. 2012. Руководство по экспериментальной алгоритмике. Издательство Кембриджского университета.

Брайан Борхерс
источник
Я также хотел бы сослаться на такие инструменты, как Суматра ( pypi.org/project/Sumatra ), целью которых является предоставление инструментов для отслеживания вычислительных экспериментов для поддержки воспроизводимых исследований. См. Также здесь datascience.stackexchange.com/questions/758
GertVdE