Ian Clarke wrote:
Jonathan Howard wrote:

The current StandardNodeEstimator.estimate() is trying to calculate the average time a node will take for any outcome.

Shouldn't it be returning the time if it succeeds + punishment for when it fails?


It is (or should be). It returns pSuccess*tSuccess + pFailure*tFailure

That shows what I say first and is dependent on (for working) as desired tSuccess < tFailure.

(pSuccess + pFailure) = 1
tSuccess ~= tFailure  ->
        estimate ~= (pSuccess + pFailure)*tFailure ->
        estimate ~= tFailure (or tSuccess)
        
If your dealing with quick and slow nodes it will always favour the quick.

Node 1 - pSuccess 0.1 tSuccess 1000 pFailure 0.9 tFailure 2000
estimate = 1900

Node 2 - pSuccess 0.9 tSuccess 5000 pFailure 0.1 tFailure 10000
estimate = 5500

The actual result is dependent on the real values but I would favour my suggested change and tweak the punishment.

I can't resist :-)
Who is your money on the tortoise or the hare.

Note: Just to point out for anyone not knowing the lower estimate is the first (preferred) node tried.

_______________________________________________
Devl mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to