View Source Flex.EngineAdapter behaviour (FLex v0.2.1)

Link to this section Summary

Link to this section Types

@type antecedent() :: [Flex.Variable.t(), ...]
@type consequent() :: Flex.Variable.t()
@type engine_state() :: %Flex.EngineAdapter.State{
  crisp_output: integer() | float(),
  fuzzy_antecedent: map(),
  fuzzy_consequent: Flex.Variable.t(),
  input_vector: list(),
  type: Flex.EngineAdapter.Mamdani | Flex.EngineAdapter.TakagiSugeno
}

Engine Adapter State.

  • :type - defines the inference engine behavior (default: Mamdini).
  • :fuzzy_antecedent - fuzzification output.
  • :fuzzy_consequent - inference output.
  • :crisp_output - defuzzification output.
@type rules() :: [Flex.Rule.t(), ...]

Link to this section Callbacks

Link to this callback

defuzzification(engine_state)

View Source
@callback defuzzification(engine_state()) :: engine_state()
Link to this callback

fuzzification(engine_state, antecedent)

View Source
@callback fuzzification(engine_state(), antecedent()) :: engine_state()
Link to this callback

inference(engine_state, rules, consequent)

View Source
@callback inference(engine_state(), rules(), consequent()) :: engine_state()
Link to this callback

validation(engine_state, antecedent, rules, consequent)

View Source
@callback validation(engine_state(), antecedent(), rules(), consequent()) ::
  engine_state()

Link to this section Functions

Link to this function

default_fuzzification(list1, list2, ant_map)

View Source
Link to this function

defuzzification(engine_state)

View Source
Link to this function

fuzzification(engine_state, antecedent)

View Source
Link to this function

inference(engine_state, rules, consequent)

View Source
Link to this function

validation(engine_state, antecedent, rules, consequent)

View Source