On Jan 3, 2008, at 9:03 AM, Matthew Toseland wrote: > Useful class, but I'm really not convinced it's statistically sound. > You need > to normalize the stored value after every operation, otherwise as it > gets > larger, you will get bigger jumps when values are reported. In order > to do > this, you probably need to extend BDRA; put some hooks in.
Hmmm... yes, in review you are right, as averaging is not linear as such: assume: avg(a, b, c... x, y) = z then: avg(a+1, b+1, c+1... x+1, y+1) != z+1 An implementation using normalized stored values is possible by adding a single package-hook: setCurrentValue(double d); Then, in the averager, on report() to call avg.setCurrentValue(Location.normalize(avg.currentValue()); Implemented in r16855. -- Robert Hailey > On Wednesday 26 December 2007 20:51, robert at freenetproject.org wrote: >> Author: robert >> Date: 2007-12-26 20:51:38 +0000 (Wed, 26 Dec 2007) >> New Revision: 16817 >> >> Added: >> trunk/freenet/src/freenet/support/math/DecayingKeyspaceAverage.java >> Modified: >> trunk/freenet/src/freenet/node/Location.java >> trunk/freenet/src/freenet/node/NodeStats.java >> Log: >> implement keyspace-aware averager -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://emu.freenetproject.org/pipermail/devl/attachments/20080103/1067c949/attachment.html>
