¿Cuáles son las pautas para realizar experimentos computacionales?

13

La física, la biología, la química, etc. tienen diferentes conjuntos de reglas para hacer experimentos: qué eventos se consideran relevantes, cómo evitar la contaminación de las muestras, cómo crear y reparar un proceso de reproducción, etc.

¿Cuáles son los estándares, protocolos y mejores prácticas para garantizar la precisión y la reproducibilidad en experimentos numéricos?

homocomputeris
fuente
1
Nunca me he encontrado con un conjunto de reglas de mejores prácticas, pero basándome en trabajar con lo que se publica, diría que incluso para la reproducibilidad solo hay problemas importantes en la práctica actual: los resultados pueden estar influenciados por la plataforma de hardware, el sistema operativo (y versión), compilador (y versión), modificadores de compilación y ajustes de configuración de la aplicación. Raramente encuentro esto documentado con una cantidad suficiente de detalles.
njuffa

Respuestas:

19

Se ha escrito mucho sobre cómo diseñar, ejecutar e informar los resultados de experimentos computacionales. Esto tiene conexiones obvias con el software de código abierto y el movimiento más amplio de "ciencia abierta". Otra cuestión importante es la diferencia entre la investigación "mi código es más rápido que el suyo" y la investigación que nos ayuda a comprender mejor las propiedades de los algoritmos.

Algunas referencias sobre experimentos computacionales y pruebas que quizás desee ver incluyen:

Ataúd, Marie y Matthew J. Saltzman. 2000. " Análisis estadístico de pruebas computacionales de algoritmos y heurísticas ". INFORMS Journal on Computing 12 (1): 24–44.

Crowder, Harlan, Ron S. Dembo y John M. Mulvey. 1979. “ Sobre el reporte de experimentos computacionales con software matemático ". Transacciones de ACM en software matemático (TOMS) 5 (2): 193–203.

Feitelson, Dror G. 2006. " Informática experimental: la necesidad de un cambio cultural" .

Hooker, John N. 1995. " Pruebas de heurística: lo tenemos todo mal ". Journal of Heuristics 1 (1): 33–42.

McGeoch, Catherine C. 2012. Una guía de algoritmos experimentales. Prensa de la Universidad de Cambridge.

Brian Borchers
fuente
También me referiría a herramientas como Sumatra ( pypi.org/project/Sumatra ) que tienen como objetivo proporcionar herramientas para rastrear experimentos computacionales para apoyar la investigación reproducible. Vea también aquí datascience.stackexchange.com/questions/758
GertVdE