Operator

From FLWiki

Jump to: navigation, search

An operator is a mathematical operation carried out upon confidence values and/or edge weights that flow through a Flying Logic document.

Operators are most obviously associated with junctors, but all entities in a Flying Logic document are also associated with a specific entity operator, which is used to combine the confidence values of several incoming edges into a single confidence value for the entity. While changing the operator associated with a junctor changes just that junctors, changing the entity operator for the document changes it for every single entity in the document simultaneously.

The result of an operator may be either a fuzzy boolean type or floating-point type, depending on its inputs, as specified in the tables below.

Basic Operators

The Basic Operators are available in all editions of Flying Logic, and (along with Fuzzy NOT provided by edge weights) are sufficient for creating all the diagrams that support the Thinking Process Tools.

Operator Junctor Symbol Description
Fuzzy And AND Returns the minimum of its inputs. Inputs are interpreted as “necessary conditions.” Output value is always fuzzy boolean.
Fuzzy Or OR Returns the maximum of its inputs. Inputs are interpreted as “sufficient causes.” Output value is always fuzzy boolean.

Advanced Operators

The Advanced Operators are only available in Flying Logic Pro, and are used to support modeling using probabilities and other advanced applications.

Operator Junctor Symbol Description
Fuzzy Exclusive Or XOR For output to be true, exactly one input must be true. Inputs are interpreted as “sufficient but mutually exclusive causes.” Output value is always fuzzy boolean.
Proportion Treats each input as a “vote” of a strength proportional to the confidence value and the edge weight. Edge weights of zero count as abstentions and do not affect the output, which is different from a simple average where each zero input tends to reduce the output. Output value is fuzzy boolean unless at least one input is floating-point, in which case the output is floating-point.
Sum + Returns the sum of its inputs. Output value is fuzzy boolean unless at least one input is floating-point or the sum is outside the range of a fuzzy boolean, in which case the output is floating-point.
Sum Probabilities Follows the Specific Addition Rule, also called the OR rule. Useful for calculating the probability of two or more independent events causing a particular outcome. For example, the probability of one OR both of two flipped coins coming up heads is 50% ⊕ 50% = 75%. Output value is fuzzy boolean unless at least one input is floating-point, in which case the output is floating-point.
Product × Returns the product of its inputs. Often used to determine the probabilities of two or more independent events occurring together (the Specific Multiplication Rule, also called the AND rule.) For example, the probability of a first AND second coin flip both coming up heads is 50% × 50% = 25%. Output value is fuzzy boolean unless at least one input is floating-point, in which case the output is floating-point.
Reciprocal 1/n Returns the reciprocal of its input. Output value is always floating-point. Often used to implement division by way of a / b = a (1 / b). If more than one input is present, returns the reciprocal of the sum of its inputs.
Negate -n Returns the negation of its input. Output value is always floating-point. If more than one input is present, returns the negation of the sum of its inputs.
Complement 1-n Returns the complement (1-n) of its input. Output value is fuzzy boolean unless at least one input is floating-point or the sum is outside the range of a fuzzy boolean, in which case the output is floating-point.
Minimum MIN Returns the minimum of its inputs. Output value is fuzzy boolean unless at least one input is floating-point, in which case the output is floating-point.
Maximum MAX Returns the maximum of its inputs. Output value is fuzzy boolean unless at least one input is floating-point, in which case the output is floating-point.
Average AVG Returns the average of its inputs. Output value is fuzzy boolean unless at least one input is floating-point, in which case the output is floating-point.
Distributor The distributor behaves exactly the same as the Sum (+) operator, but is intended as a convenience for situations where a single input value is to be distributed to several outputs in a location of the diagram far away from where the value was originally produced.
Personal tools