netweaver:nodes:fuzzy_argument

The fuzzy argument is used to derive a trueness level from a numeric value (either simple data link or calculated data link) using a fuzzy curve. The value returned is completely dependent on the shape of the fuzzy curve.

The fuzzy argument's fuzzy curve is defined with of any number of coordinate (x,y) pairs where the x value is the input and the y value is the output.

Whereas the crisp argument evaluates to only true, false, or undetermined; the fuzzy argument is less sensitive to minor changes in data and allows interpreting the data in graceful transitions (“shades of gray”) rather than abruptly (“black and white”).

- Any mnemonic constants are resolved. Coordinate pairs that contain an unresolved mnemonic constant are discarded.
- Remaining coordinate pairs are sorted on their x values.
- If the input value is less than the x value of the first pair then the output value is the y value of the first pair.
- If the input value is greater than the x value of the final pair then the output value is the y value of the final pair.
- If the input value is between the x values of the first and final pairs then
- The bounding pairs are found: (X
_{1},Y_{1}) & (X_{2},Y_{2}) - If the input value = X
_{1}then the output value = Y_{1} - Else the output value = Y
_{1}+ (Y_{2}- Y_{1})(X_{2}- X)/(X_{2}- X_{1})