public class NeighbourhoodSizeFunctionFactory extends Object
NeighbourhoodSizeFunction.| Modifier and Type | Method and Description |
|---|---|
static NeighbourhoodSizeFunction |
exponentialDecay(double initValue,
double valueAtNumCall,
long numCall)
Creates an exponential decay
function. |
static NeighbourhoodSizeFunction |
quasiSigmoidDecay(double initValue,
double slope,
long numCall)
Creates an sigmoid-like
NeighbourhoodSizeFunction function. |
public static NeighbourhoodSizeFunction exponentialDecay(double initValue, double valueAtNumCall, long numCall)
function.
It will compute a e-x / b,
where x is the (integer) independent variable and
a = initValue
b = -numCall / ln(valueAtNumCall / initValue)
initValue - Initial value, i.e.
value(0).valueAtNumCall - Value of the function at numCall.numCall - Argument for which the function returns
valueAtNumCall.NotStrictlyPositiveException - if initValue <= 0.NotStrictlyPositiveException - if valueAtNumCall <= 0.NumberIsTooLargeException - if valueAtNumCall >= initValue.NotStrictlyPositiveException - if numCall <= 0.public static NeighbourhoodSizeFunction quasiSigmoidDecay(double initValue, double slope, long numCall)
NeighbourhoodSizeFunction function.
The function f will have the following properties:
f(0) = initValuenumCall is the inflexion pointslope = f'(numCall)initValue - Initial value, i.e.
value(0).slope - Value of the function derivative at numCall.numCall - Inflexion point.NotStrictlyPositiveException - if initValue <= 0.NumberIsTooLargeException - if slope >= 0.NotStrictlyPositiveException - if numCall <= 0.Copyright © 2003–2016 The Apache Software Foundation. All rights reserved.