What I do
- Design fuzzy inference systems
- Implement membership functions
- Create fuzzy rules
- Handle uncertainty and imprecision
- Build expert systems with fuzzy logic
- Control systems with fuzzy rules
When to use me
Use me when:
- Building control systems
- Working with imprecise inputs
- Expert system development
- Pattern recognition with uncertainty
- Decision support with vague criteria
Key Concepts
Fuzzy Logic Basics
Classical: Temperature > 30 → Hot (true/false)
Fuzzy: Temperature 28 → Hot (0.6), Warm (0.4)
Fuzzy Control Example
import numpy as np
import skfuzzy as fuzz
from skfuzzy import control as ctrl
# Define universes
temperature = ctrl.Antecedent(np.arange(0, 41, 1), 'temperature')
fan_speed = ctrl.Consequent(np.arange(0, 101, 1), 'fan_speed')
# Membership functions
temperature['cold'] = fuzz.trimf(temperature.universe, [0, 0, 20])
temperature['cool'] = fuzz.trimf(temperature.universe, [10, 25, 30])
temperature['hot'] = fuzz.trimf(temperature.universe, [25, 40, 40])
fan_speed['low'] = fuzz.trimf(fan_speed.universe, [0, 0, 50])
fan_speed['medium'] = fuzz.trimf(fan_speed.universe, [25, 50, 75])
fan_speed['high'] = fuzz.trimf(fan_speed.universe, [50, 100, 100])
# Rules
rule1 = ctrl.Rule(temperature['cold'], fan_speed['low'])
rule2 = ctrl.Rule(temperature['cool'], fan_speed['medium'])
rule3 = ctrl.Rule(temperature['hot'], fan_speed['high'])
# Control system
fan_ctrl = ctrl.ControlSystem([rule1, rule2, rule3])
fan_sim = ctrl.ControlSystemSimulation(fan_ctrl)
# Input and compute
fan_sim.input['temperature'] = 28
fan_sim.compute()
print(fan_sim.output['fan_speed'])
Key Concepts
- Membership functions: Triangular, trapezoidal, Gaussian
- Fuzzy operators: AND (min), OR (max), NOT (1-x)
- Defuzzification: Centroid, bisector, MOM
- Inference: Mamdani, Sugeno
Applications
- Control: AC, washing machines, autofocus
- Decision: Credit scoring, medical diagnosis
- Pattern: Image processing, recognition
1---2name: fuzzy-logic3description: Fuzzy logic systems4license: MIT5---67## What I do89- Design fuzzy inference systems10- Implement membership functions11- Create fuzzy rules12- Handle uncertainty and imprecision13- Build expert systems with fuzzy logic14- Control systems with fuzzy rules1516## When to use me1718Use me when:19- Building control systems20- Working with imprecise inputs21- Expert system development22- Pattern recognition with uncertainty23- Decision support with vague criteria2425## Key Concepts2627### Fuzzy Logic Basics28```29Classical: Temperature > 30 → Hot (true/false)30Fuzzy: Temperature 28 → Hot (0.6), Warm (0.4)31```3233### Fuzzy Control Example34```python35import numpy as np36import skfuzzy as fuzz37from skfuzzy import control as ctrl3839# Define universes40temperature = ctrl.Antecedent(np.arange(0, 41, 1), 'temperature')41fan_speed = ctrl.Consequent(np.arange(0, 101, 1), 'fan_speed')4243# Membership functions44temperature['cold'] = fuzz.trimf(temperature.universe, [0, 0, 20])45temperature['cool'] = fuzz.trimf(temperature.universe, [10, 25, 30])46temperature['hot'] = fuzz.trimf(temperature.universe, [25, 40, 40])4748fan_speed['low'] = fuzz.trimf(fan_speed.universe, [0, 0, 50])49fan_speed['medium'] = fuzz.trimf(fan_speed.universe, [25, 50, 75])50fan_speed['high'] = fuzz.trimf(fan_speed.universe, [50, 100, 100])5152# Rules53rule1 = ctrl.Rule(temperature['cold'], fan_speed['low'])54rule2 = ctrl.Rule(temperature['cool'], fan_speed['medium'])55rule3 = ctrl.Rule(temperature['hot'], fan_speed['high'])5657# Control system58fan_ctrl = ctrl.ControlSystem([rule1, rule2, rule3])59fan_sim = ctrl.ControlSystemSimulation(fan_ctrl)6061# Input and compute62fan_sim.input['temperature'] = 2863fan_sim.compute()64print(fan_sim.output['fan_speed'])65```6667### Key Concepts68- **Membership functions**: Triangular, trapezoidal, Gaussian69- **Fuzzy operators**: AND (min), OR (max), NOT (1-x)70- **Defuzzification**: Centroid, bisector, MOM71- **Inference**: Mamdani, Sugeno7273### Applications74- **Control**: AC, washing machines, autofocus75- **Decision**: Credit scoring, medical diagnosis76- **Pattern**: Image processing, recognition