Нечеткая логика - способ достижения контроля на основе неточных входных данных

Попробуйте наш инструмент устранения неполадок





В эту эпоху цифрового управления почти каждое устройство управляется с помощью цифровое управление уровень, используя 1 и 0. Но только подумайте: разве не непрактично думать, что каждый результат повседневных процессов, с которыми вы сталкиваетесь, зависит только от двух состояний ввода. Нет, определенно. Представьте себе, что ваша мама готовит вкусную еду, и вы не сможете удержаться от ее похвалы. Так как же еда становится такой вкусной? Конечно, с добавлением ингредиентов в нужном количестве и пропорциях. Так как же ей это удается? С идеальным численным знанием величин? Не всегда. Она делает это с известной идеей, которая приходит с опытом. Именно здесь возникает идея управляющей логики, которая использует степени состояния входа, а не сами входы. Логика, которая не требует каких-то совершенных входов, а работает только с типичной оценкой входов. Это нечеткая логика.

Что такое нечеткая логика?

Нечеткая логика - это базовая система управления, которая зависит от степеней состояния входа, а выход зависит от состояния входа и скорости изменения этого состояния. Другими словами, система нечеткой логики работает по принципу назначения конкретного выхода в зависимости от вероятности состояния входа.




Как возникла нечеткая логика?

Нечеткая логика была разработана в 1965 году Лотфи Заде из Калифорнийского университета в Беркли как способ выполнения компьютерных процессов на основе естественных, а не двоичных значений. Первоначально он использовался как способ обработки данных, а затем стал использоваться как стратегия управления.

Как работает нечеткая логика?

Нечеткая логика основывается на концепции принятия решения о выходе на основе предположений. Работает на основе наборов. Каждый набор представляет некоторые лингвистические переменные, определяющие возможное состояние вывода. Каждое возможное состояние входа и степени изменения состояния являются частью набора, в зависимости от того, какой результат прогнозируется. Он работает по принципу If-else-the, то есть если A AND B Then Z.



Предположим, мы хотим управлять системой, в которой выход может быть где угодно в множестве X, с общим значением x, таким, что x принадлежит X. Рассмотрим конкретное множество A, которое является подмножеством X, так что все члены A принадлежат интервал 0 и 1. Множество A известно как нечеткое множество, а значение fК(x) at x обозначает степень принадлежности x к этому множеству. Выход определяется на основе степени принадлежности x к набору. Это назначение членства зависит от предположения о выходах в зависимости от входов и скорости изменения входов.

Эти нечеткие множества представлены графически с использованием функций принадлежности, а результат определяется на основе степени принадлежности к каждой части функции. Принадлежность множеств определяется логикой IF-Else.


Как правило, переменные набора представляют собой состояние входов и степени изменений входа, а принадлежность выхода зависит от логики операции И для состояния входа и скорости изменения входа. Для системы с несколькими входами переменные также могут быть разными входами, а выход может быть возможным результатом операции И между переменными.

Нечеткая система управления

Система нечеткого управления состоит из следующих компонентов:

Система управления с нечеткой логикой

Система управления с нечеткой логикой

Фаззификатор который преобразует измеренные или входные переменные в числовой форме в лингвистические переменные.

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

Дефаззификатор преобразует этот нечеткий вывод в требуемый вывод для управления системой.

Простая система управления с использованием нечеткой логики для управления скоростью вентилятора в зависимости от температуры на входе.

Предположим, вы хотите регулировать скорость вращения вентилятора в зависимости от температуры в помещении. Для обычного неспециалиста, если температура в комнате настолько высока, что ему / ей кажется слишком жарко, тогда скорость вентилятора увеличивается до максимального значения. Если ему становится немного жарко, скорость вентилятора увеличивают умеренно. Если ему / ей становится слишком холодно, скорость вентилятора резко снижается.

Итак, как заставить ваш компьютер делать это?

Вот как мы можем этого добиться:

Управление скоростью вентилятора в зависимости от входной температуры

Управление скоростью вентилятора в зависимости от входной температуры

  • Датчик температуры измеряет значения температуры в комнатах. Полученные значения берутся и передаются фаззификатору.
  • Фуззификатор присваивает лингвистические переменные каждому измеренному значению и скорости изменения измеренного значения.

Например, если измеренное значение составляет 40⁰C и выше, то в комнате слишком жарко.

Если измеренное значение находится в диапазоне от 30 ° C до 40 ° C, в комнате довольно жарко.

Если измеренное значение от 22 до 28⁰C, в помещении умеренное

Если измеренное значение от 10 до 20 ° C, в помещении холодно.

Если измеренное значение ниже 10, в комнате слишком холодно.

  • Следующий шаг включает функционирование базы знаний, которая содержит информацию об этих функциях-членах, а также базу правил.

Например, если в комнате слишком жарко и комната быстро нагревается, установите скорость вентилятора на высокую.

Если в комнате слишком жарко и комната медленно нагревается, установите скорость вентилятора ниже «Высокая».

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

Итак, это краткий обзор нечеткой логики, любые дополнительные данные могут быть добавлены.