我的情况
我正在写一篇论文,介绍我开发的软件模块,并且想将其运行时间与同一任务的其他模块进行比较。我知道运行时实验的弊端,但请假设在我的情况下无法解决它。(我可以并且确实可以从理论上推论出某些属性,但是并不能满足所有要求。)
我想用于基准测试的特定方案有两个参数:问题的复杂度 和确定详细问题的随机种子 r。我主要想展示对n的依赖 。根据初步研究和理论,r对运行时的影响很小或可以忽略。单个任务最多需要十分钟才能完成。
实际问题
我正在寻找一些进行此类实验的公认或公开程序,或者至少要列出一些常见的陷阱(理想情况下已发布)。
我到目前为止发现的
没有。互联网搜索会产生各种各样无关的结果,但是我可能没有使用正确的术语。包括最低关键字(我知道这是一个很好的标准)(请参见下文)也没有帮助。
我会怎么做
尽可能在禁用了GUI等潜在干扰软件的情况下,在同一台计算机上运行所有实验。
使所有模块经受场景的相同选择,即,相同的和 r。
对于每种情况,请以随机顺序彼此直接直接测试不同的模块。换句话说,不同模块之间的循环是最里面的模块。这应避免由于机器性能的缓慢波动(例如,由于温度变化)而对不同模块造成偏差。随机顺序应避免由于诸如缓存之类的影响而产生偏差,或者避免一个模块总是在同一模块之后进行测试。
这可能有助于解释您的理由,为什么您认为“在我的情况下无法解决”。但是,当然,这可能是一个独立的问题,并在那里链接,因为该问题的重点已足够突出。
—
阿皮瓦(Apiwat Chantawibul)
@Billiska:我不确定你要我做什么。为什么要在一个单独的问题中解释我对实验方法的推理?我对此毫无疑问。
—
Wrzlprmft
我不得不不同意您花最少的时间进行重复实验。您似乎认为可能仅将轮廓线向上。可能也可以使轮廓线向下吗?更常见的是同时检查多个统计数据,例如均值,中位数,最大值。谁知道他们可能会显示出您意料之外的内容。毕竟这是一个实验性的实验。
—
阿皮瓦(Apiwat Chantawibul),
这是非常广泛的;可以写有关该主题的书籍,例如McGeoch的“实验算法指南”。甚至有人会问你:“科学有任何标准吗?”。因此,我不确定这是否合理。您还有更具体的问题吗?
—
拉斐尔