Quais são as diretrizes para a realização de experimentos computacionais?

13

Física, biologia, química etc. têm diferentes conjuntos de regras para a realização de experimentos: quais eventos são considerados relevantes, como evitar a contaminação das amostras, como criar e corrigir um processo de reprodução e assim por diante.

Quais são os padrões, protocolos e práticas recomendadas para garantir precisão e reprodutibilidade em experimentos numéricos?

homocomputador
fonte
1
Eu nunca me deparei com um conjunto de regras de boas práticas, mas com base no trabalho com o que está sendo publicado, eu diria que, mesmo para a reprodutibilidade, existem grandes problemas na prática atual: os resultados podem ser influenciados pela plataforma de hardware, sistema operacional (e versão), compilador (e versão), opções de compilação e configurações do aplicativo. Raramente acho isso documentado com uma quantidade suficiente de detalhes.
Njuffa

Respostas:

19

Muito foi escrito sobre como projetar, executar e relatar os resultados de experimentos computacionais. Isso tem conexões óbvias com o software de código aberto e o movimento mais amplo de "ciência aberta". Outra questão importante é a diferença entre a pesquisa "meu código é mais rápido que o seu" e a pesquisa que nos ajuda a entender melhor as propriedades dos algoritmos.

Algumas referências sobre experimentos e testes computacionais que você pode querer considerar incluem:

Coffin, Marie e Matthew J. Saltzman. 2000. " Análise Estatística de Testes Computacionais de Algoritmos e Heurísticas ." INFORMS Journal on Computing 12 (1): 24–44.

Crowder, Harlan, Ron S. Dembo e John M. Mulvey. 1979. “ Relatando Experimentos Computacionais com Software Matemático ”. Transações ACM em Software Matemático (TOMS) 5 (2): 193–203.

Feitelson, Dror G. 2006. " Ciência da Computação Experimental: A Necessidade de uma Mudança Cultural ".

Hooker, John N. 1995. “ Testando Heurísticas: Temos Tudo Errado .” Journal of Heuristics 1 (1): 33–42.

McGeoch, Catherine C. 2012. Um guia para algoritmos experimentais. Cambridge University Press.

Brian Borchers
fonte
Eu também me referiria a ferramentas como Sumatra ( pypi.org/project/Sumatra ) que visam fornecer ferramentas para rastrear experimentos computacionais para apoiar pesquisas reproduzíveis. Veja também aqui datascience.stackexchange.com/questions/758
GertVdE