Warning: session_start(): open(/var/lib/php/sessions/sess_k7fftjpbl83q4ee0oa47vaddfv, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
srecord noeq ProbabilisticBinaryMaximumSearch(
IProbabilisticScheduler scheduler,
IF1 scoreFunction,
IVF1 action,
DoubleRange startRange) {
double featureSize = 1.0; // stop when range is shorter than twice this
// sigmoid function (R to (0; 1))
swappable double scoreToProbability(double score) {
ret arctanSigmoid_zeroToOne(score);
}
swappable double recursionProbability(DoubleRange r) {
ret zeroOne_double(halfLength(r) >= featureSize);
}
run { lookAtRange(startRange); }
void lookAtRange(DoubleRange r) {
double x = center(r);
double score = scoreFunction.get(x);
double p = scoreToProbability(score);
scheduler.at(p, () -> action.get(x));
double pRec = p * recursionProbability(r);
scheduler.at(pRec, () -> lookAtRange(lowerHalf(r)));
scheduler.at(pRec, () -> lookAtRange(upperHalf(r)));
}
}