Перейти к содержанию

От модели к объяснённому результату

Библиотека предоставляет явные строительные блоки. Начните с физического смысла, единиц и допустимого универсального множества, затем выберите модели принадлежности и операцию, отвечающую на ваш вопрос. Библиотека не придумывает правила, не калибрует пороги и не выбирает вычислительное ядро автоматически.

Два пути современного API

flowchart TD
    U["Universe, units and model parameters"] --> M["Membership functions or a typed callback"]
    M --> F["ScalarFuzzySet"]
    F --> T["Named LinguisticTerm objects"]
    T --> S["LinguisticScale.Fuzzify with a selection policy"]
    S --> R["All grades, selected labels or abstention"]
    F --> C["Complement, Intersection, Union or Difference"]
    C --> D["Finite IntegrationDomain and CentroidPolicy"]
    D --> V["Centroid coordinate or an explicit numerical error"]

Температурный пример следует ветви классификации: одно физическое измерение оценивается относительно каждого именованного терма. Пример центроида следует ветви композиции: множества на общем универсальном множестве дают представительную координату в заданном конечном окне. Это разные вопросы, даже если исходная модель совпадает.

Объединение отдельных измерений датчиков на уровне степеней

flowchart TD
    A["Temperature measurement in °C"] --> B["Temperature membership grade"]
    C["Vibration measurement in mm/s"] --> D["Vibration membership grade"]
    B --> E["Chosen TNormPolicy or SNormPolicy"]
    D --> E
    E --> F["Combined grade with the policy recorded"]

Это сценарий датчиков. Разные физические величины сохраняют собственные универсальные множества. Сначала вычислите степени, затем объедините их явной скалярной политикой. Пересечение на уровне множеств, напротив, оценивает множества в одной координате общего универсального множества. См. сравнение операторов.

Граница исторического API

flowchart TD
    A["Existing 1.x consumer"] --> B["fuzzyroutines.FuzzyRoutines facade"]
    B --> C["Mutable MFunction, FuzzySet and scale adapters"]
    D["New consumer"] --> E["Immutable modern models and explicit policies"]
    C --> F["Reviewed scalar mathematics and centroid engine"]
    E --> F

Фасад сохраняет проверенные имена и соглашения вызовов. Он оставляет изменяемую модель объектов, выбор последнего терма при равенстве максимумов и исторические имена вроде supportSet для окна интегрирования. Современные объекты явно задают универсальные множества и политики выбора, сравнения и интегрирования. Перед заменой существующего вызова прочитайте исторические рецепты: одинаковый математический замысел не гарантирует одинакового порядка параметров или обработки равных максимумов.

Схемы описывают текущие пути скалярного API. Необязательный прототип NumPy — экспериментальное сравнение нагрузок, а не автоматически выбираемая среда исполнения. Записи результатов сохраняют происхождение данных, а обработка ошибок помогает отличать недопустимый ввод от неразрешённой математической задачи.