Базовые правила обычно содержат несколько правил. Остановимся на том, каким образом мы их объединяем. Обратимся к простым базовым правилам
Если уровень есть НИЗКИЙ (A1), то сигнал (V1) есть ОТКРЫТЬ (B1) (1.21)
Если уровень есть ВЫСОКИЙ (A2), то сигнал (V1) есть ЗАКРЫТЬ (B2).
и найдем лингвистическую модель, связывающую переменные уровень и входной сигнал вентиля,
Мы неявно предполагаем наличие связки илимежду правилами, так что отношение между предпосылкой и заключением правил записывается, как R1R2, где
R1 низкий открыть
есть импликация для первого, а
R2 высокий закрыть
− импликация для второго правила. Нечеткое отношение R,представляющее оба правила (1.21), вычисляется как логическое илидвух таблицдляR1 и R2 элемент за элементом (поэлементный максимум). В общих обозначениях для N правил, мы имеем
.
Теперь все правила отображаются как одно нечеткое множество Rи выход лингвистической модели представляет собой максиминную композицию
.
При этом инференция осуществляется над отношением R.
Пример 1.14 (ОМР, два правила). Дополним рассмотренное в примере 1.12 правило «Если уровень есть НИЗКИЙ, то входной сигнал V1 вентиля ОТКРЫТЬ»с термами (нечеткими множествами) НИЗКИЙ(A1) и ОТКРЫТЬ(B1), определяемыми c помощью дискретных функций принадлежности как
а1= низкий = [1 0,75 0,5 0,25 0]
b1= открыть = [0 0,5 1],
еще одним правилом «Если уровень есть ВЫСОКИЙ, то входной сигнал V1 вентиля ЗАКРЫТЬ»с переменными (нечеткими множествами) ВЫСОКИЙ (A2) и ЗАКРЫТЬ (B2), определяемыми c помощью дискретных функций принадлежности как
a2= высокий = [0 0,25 0,5 0,75 1]
b2=закрыть = [1 0,5 0].
Нечеткое отношение R1низкийоткрыть, другими словами,импликация для первого правила определяется выражением (1.13а), т.е.
а нечеткое отношение R2 высокий закрыть − импликация для второго правила в соответствии с (1.13) вычисляется по следующей схеме
.
Отсюда
Нечеткое отношение R= R1R2 есть логическое илидвух отношений R1иR2 элемент за элементом (поэлементный максимум):
Графическая визуализация этих шагов представлена на рис. 1.6.
В MATLAB 6.5 /work/script1/plotreal.m
Рис. 1.6
Изображенные на этом рисунке отношения вычисляются с помощью значительно меньшего шага квантования сигналов «уровень» и «входной сигнал вентиля», обозначенных соответственно как x и y, по сравнению с функциями принадлежности aiиbi, (i=1,2). Т.е. путем использования дискретных функций принадлежности, получаемых из непрерывных функций принадлежности (рис. 1.7), путем более «частого» квантования.
Рис. 1.7
В соответствии с полученным изображением отношения Rлингвистическая модель, связывающая сигналы y и x, называется нечетким графом. Рис. 1.8 показывает нечеткий граф для нашего примера (другими словами, изолинии для R, где степень затемнения соответствует степени принадлежности). Самые темные участки
Рис. 1.8
говорят о том, что значения y и x связаны со степенью 1, более светлые свидетельствуют о более слабой связи.
Нечеткую композицию
= v1 =R
можно трактовать как вычисление значения функции на нечетком графе, а последний как нечеткую функцию. На рис. 1.9 дана геометрическая интерпретация вычисления значений нечеткой функции при четком (синглтон) и нечетком (нечеткое множество) аргументах в самом общем случае.
Для рассматриваемого примера возможную четкую функцию, отражающую связь y и x, можно представить в виде сплошной прямой (рис. 1.8).
Пример 1. Если x есть A , то y есть B.
Пример 2.
Если x есть A1 , то y есть B1 ,
Если x есть A2 , то y есть B2 ,
Если x есть A3 , то y есть B3 ,
Если x есть A4 , то y есть B4 .
Почему используется нечеткая логика для управления?
Управление системой означает, что некоторые характеристики этой системы измеряются и в зависимости от значений этих характеристик применяется те или иные управляющие воздействия. Алгоритм, который преобразует сигналы, получаемые от датчиков, в соответствующие управляющие воздействия, называется законом управления. В курсе ТАУ мы имели дело с традиционными подходами к проектированию систем управления, которые включают в себя следующее:
· Во-первых, стремятся описать свойства объекта управления в рамках точных математических значений, т.е. стремятся получить точную математическую модель ОУ.
· Во-вторых, пытаются описать математически точно, что система управления должна сделать. Она должна управлять ОУ так, чтобы добиться оптимума с точки зрения некоего критерия качества.
· После того, система управления описана в рамках точных математически значений, и целевая функция описана подобным образом, можно определить для каждого закона управления и для каждого начального состояния, каким образом будет реагировать система какое результирующее значение примет целевая функция. Основная цель тогда найти закон управления, для которого результирующее значение целевой функции самое большое из возможных. Это есть хорошо известная задача математической оптимизации. Традиционная теория управления располагает многими методами для решения этой проблемы и проектирования соответствующей стратегии управления.
Традиционная теория управления имеет много важных приложений. Имеются, однако, случаи, когда эта теория не применима. Действительно, чтобы применить традиционную теорию, нужно
· знать модель ОУ,
· знать точное математическое выражение для целевой функции, и
· быть в состоянии решить соответствующую математическую задачу проектирования управления.
Если хотя бы одно из этих условий не соблюдается, то традиционная методология управления не применима, как это имеет место в следующих случаях:
· Иногда модель и целевая функция известны, но задача проектирования не может быть решена. Такой случай наблюдается тогда, когда задача проектирования является очень сложной, требующей много времени на ее решение, или, когда задача является новой и алгоритмы для ее решения еще не разработаны. Например, задачу парковки автомобиля до последнего времени не рассматривалась в рамках традиционной теории управления.
· Иногда модель известна, но неизвестна целевая функция. Например, если проектируется система управления автомобилем, то предназначенная цель - сделать езду комфортабельной в максимальной степени, но не имеется формального понятия, что означает комфортность.
· В ряде случаев не известна даже модель объекта управления. Во многих практических приложениях можно в принципе измерить все возможные переменные и определить модель ОУ достаточно точно, но это потребует значительных финансовых издержек. В других практических ситуациях основная цель системы управления исследовать неизведанное (неизвестное), например, управление велосипедом на заранее неизвестной местности или управление хирургическими инструментами. В подобных ситуациях вся цель управления получить как можно больше информации об объекте управления и нельзя построить модель ОУ до тех пор, пока управление не закончится.
Если традиционная методология управления неприемлема, то каким образом можно решить задачу управления? Часто дополнительно доступны экспертные знания, например, знания оператора, который успешно управляет рассматриваемым объектом управления. Опытный оператор знает кА работает ОУ. Поэтому целесообразно извлечь правила управления из эксперта и в дальнейшем использовать полученные знания для разработки системы автоматического управления. На первый взгляд, это кажется простой задачей. Так как оператор является реальным экспертом, можно задать ему несколько вопросов, подобных этому «предположим, что x1 равно 1.2, x2 равно -2.7, …,
чему должно быть равно u?». После ответа на эти вопросы можно получить много моделей, из которых можно экстраполировать функцию f(x1,…,x2), используя известные методы. Увы, возникают две проблемы, связанные с реализацией этой идеи.
14.2. WHY USE FUZZY LOGIC FOR CONTROL ? 14-3
• Sometimes, the model and the objective function is known, but the design problem cannot be
solved. This is when the design problem is very complicated, time consuming or when the problem
is new and algorithms for solving it have not yet been developed. For example, parking a car is an
example of a problem that traditional control theory has not considered until recently.
• Sometimes, the model is known, but the objective function is unknown. For example, if a control
system for a vehicle is designed, the intended goal is to make the ride most comfortable, but there
is no well-accepted formalism of what comfortable means.
• Sometimes, one does not even know the model of the controlled system. In many practical applications
one can in principle measure all the possible variables and determine the model exactly, but
this will increase the cost drastically. In other practical situations, the main goal of the controlled
system is to explore the unknown, e.g., to control a rover over a terrain of unknown type, or to
control surgery instruments. In such situations, the entire objective of the control is to learn as
much about the system, and one cannot have a precise model of this system before the control is
over.
If traditional control methodology cannot be applied, how can one control? Often, there is an additional
expert knowledge available, for example, expert operators who successfully control the desired system.
Expert operators know how to operate a plant. Therefore it is desirable to extract the control rules from
the expert and use this knowledge in an automatic control system. At first glance, the problem seems
very simple. Since the person is a real expert, one simply ask her multiple questions like “suppose that
x1 is equal to 1.2, x2 is equal to -2.7, ..., what is u ?” After asking all these questions, one will get many
pattern, from which one will be able to extrapolate the function f(x1, ..., x2) using one of the known
methods. Alas, there are two problems with this idea:
14.2 Why use fuzzy logic for control ?
Controlling a system means that some characteristics of this system are monitored, and, depending on
the values of these characteristics, different controls are applied. An algorithm that transforms sensor
inputs into corresponding control values is called a control strategy. The previous chapters deal with the
traditional approach of control systems design that consists of the following:
• First, one tries to to describe the behaviour of the system in precise mathematical terms, i.e., one
comes up with the exact model of the system.
• Second, one tries to describe in precise terms what one wants to achieve. One wants the control
that is the best in the sense of some criterion.
• Now that the controlled system is described in precise mathematical terms, and the objective
function is described in the same manner, it can be determined for each control strategy and for
each initial state how exactly the system will change and what the resulting value of the control will
be. The main goal is then to find the control strategy for which the resulting value of the objective
function is the largest possible one. This is a well-defined mathematical optimisation problem, and
traditional control theory has developed many methods for solving this problem and designing the
corresponding control strategies.
Traditional control theory has many important applications. There are, however, practical cases when
this theory is not applicable. Indeed, to apply the traditional control theory, one must
• know the model of the controlled system,
• know the objective function formulated in precise terms, and
• be able to solve the corresponding mathematical design problem.
If one of these conditions is not satisfied, then traditional control methodology is not applicable, as in
the following cases:
• Sometimes, the model and the objective function is known, but the design problem cannot be
solved. This is when the design problem is very complicated, time consuming or when the problem
is new and algorithms for solving it have not yet been developed. For example, parking a car is an
example of a problem that traditional control theory has not considered until recently.
• Sometimes, the model is known, but the objective function is unknown. For example, if a control
system for a vehicle is designed, the intended goal is to make the ride most comfortable, but there
is no well-accepted formalism of what comfortable means.
• Sometimes, one does not even know the model of the controlled system. In many practical applications
one can in principle measure all the possible variables and determine the model exactly, but
this will increase the cost drastically. In other practical situations, the main goal of the controlled
system is to explore the unknown, e.g., to control a rover over a terrain of unknown type, or to
control surgery instruments. In such situations, the entire objective of the control is to learn as
much about the system, and one cannot have a precise model of this system before the control is
over.
If traditional control methodology cannot be applied, how can one control? Often, there is an additional
expert knowledge available, for example, expert operators who successfully control the desired system.
Expert operators know how to operate a plant. Therefore it is desirable to extract the control rules from
the expert and use this knowledge in an automatic control system. At first glance, the problem seems
very simple. Since the person is a real expert, one simply ask her multiple questions like “suppose that
x1 is equal to 1.2, x2 is equal to -2.7, ..., what is u ?” After asking all these questions, one will get many
pattern, from which one will be able to extrapolate the function f(x1, ..., x2) using one of the known
methods. Alas, there are two problems with this idea: