FLOW_ALGEBRA FuzzyInferenceOntology v1.0
TARGET_URL := "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/mathematical-logic-ontologies/fuzzy-logic/fuzzy-inference-ontology.html"
LANGUAGE := "en-GB"
DOMAIN := MathematicalOntologies > MathematicalLogicOntologies > FuzzyLogic > FuzzyInferenceOntology
BEGIN_FLOW
ENTITY FuzzyInference {
TYPE := GradedReasoningProcess
DEFINITION := "A process that derives fuzzy or crisp conclusions from fuzzy facts, membership functions and fuzzy rules using explicitly selected fuzzy operators, implication, aggregation and output semantics."
}
ENTITY FuzzyInferenceSystem {
TYPE := RuleBasedReasoningSystem
COMPONENTS := {Fuzzification,RuleBase,InferenceEngine,Aggregation,OutputProcessing}
}
RELATIONSHIP FuzzyInference --uses--> FuzzyRule
RELATIONSHIP FuzzyInference --uses--> MembershipFunction
RELATIONSHIP FuzzyInference --uses--> DegreeOfTruth
RELATIONSHIP FuzzyInference --uses--> FuzzyOperators
RELATIONSHIP FuzzyInferenceSystem --contains--> FuzzyRuleBase
RELATIONSHIP FuzzyInference --supports--> ApproximateReasoning
INFERENCE_PIPELINE {
CrispInputs
-> Fuzzification
-> AntecedentEvaluation
-> RuleActivation
-> ConsequentInference
-> Aggregation
-> OutputProcessing
}
FUZZIFICATION(InputVector X) {
FOR_EACH crisp_input x_i
FOR_EACH relevant fuzzy_set A_ij:
degree_ij := μ_Aij(x_i)
RETURN membership_degrees
}
ANTECEDENT_EVALUATION {
ATOM(x IS A) := μ_A(x)
AND(P,Q) := T(degree(P),degree(Q))
OR(P,Q) := S(degree(P),degree(Q))
NOT(P) := N(degree(P))
REQUIRE selected operators T,S,N
}
RULE_FIRING {
FOR rule R_i:
w_i := degree(Antecedent_i)
}
RULE_WEIGHTING {
adjusted_w_i :=
declared_combination(w_i,rule_weight_i)
REQUIRE explicit weighting semantics
}
ENTITY MamdaniInference {
TYPE := FuzzyInferenceMethod
}
MAMDANI_RULE {
IF Antecedent_i
THEN output IS B_i
}
MAMDANI_MIN_IMPLICATION {
μ_i(y) :=
min(w_i,μ_Bi(y))
}
MAMDANI_PRODUCT_IMPLICATION {
μ_i(y) :=
w_i*μ_Bi(y)
}
MAMDANI_AGGREGATION_MAX {
μ_out(y) :=
max_i μ_i(y)
}
MAMDANI_PROCESS {
FUZZIFY inputs
COMPUTE firing_strengths
ACTIVATE fuzzy_consequents
AGGREGATE consequent_fuzzy_sets
DEFUZZIFY if crisp_output_required
}
CENTROID_DEFUZZIFICATION {
y_star :=
integral(y*μ_out(y)dy)
/
integral(μ_out(y)dy)
REQUIRE denominator!=0
}
BISECTOR_DEFUZZIFICATION {
FIND y_star WHERE
integral_left(y_star)
=
integral_right(y_star)
}
MEAN_OF_MAXIMA {
RETURN mean(
y values where μ_out(y)=max_membership
)
}
ENTITY SugenoInference {
TYPE := FuzzyInferenceMethod
}
ZERO_ORDER_SUGENO_RULE {
IF Antecedent_i
THEN z_i := c_i
}
FIRST_ORDER_SUGENO_RULE {
IF Antecedent_i
THEN
z_i :=
a_i0 + SUM_j(a_ij*x_j)
}
SUGENO_OUTPUT {
z :=
SUM_i(w_i*z_i)
/
SUM_i(w_i)
REQUIRE SUM_i(w_i)!=0
}
MAMDANI_VS_SUGENO {
MamdaniConsequent := FuzzySet
SugenoConsequent := CrispFunctionOrConstant
MamdaniOutputProcessing := AggregationThenDefuzzification
SugenoOutputProcessing := WeightedCombination
}
ENTITY TsukamotoInference {
TYPE := FuzzyInferenceMethod
}
TSUKAMOTO_RULE {
consequent_membership_function :=
monotonic
firing_strength w_i
-> inverse_membership
-> crisp z_i
}
TSUKAMOTO_OUTPUT {
z :=
SUM_i(w_i*z_i)
/
SUM_i(w_i)
}
FUZZY_IMPLICATION {
TYPE := BinaryOperator
SIGNATURE := [0,1]^2->[0,1]
REQUIRE selected implication semantics
}
LUKASIEWICZ_IMPLICATION {
I_L(a,b) := min(1,1-a+b)
}
GODEL_IMPLICATION {
I_G(a,b) :=
IF a<=b THEN 1 ELSE b
}
MAMDANI_STYLE_IMPLICATION {
I_M(a,b) := min(a,b)
WHEN clipping semantics selected
}
COMPOSITIONAL_RULE_OF_INFERENCE {
FuzzyInput
+ FuzzyRelation
-> RelationComposition
-> FuzzyOutput
}
MAX_MIN_COMPOSITION {
μ_B(y) :=
sup_x min(
μ_A(x),
μ_R(x,y)
)
}
MAX_PRODUCT_COMPOSITION {
μ_B(y) :=
sup_x (
μ_A(x)*μ_R(x,y)
)
}
GENERALIZED_MODUS_PONENS {
GIVEN:
IF x IS A THEN y IS B
x IS A'
DERIVE:
y IS B'
B' :=
composition_of_A'_with_rule_relation
REQUIRE selected implication_and_composition
}
RULE_AGGREGATION {
INPUT :=
activated_rule_outputs
OUTPUT :=
combined_output
REQUIRE :=
aggregation_operator declared
}
MAX_AGGREGATION {
μ_out(y) := max_i μ_i(y)
}
SUM_STYLE_AGGREGATION {
REQUIRE bounded_or_normalised_method
WARNING :=
arithmetic summation may exceed [0,1] unless controlled
}
NO_RULE_FIRES {
CONDITION :=
FOR_ALL i: w_i=0
REQUIRE :=
declared fallback_policy
POSSIBLE_POLICIES := {
DefaultOutput,
PreviousOutput,
NeutralValue,
UndefinedOrError
}
}
RULE_COVERAGE {
INPUT_DOMAIN
-> evaluate rule activation
-> identify regions where all rules have zero firing strength
}
INFERENCE_CONSISTENCY {
CHECK {
MembershipDomains,
OperatorDomains,
RuleTypes,
ConsequentTypes,
AggregationMethod,
OutputMethod
}
}
INFERENCE_TRACE {
RECORD {
InputValues,
MembershipDegrees,
AntecedentDegrees,
FiringStrengths,
ActivatedConsequents,
AggregatedOutput,
FinalOutput
}
}
EXPLAINABLE_INFERENCE {
OUTPUT :=
conclusion + inference_trace
}
MONOTONICITY_ANALYSIS {
DETERMINE whether system output preserves expected ordering
REQUIRE complete membership/rule/operator specification
}
SENSITIVITY_ANALYSIS {
PERTURB input_or_parameters
RECOMPUTE inference
MEASURE output_change
}
PARAMETER_DEPENDENCE {
MembershipFunctionParameters
-> MembershipDegrees
-> FiringStrengths
-> Output
RuleWeights
-> AdjustedFiringStrengths
-> Output
}
FUZZY_INFERENCE_VS_CLASSICAL {
CLASSICAL :=
rules typically fire under binary truth conditions
FUZZY :=
multiple rules may activate simultaneously to different degrees
}
FUZZY_INFERENCE_VS_PROBABILITY {
FiringStrength != Probability
MembershipDegree != Probability
REQUIRE hybrid semantics if probabilistic interpretation intended
}
TYPE_2_FUZZY_INFERENCE {
INPUT :=
Type2MembershipFunctions
PROCESS :=
Type2RuleEvaluation
-> TypeReduction
-> Defuzzification
}
TYPE_REDUCTION {
INPUT := Type2FuzzyOutput
OUTPUT := Type1SetOrInterval
PRECEDES := Defuzzification
}
INTERVAL_TYPE_2_INFERENCE {
MEMBERSHIP :=
interval-valued primary membership
OUTPUT :=
type_reduced_interval_or_set
before crisp conversion
}
HIERARCHICAL_FUZZY_INFERENCE {
MULTIPLE fuzzy_subsystems
-> intermediate_outputs
-> higher_level_inference
REQUIRE explicit dependency structure
}
ADAPTIVE_FUZZY_INFERENCE {
PARAMETERS :=
learned_or_adjusted_from_data
REQUIRE :=
training objective,
constraints,
validation
}
NEURO_FUZZY_RELATIONSHIP {
FuzzyInference --may_combine_with--> NeuralLearning
PURPOSE :=
learn membership or rule parameters while retaining fuzzy inference structure
}
CONTROL_APPLICATION {
Sensors
-> FuzzyInferenceSystem
-> ControlDecision
-> ActuatorCommand
}
CLASSIFICATION_APPLICATION {
Features
-> Fuzzification
-> RuleInference
-> ClassDegreesOrDecision
}
DECISION_SUPPORT_APPLICATION {
Criteria
-> FuzzyEvaluation
-> RuleAggregation
-> DecisionOutput
}
APPLICATION_RELATIONSHIPS {
FuzzyInference --supports--> FuzzyControl
FuzzyInference --supports--> ExpertSystems
FuzzyInference --supports--> DecisionSupport
FuzzyInference --supports--> Classification
FuzzyInference --supports--> Robotics
FuzzyInference --supports--> ArtificialIntelligence
FuzzyInference --supports--> ApproximateReasoning
FuzzyInference --supports--> PatternRecognition
FuzzyInference --supports--> DataFusion
}
ONTOLOGY_LINKS {
PARENT := FuzzyLogicOntology
RELATED := {
FuzzyLogicOntology,
FuzzyRuleOntology,
FuzzySetOntology,
MembershipFunctionOntology,
DegreeOfTruthOntology,
TNormOntology,
TConormOntology,
FuzzyImplicationOntology,
DefuzzificationOntology,
ApproximateReasoningOntology,
Type2FuzzySetOntology
}
}
SEMANTIC_EQUIVALENCE {
FuzzyInference ≈ FuzzyReasoning
FuzzyInferenceSystem ≈ FIS
RuleFiringStrength ≈ AntecedentActivationDegree
WHEN no additional weighting applied
MamdaniInference ≈ FuzzyConsequentInference
WHEN standard Mamdani architecture selected
}
CONSTRAINTS {
C1 := all membership and firing degrees MUST remain in declared domains
C2 := selected t-norm/t-conorm/negation MUST be declared where results depend on them
C3 := implication semantics MUST be declared
C4 := aggregation method MUST be declared
C5 := Mamdani, Sugeno and Tsukamoto semantics MUST remain distinct
C6 := defuzzification MUST be specified for crisp Mamdani output
C7 := no-rule-fire behaviour MUST be explicitly handled
C8 := firing strengths MUST NOT automatically be interpreted as probabilities
C9 := Type-2 inference MUST perform appropriate type reduction before crisp defuzzification
C10 := learned parameters MUST preserve membership and inference constraints
C11 := inference traces MUST reflect actual operator sequence
C12 := transformations MUST preserve selected fuzzy inference semantics
}
REASONING_CHAIN Query Q {
IDENTIFY inference_method
IDENTIFY crisp_or_fuzzy_inputs
IDENTIFY membership_functions
IDENTIFY fuzzy_rule_base
IDENTIFY logical_operators
IDENTIFY implication_method
IDENTIFY aggregation_method
IDENTIFY output_method
IF crisp_inputs
THEN FUZZIFICATION
FOR_EACH rule {
EVALUATE antecedent
COMPUTE firing_strength
APPLY optional rule_weight
}
IF Mamdani {
ACTIVATE fuzzy_consequents
AGGREGATE fuzzy_outputs
IF crisp_output_requested
THEN DEFUZZIFY
}
IF Sugeno {
EVALUATE consequent_functions
COMPUTE weighted_output
}
IF Tsukamoto {
INVERT monotonic_consequents
COMPUTE weighted_output
}
IF Type2 {
EVALUATE type2_rules
APPLY type_reduction
IF crisp_output_requested
THEN DEFUZZIFY
}
IF no_rule_fires
THEN APPLY declared_fallback
BUILD inference_trace
VALIDATE constraints
RETURN output WITH derivation
}
CONFIDENCE {
CORE_FUZZY_INFERENCE_DEFINITION := 1.00
MAMDANI_ARCHITECTURE := 1.00
SUGENO_ARCHITECTURE := 1.00
TSUKAMOTO_CORE := 0.99
COMPOSITIONAL_INFERENCE := 0.99
TYPE2_PIPELINE := 0.99
COMPUTED_OUTPUT :=
IF complete_rules_memberships_operators_and_output_method THEN 1.00
ELSE REQUIRE missing_information
}
UPDATE_MODEL {
IMMUTABLE_CORE := {
Fuzzification,
GradedRuleActivation,
ConsequentInference,
Aggregation,
OutputProcessing
}
EXTENSIBLE := {
InferenceArchitectures,
ImplicationOperators,
AggregationMethods,
DefuzzificationMethods,
Type2Inference,
AdaptiveInference,
NeuroFuzzyMethods,
ApplicationDomains,
RelatedOntologies
}
ON_NEW_KNOWLEDGE {
IDENTIFY inference_architecture
VALIDATE membership_domains
VALIDATE operators
VALIDATE rule_semantics
VALIDATE aggregation
VALIDATE output_processing
CHECK semantic_consistency
ADD relationship IF non_contradictory
UPDATE confidence
}
}
AI_CONSUMPTION {
MACHINE_READABLE := TRUE
HUMAN_INTERPRETABLE := TRUE
RECURSIVE_REASONING := TRUE
ENTITY_RESOLUTION := TRUE
RULE_RESOLUTION := TRUE
SYMBOL_RESOLUTION := TRUE
RELATIONSHIP_TRAVERSAL := TRUE
FUZZIFICATION_REASONING := TRUE
RULE_FIRING_REASONING := TRUE
MAMDANI_REASONING := TRUE
SUGENO_REASONING := TRUE
TSUKAMOTO_REASONING := TRUE
TYPE2_REASONING := TRUE
DEFUZZIFICATION_REASONING := TRUE
INFERENCE_TRACE_GENERATION := TRUE
VALIDATION_REQUIRED := TRUE
}
FLOW_HASH {
TARGET := TARGET_URL
SUBJECT := "Fuzzy Inference Ontology"
VERSION := "1.0"
CANONICAL_SIGNATURE :=
HASH(TARGET + SUBJECT + DOMAIN + VERSION)
}
OUTPUT {
PRIMARY_ENTITY := FuzzyInference
INTERPRETATION :=
"Fuzzy inference transforms crisp or fuzzy inputs into graded or crisp conclusions by fuzzifying inputs, evaluating fuzzy rule antecedents, activating consequents and combining rule outputs according to an explicitly selected inference architecture. Mamdani, Sugeno, Tsukamoto and Type-2 systems use distinct consequent and output-processing semantics that must remain explicit throughout reasoning."
}
END_FLOW
Download Code
Copy to Clipboard