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, [EMAIL PROTECTED] 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

_______________________________________________
Devl mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to