取最接近零的分段(或整个图表,如果零不在该范围内) - 例如,如果您有某个范围[-5,1],取[-5,0 ]。
找出该段的大概时间,以蜱为单位。这只是将长度除以勾号的宽度。所以假设该方法说我们可以在-5到0之间插入11个滴答。这是我们的上限。对于较短的一面,我们只是将结果反映在较长的一面。
现在尝试放入尽可能多的(最多11个)刻度,以便每个刻度的标记形式为i * 10 * 10^n,i * 5 * 10^n,i * 2 * 10^n,其中n是一个整数,i是刻度的索引。现在,这是一个优化问题 - 我们希望最大限度地增加可以放入的刻度数量,同时最小化最后一个刻度与结果之间的距离。因此,为得到尽可能多的滴答声而设定一个分数,小于我们的上限,并为最后滴答滴答接近n分配一个分数 - 您必须在这里进行实验。
在上例中,尝试n = 1。我们得到1个刻度(在i = 0时)。 n = 2给我们1滴答,我们离下限越远,所以我们知道我们必须走另一条路。在每个整数点处,n = 0给我们6个滴答声。 n = -1给我们12个刻度(0,-0.5,...,-5.0)。 n = -2给我们24个滴答声,依此类推。评分算法会给他们每个分数 - 更高意味着更好的方法。
再次为i * 5 * 10^n和i * 2 * 10^n做这个,并拿出最好的分数。 (作为一个计分算法的例子,说分数是最后一次滴答时间到滴答的最大数量减去所需数量的距离,这可能是不好的,但它可以作为一个体面的起点) 。
这看起来不错,我可以买这本书。 – Nick 2008-10-28 23:17:49