pyfuzzy-toolbox Quick Start Guides¶
Complete collection of quick start guides for all modules in the pyfuzzy-toolbox library.
๐ Available Guides¶
๐๏ธ Fuzzy Inference Systems¶
Build and use fuzzy inference systems for control and decision-making.
1. Mamdani System¶
Linguistic fuzzy inference with fuzzy outputs
- โ Manual or automatic membership function generation
- โ Intuitive rule creation (dictionaries, lists, indices)
- โ Multiple defuzzification methods
- ๐ Notebooks:
02_inference/01_mamdani_tipping.ipynb,02_inference/02_voting_prediction.ipynb
Key Features:
- add_auto_mfs(): automatic MF generation with linguistic labels
- Multiple rule formats: dict, list, tuple
- Visualization: plot_variables(), plot_output(), plot_rule_matrix()
- Save/load: save(), load(), export_rules(), import_rules()
When to use: Human-interpretable control systems, linguistic rules, fuzzy decision-making.
2. Sugeno System¶
Efficient fuzzy inference with mathematical consequents
- โ Order 0 (constant) or Order 1 (linear) consequents
- โ No defuzzification needed (weighted average)
- โ Ideal for ANFIS and optimization
- ๐ Notebooks:
02_inference/03_sugeno_zero_order.ipynb,02_inference/04_sugeno_first_order.ipynb
Key Features: - Order 0: IF-THEN rules with constant outputs (singletons) - Order 1: IF-THEN rules with linear functions of inputs - Faster computation than Mamdani - Better for learning algorithms (ANFIS compatible)
When to use: Optimization tasks, ANFIS learning, smooth approximations, computational efficiency.
๐ง Learning Algorithms¶
Learn fuzzy systems from data using various learning techniques.
3. Wang-Mendel Learning¶
Single-pass fuzzy rule extraction from data
- โ Fast rule generation from training data
- โ Automatic task detection (regression/classification)
- โ No iterative optimization needed
- ๐ Notebooks:
03_learning/wang_mendel_nonlinear.ipynb,03_learning/wang_mendel_iris.ipynb
Key Features: - One-pass algorithm (very fast) - Automatic membership function generation - Rule conflict resolution - Handles multi-output systems
When to use: Quick fuzzy model from data, interpretable rules, baseline models.
4. ANFIS - Adaptive Neuro-Fuzzy Inference System¶
Hybrid learning combining neural networks and fuzzy logic
- โ Supervised learning for regression/classification
- โ
Two training methods:
fit()(gradient descent) andfit_metaheuristic()(PSO/DE/GA) - โ Automatic parameter optimization
- ๐ Notebooks:
03_learning/anfis_regression.ipynb,03_learning/anfis_iris.ipynb
Key Features: - Gaussian, Bell, and Sigmoid membership functions - Hybrid learning: LSE for consequents + gradient descent for premises - Metaheuristic optimization: PSO, DE, GA - Early stopping and adaptive learning rate
When to use: Complex nonlinear regression/classification with automatic rule extraction.
5. Mamdani Learning¶
Optimize Mamdani fuzzy system consequents with metaheuristics
- โ Optimize rule consequents for existing Mamdani FIS
- โ Four metaheuristic algorithms: SA, GA, PSO, DE
- โ Preserves linguistic interpretability
- ๐ Notebooks:
03_learning/rules_optimization.ipynb,03_learning/rules_optimization_iris.ipynb
Key Features: - Simulated Annealing (SA): local search with probabilistic acceptance - Genetic Algorithm (GA): population-based with crossover/mutation - Particle Swarm Optimization (PSO): swarm intelligence - Differential Evolution (DE): mutation-based evolution
When to use: Fine-tune existing Mamdani systems, optimize rule consequents while keeping antecedents.
๐ Dynamical Systems¶
Model temporal evolution with fuzzy rules.
6. p-Fuzzy Discrete¶
Discrete-time fuzzy dynamical systems
- โ Model discrete-time evolution: x_{n+1} = x_n + f(x_n)
- โ Absolute or relative modes
- โ Single-step execution for analysis
- ๐ Notebooks:
04_dynamics/pfuzzy_discrete_predator_prey.ipynb,04_dynamics/pfuzzy_population.ipynb
Key Features:
- Absolute mode: x_{n+1} = x_n + f(x_n) (additive change)
- Relative mode: x_{n+1} = x_n ร f(x_n) (multiplicative change)
- simulate(): run n_steps iterations
- step(): single iteration for manual control
- Export: to_csv() with international/Brazilian formats
When to use: Population dynamics (generations), discrete events, time-series with discrete steps.
7. p-Fuzzy Continuous¶
Continuous-time fuzzy dynamical systems with ODEs
- โ Model continuous evolution: dx/dt = f(x)
- โ Euler or RK4 integration methods
- โ Fixed or adaptive time stepping
- ๐ Notebooks:
04_dynamics/pfuzzy_continuous_predator_prey.ipynb
Key Features:
- Absolute mode: dx/dt = f(x) (rate independent of state)
- Relative mode: dx/dt = xยทf(x) (rate proportional to state)
- Integration methods: 'euler' (fast), 'rk4' (accurate)
- Adaptive stepping: automatically adjusts dt for accuracy
- Verbose mode: prints statistics (accepted/rejected steps, dt range)
When to use: Physical processes, continuous growth, temperature/cooling systems, smooth dynamics.
8. Fuzzy ODE Solver¶
Solve ODEs with fuzzy initial conditions and parameters
- โ Propagate uncertainty through differential equations
- โ Fuzzy numbers for initial conditions and parameters
- โ Three solution methods: standard, Monte Carlo, hierarchical
- ๐ Notebooks:
04_dynamics/fuzzy_ode_logistic.ipynb,04_dynamics/fuzzy_ode_holling_tanner.ipynb
Key Features:
- Fuzzy numbers: triangular, gaussian, trapezoidal
- ฮฑ-cuts: confidence levels for uncertainty quantification
- Solution methods:
- 'standard': full grid (most accurate)
- 'monte_carlo': sampling (10-400x faster for high dimensions)
- 'hierarchical': optimization (3-5x faster)
- Visualization: plot ฮฑ-level envelopes
- Export: to_csv(), to_dataframe()
When to use: Uncertain initial conditions, imprecise parameters, possibilistic uncertainty (vs probabilistic).
๐๏ธ Quick Reference Table¶
| Module | Type | Input | Output | Best For | Guide |
|---|---|---|---|---|---|
| Mamdani System | Inference | Variables + Rules | FIS | Linguistic control | Guide |
| Sugeno System | Inference | Variables + Rules | FIS | Efficient inference | Guide |
| Wang-Mendel | Learning | Data (X, y) | Mamdani FIS | Fast rule extraction | Guide |
| ANFIS | Learning | Data (X, y) | Sugeno FIS | Regression, classification | Guide |
| Mamdani Learning | Learning | FIS + Data | Optimized FIS | Fine-tuning consequents | Guide |
| p-Fuzzy Discrete | Dynamics | FIS + xโ | Trajectory | Discrete-time evolution | Guide |
| p-Fuzzy Continuous | Dynamics | FIS + xโ | Trajectory | Continuous-time evolution | Guide |
| Fuzzy ODE | Dynamics | ODE + Fuzzy params | Fuzzy trajectory | Uncertainty propagation | Guide |
๐ Notebook Organization¶
All notebooks are available in the notebooks_colab/ directory:
notebooks_colab/
โโโ 01_fundamentals/ # Fuzzy logic basics
โ โโโ 01_membership_functions.ipynb
โ โโโ 02_fuzzy_operations.ipynb
โ โโโ 03_linguistic_variables.ipynb
โ โโโ 04_fuzzy_relations.ipynb
โ
โโโ 02_inference/ # Inference systems
โ โโโ 01_mamdani_tipping.ipynb
โ โโโ 02_sugeno_zero_order.ipynb
โ โโโ 03_sugeno_first_order.ipynb
โ โโโ 04_voting_prediction.ipynb
โ
โโโ 03_learning/ # Learning algorithms
โ โโโ 01_anfis_regression.ipynb
โ โโโ 02_anfis_classification.ipynb
โ โโโ 03_wang_mendel_regression.ipynb
โ โโโ 04_wang_mendel_classification.ipynb
โ โโโ 05_mamdani_learning_optimization.ipynb
โ
โโโ 04_dynamics/ # Dynamical systems
โโโ 01_pfuzzy_discrete_predator_prey.ipynb
โโโ 02_pfuzzy_continuous_predator_prey.ipynb
โโโ 03_pfuzzy_discrete_population.ipynb
โโโ 04_fuzzy_ode_logistic.ipynb
โโโ 05_fuzzy_ode_holling_tanner.ipynb
๐ Getting Started¶
Installation¶
Choose Your Path¶
1๏ธโฃ I want to build a control system¶
โ Start with Mamdani System for interpretability, or Sugeno System for efficiency
2๏ธโฃ I want to learn from data¶
โ Start with Wang-Mendel for quick rules, or ANFIS for accurate models
3๏ธโฃ I want to model temporal dynamics¶
โ Start with p-Fuzzy Discrete for discrete-time, or p-Fuzzy Continuous for continuous-time
4๏ธโฃ I have uncertain parameters¶
โ Start with Fuzzy ODE Solver
๐ Learning Path¶
Beginner Path¶
- Fundamentals โ Notebooks
01_fundamentals/ - Inference โ Mamdani System
- Learning โ Wang-Mendel
Intermediate Path¶
- Advanced Inference โ Sugeno System
- Learning โ ANFIS
- Dynamics โ p-Fuzzy Discrete
Advanced Path¶
- Optimization โ Mamdani Learning
- Continuous Dynamics โ p-Fuzzy Continuous
- Uncertainty โ Fuzzy ODE Solver
๐ก Common Use Cases¶
Control Systems¶
- Tipping problem: Mamdani System โ Notebook
02_inference/01_mamdani_tipping.ipynb - Temperature control: Sugeno System โ Notebook
02_inference/03_sugeno_zero_order.ipynb
Machine Learning¶
- Regression: ANFIS โ Notebook
03_learning/anfis_regression.ipynb - Classification: Wang-Mendel โ Notebook
03_learning/wang_mendel_iris.ipynb
Population Dynamics¶
- Predator-prey (discrete): p-Fuzzy Discrete โ Notebook
04_dynamics/pfuzzy_discrete_predator_prey.ipynb - Predator-prey (continuous): p-Fuzzy Continuous โ Notebook
04_dynamics/pfuzzy_continuous_predator_prey.ipynb
Uncertainty Modeling¶
- Logistic growth with fuzzy parameters: Fuzzy ODE Solver โ Notebook
04_dynamics/fuzzy_ode_logistic.ipynb - Epidemic model with uncertain transmission: Fuzzy ODE Solver โ Notebook
04_dynamics/fuzzy_ode_holling_tanner.ipynb
๐ Additional Resources¶
- Main Documentation: https://1moi6.github.io/pyfuzzy-toolbox/
- GitHub Repository: https://github.com/1moi6/pyfuzzy-toolbox
- PyPI Package: https://pypi.org/project/pyfuzzy-toolbox/
- Issue Tracker: https://github.com/1moi6/pyfuzzy-toolbox/issues
๐ Document Structure¶
Each quickstart guide follows the same structure:
- Overview - What is it and why use it
- Basic Concepts - Key ideas and terminology
- Getting Started - Minimal working example
- Parameters - Detailed parameter descriptions
- Methods - Available methods and their uses
- Visualization - How to plot results
- Export - Saving results
- Complete Examples - Real-world applications
- Tips & Best Practices - Expert recommendations
- Common Issues - Troubleshooting guide
- Advanced Features - Power-user techniques
- References - Academic citations
๐ฏ Quick Navigation¶
- Inference: Mamdani System | Sugeno System
- Learning: Wang-Mendel | ANFIS | Mamdani Learning
- Dynamics: p-Fuzzy Discrete | p-Fuzzy Continuous | Fuzzy ODE
Generated with pyfuzzy-toolbox documentation system