@thi.ng/fuzzy
Version:
Fuzzy logic operators & configurable rule inferencing engine
20 lines (19 loc) • 433 B
JavaScript
import { __defaultOpts } from "./opts.js";
const centroidStrategy = (opts) => {
let { samples } = __defaultOpts(opts);
return (fn, [min, max]) => {
const delta = (max - min) / samples;
let num = 0;
let denom = 0;
for (let i = 0; i <= samples; i++) {
const x = min + i * delta;
const y = fn(x);
num += x * y;
denom += y;
}
return num / denom;
};
};
export {
centroidStrategy
};