Skip to content

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) and fit_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

pip install pyfuzzy-toolbox

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

  1. Fundamentals โ†’ Notebooks 01_fundamentals/
  2. Inference โ†’ Mamdani System
  3. Learning โ†’ Wang-Mendel

Intermediate Path

  1. Advanced Inference โ†’ Sugeno System
  2. Learning โ†’ ANFIS
  3. Dynamics โ†’ p-Fuzzy Discrete

Advanced Path

  1. Optimization โ†’ Mamdani Learning
  2. Continuous Dynamics โ†’ p-Fuzzy Continuous
  3. 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:

  1. Overview - What is it and why use it
  2. Basic Concepts - Key ideas and terminology
  3. Getting Started - Minimal working example
  4. Parameters - Detailed parameter descriptions
  5. Methods - Available methods and their uses
  6. Visualization - How to plot results
  7. Export - Saving results
  8. Complete Examples - Real-world applications
  9. Tips & Best Practices - Expert recommendations
  10. Common Issues - Troubleshooting guide
  11. Advanced Features - Power-user techniques
  12. References - Academic citations

๐ŸŽฏ Quick Navigation


Generated with pyfuzzy-toolbox documentation system