The Fuzzy Logic Z Module
Fuzzy Logic Z combines signals by applying fuzzy logic operators based on Lofti Zadeh’s definitions.
Fuzzy Logic Z is arranged in two independent columns with identical functionality. Only the left column, which operates on the A and B inputs, is described below. The right column applies the same operators to the C and D inputs.
WARNING: Fuzzy Logic Z can produce very large output voltages if the input voltages are above or below the selected range. Please READ THE WARNINGS CAREFULLY!
Controls
¬ button: Negates the corresponding input by applying the NOT unary operator before applying the binary operators. NOT(x) is defined as 1-x.
UNI / BI: The input voltage range for which Fuzzy Logic Z is well-behaved. 0 to 10V (UNI) or -5 to 5V (BI).
If the input signals are within the selected range, the output signals will also be within the selected range.
Input signals above or below the selected range can produce very large output voltages.
Ports
A and B: The inputs to the operators.
AND: emits min(A,B).
OR: emits max(A,B).
XOR: emits A+B-2*min(A,B).
A ▶ B (A implies B): emits 1-min(A,1-B).
A ◀ B (B implies A): emits 1-min(1-A,B).
¬ port: Emits the negation of the operator it is grouped with. NOT(x) is defined as 1-x.
Usage Ideas
Disconnected inputs. Leave one input disconnected. Fuzzy Logic Z treates a disconnected input as a 0V input signal. How it interprets 0V depends on the position of the range switch. In UNI range (0V to 10V), 0V means absolutely false. In BI range (-5V to 5V), 0V means half true.
Sequences of Operators. Send the outputs of the A/B column to the C and D inputs (or vice versa) to form compound logic expressions.
Feedback. Connect one or both inputs of each column to outputs from the other column. This can generate very complex output signals from simple input signals. WARNING: If any input voltage is above or below the selected range, feedback loops like this can generate very high output voltages.
Alternate Fuzzy Logic. For fuzzy logic based on the less common “hyperbolic paraboloid” fuzzy operators, try Fuzzy Logic H.
Voltage and Truth
Scaling the Inputs. Before applying the operators, Fuzzy Logic Z scales its inputs from the selected range to the “fuzzy logic” range [0.0, 1.0], where 0.0 means completely false, 1.0 means completely true, and a value in between represents some degree of truth.
Scaling the Outputs. After applying the fuzzy logic operators, Fuzzy Logic Z scales each result to the range selected by the UNI / BI switch.
It may be interesting to consider the meaning of signals above or below the selected input range. More true than absolutely true? More false than absolutely false? If you connect input signals outside the selected range, be sure to heed the warnings below.
Warnings
Fuzzy Logic Z can produce VERY large output voltages if the input voltages are above or below the the range selected by the UNI / BI switch.
- Fuzzy Logic Z is well-defined and well-behaved for input signals within in its selected range. If both input signals are in the selected range, all output signals will be in the selected range.
- Input signals above or below the selected range can produce large output signals.
- Input signals even moderately above or below the selected range can produce VERY large output signals.
- Feeding Fuzzy Logic Z’s outputs back into its inputs can produce VERY large output signals if the inputs are only slightly above or below the selected range.