Houdini 17.0 Nodes VOP nodes

Fuzzy Inference VOP node

Performs a fuzzy inference operation over each input to determine the truth of the fuzzy set defined on this node.

On this page

This operator performs a fuzzy inference operation over each input and outputs a fuzzy value denoting the truth of the fuzzy set. Each input is a fuzzy value that implies the truth of the output value. By default the "inference" operation is equivalent to a Fuzzy Or over each of the inputs.

Typically, fuzzy inference is used to determine the truth (degree of membership) of a fuzzy set in a fuzzy logic network. As the name of the node suggests, the truth of the fuzzy set is inferred from the truths of each input (ie, while a Fuzzy Input is connected to crisp values, this node is connected to fuzzy values). The node has two outputs, the truth of the fuzzy set inferred from the inputs (a float value that is used in subsequent fuzzy logic statements) and a FuzzySet struct that contains the discretized membership function, the truth value, and the crisp range associated with the fuzzy set. The struct is used for defuzzification.

Parameters

Inference Function

The inference operation to use over each of the inputs to determine the degree of membership in the fuzzy set defined on the Fuzzy Inference VOP. By default the inference operation is just a Fuzzy Or operation applied over each of the inputs.

Fuzzy Set Name

The name of the fuzzy set. Each name for a fuzzy set should be unique for a given fuzzy variable.

Minimum

The minimum of the crisp range associated with this fuzzy set.

Maximum

The maximum of the crisp range associated with this fuzzy set.

Presets

Common membership function presets for the fuzzy set defined on the node. The control points for each preset can be adjusted by the user.

Reverse Preset

Reverses the positions of the control points for the current preset.

Membership Function

A visualization of the membership function used to determine the degree of membership in the membership set. If the preset is set to "Custom" the ramp parameter becomes editable.

Number of Samples

The number of samples to sample the membership function at when determining the degree of membership. The larger the value, the more accurate the representation of the fuzzy set will be.

Interpolation

Specifies the interpolation to use between the control points in the membership function.

Range

The range parameter is the range of the membership values defined by the membership function (must be between 0 and 1), and is interpreted differently for each preset. For example, for the "Triangle" preset, the minimum will define the value "Position 1" and "Position 3," and the maximum will define the value for "Position 2."

Positions #

The positions of each control point used to adjust each preset membership function. The position is a value between 0 and 1, and "Position 4" > "Position 3" > "Position 2" > "Position 1" (the positions will automatically be adjusted such that this remains true).

Inputs

Input Number 1…N

The input values to be combined together by the inference function.

Next Input

Where the next input value should be connected. Up to 64 inputs can be specified.

Outputs

Combined Value

The fuzzy value "inferred" from all inputs. This float value can be used in subsequent fuzzy logic statements.

Fuzzy Set

A struct that contains the discretized membership function, the fuzzy value, and the range that the fuzzy set is defined over.

Examples

The following examples include this node.

Fuzzy Logic Obstacle Avoidance Example Example for Fuzzy Defuzz VOP node

This example shows agent obstacle avoidance and path following implemented using a fuzzy logic controller.

See also

VOP nodes