Expand description
Membership functions for fuzzy FILTERs — map a crisp numeric value (e.g. an age,
a distance, a similarity score bound to a query variable) to a degree in [0, 1].
These produce the per-solution degree that the super::solution algebra then
composes. They are query-layer primitives (value → degree); the logic operators
that combine degrees are reused from crate::modalities::fuzzy.
Functions§
- approximately
- “≈
target” with tolerancetol: a symmetric triangle peaking attarget, reaching0attarget ± tol.tol <= 0is a crisp equality. - much_
greater_ than - “Much greater than
reference”: rises from0atreferenceto1atreference + spread. - much_
less_ than - “Much less than
reference”: falls from1atreference − spreadto0atreference. - ramp_
down - Falling ramp:
1at/belowa,0at/aboveb(a < b). “At most abouta”. - ramp_up
- Rising ramp:
0at/belowa,1at/aboveb, linear between (a < b). Use for “at least aboutb” predicates. Ifa >= b, behaves as a crisp step ata. - trapezoidal
- Trapezoidal membership:
0belowa, rising on[a, b], plateau1on[b, c], falling on[c, d],0aboved. Requiresa <= b <= c <= d. - triangular
- Triangular membership: peak
1atm, falling to0ata(left) andb(right),0outside[a, b]. Requiresa <= m <= b.