Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга по моделированию.doc
Скачиваний:
334
Добавлен:
01.05.2014
Размер:
2.35 Mб
Скачать

Нечеткое продукционное правило Если высокий то открыть

A(x) B(y)

1.0 1.0

0.5ВЫСОКИЙ=А0.5ОТКРЫТЬ=B

0X0Y

а 1,5 2,0 (м) 30 60 90

Данные наблюдения

«довольно ВЫСОКИЙ»

A`(x)

1.0

0.5 Довольно ВЫСОКИЙ=А`

0X

(б) 1,5 2,0 (м)

AA`(x) B`(y)

1.0 1.0

0.5 AA` 0.5 B`= a YB

0 0Y

(в) 1,5 2,0 (м) (а) 30 60 90 Градусы

B`(y)

1.0

Дефаззификация0.5B`-слегка ОТКРЫТЬ

0

(г) 30 60 90

ЦТ = 70

Операционное значение

Рис. 5.4 Классические примеры нечетких выводов по правилам

Итак, для текущих данных наблюдения Aв результате применения правилаABполучаемB. Результат выводаBявляется нечетким множеством вY(рис. 5.4, г). Далее необходимо на основе функции принадлежности дляBизвлечь для каждой точки вYзначения. Этот процесс обычно называют дефаззификацией. На рис. 5.4, г для этих целей использован метод центра тяжести (ЦТ) и определено примерное значение ЦТ = 70.

Проведем более детальные рассуждения. Прежде всего, знание эксперта ABотражает нечеткое причинное отношение предпосылки и заключения, поэтому назовем его нечетким отношением и обозначим какR:

R = A  B, (5.7)

где называют нечеткой импликацией.

Нечеткое отношение Rможно рассматривать как нечеткое множество на прямом произведенииXYполного пространства предпосылокXи полного пространства заключенийY. Таким образом, процесс получения (нечеткого) результата выводаBс использованием данных наблюденияAи знанияABможно представить в виде композиционного правила нечеткий “modusponens”

B = A  R = A  (A  B), (5.8)

где “” – операция свертки.

Операции на рис. 5.4 можно представить, используя функции принадлежности. Фактически нечеткий вывод на рис. 5.4 выполнен посредством применения максиминной композиции в качестве композиционного правила нечеткого вывода и операцию взятия минимума в качестве нечеткой импликации:

B =  ( A (x)   R (x, y)) = (5.9)

x X

=  ( A (x)  ( A (x)   B (y))) = (5.10)

x X

= ( ( A (x)   A (x)))   B (y) = (5.11)

x X

=   A A (x)   B (y) = (5.12)

x X

= a   B (y) = (5.13)

=  aY B (y), (5.14)

ЦТ =  y   B (y) dy /   B (y) dy. (5.15)

Y Y

Отметим, что в формулах (5.10) и (5.11) используются традиционные правила распределения для максиминной операции.

Наиболее часто используемый и самый типичный метод нечетких выводов, показанный на рис. 5.4, представляет собой метод нахождения центра тяжести композиции максимум-минимум. Основываясь на приведенных выше рассуждениях, можно использовать различные варианты рис. 5.4. Например, вместо метода центра тяжести для дефаззификации предложен метод медианы (среднего значения), метод весов (основан на переменной y, задающей максимальное значение принадлежности), вместо отсеченияaYВ, получающегоBпо В и а – метод применения сжатия аВ значения В по а и т.п. Было предложено более 100 методов. Из них наиболее пригодным считается метод центра тяжести композиции максимум – минимум (рис. 5.4).

Операция импликации, которая лежит в основе нечеткого отношения AB, имеет большое значение в нечеткой логике. Если зафиксировать элементы полного пространства на [0, 1], нечеткую импликацию можно рассматривать как функцию двух переменных:

[0, 1][0, 1][0, 1] (5.16)

Для операции импликации предложено несколько формул. Если в формуле для четкого случая заменить НЕ на «вычитание из 1», а ИЛИ на максимум, то нечеткая импликация будет иметь вид

x1x2= (1 –x1)x2.

Замена в формуле (5.10)

R (x, y) =  A B (x, y) = (1 –  A (x))   B (y)

дает не слишком хорошие результаты.

Формула

x1x2= (1 –x1+x2)1 (5.17)

известна как импликация Лукашевича. Заде использовал эту операцию и предложил нечеткий вывод, сделав в формуле (5.9) следующую замену:

R (x, y) =  A B (x, y) = (1 –  A (x) +  B (y))  1. (5.18)

На практике эта формула дает достаточно хорошие результаты.

Неплохие результаты получены от использования в формулах (5.10) – (5.15) нечеткой импликации как операции взятия минимума

x1x2=x1x2(5.19)

Эта формула не поддерживает операцию четкой логики. Так, при х1 = 0 четкая импликация равна 1, а минимум – 0. Операция взятия минимума чаще всего используется на практике.

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

  1. Введение нечеткости(фаззификация,fuzzification). Функции принадлежности, определенные на входных переменных, применяются к их фактическим значениям для определения степени истинности каждой предпосылки каждого правила.

  2. Логический вывод. Вычисленное значение истинности для предпосылок каждого правила применяется к заключениям каждого правила. Это приводит к одному нечеткому подмножеству, которое будет назначено каждой переменной вывода для каждого правила. В качестве правил логического вывода обычно используются только операцииmin(МИНИМУМ) илиprod(УМНОЖЕНИЕ). В логическом выводе МИНИМУМА функция принадлежности вывода «отсекается» по высоте, соответствующей вычисленной степени истинности предпосылки правила (нечеткая логика «И»). В логическом выводе УМНОЖЕНИЯ функция принадлежности вывода масштабируется при помощи вычисленной степени истинности предпосылки правила.

  3. Композиция. Все нечеткие подмножества, назначенные к каждой переменной вывода (во всех правилах), объединяются вместе, чтобы сформировать одно нечеткое подмножество для всех переменных вывода. При подобном объединении обычно используются операцииmax(МАКСИМУМ) илиsum(СУММА). При композиции МАКСИМУМА комбинированный вывод нечеткого подмножества конструируется как поточечный максимум по всем нечетким подмножествам (нечеткая логика «ИЛИ»). При композиции СУММЫ комбинированный вывод нечеткого подмножества формируется как поточечная сумма по всем нечетким подмножествам, назначенным переменной вывода правилами логического вывода.

  4. Приведение к четкости(дефаззификация,defuzzification) используется, если требуется преобразовать нечеткий набор выводов в четкое число. Существует большое количество методов приведения к четкости.

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

Если A i1, , A im то B i1, , B in, i = 1, , I , (5.20)

где I– число правил,m– число членов в предпосылке,n– число членов в заключении.

На практике чаще всего Iимеет значение от нескольких единиц до 30 (иногда до 100), отношениеm:nпринимает значение от 2:1 до 5:2. Число продукционных правил в экспертных системах с четкими правилами достигает нескольких сотен, а то и тысяч. В нечетких экспертных системах число нечетких правил на порядок меньше. тот факт, что число правил крайне мало, облегчает приобретение знаний от эксперта, упрощает отладку экспертной системы, позволяет строить систему с хорошим соотношением стоимость / производительность – эти причины являются важными стимулами практического внедрения нечетких экспертных систем.

При выполнении практических операций методом композиции максимум-минимум с вычислением центра тяжести результат вывода по каждому правилу получается так, как на рис. 5.4. При этом часто используется метод, по которому за окончательный результат выводов принимается сумма нечетких множеств – результатов вывода по каждому правилу (операция логической суммы или взятия максимума).

Таким образом, появляется возможность параллельно обрабатывать множество правил базы знаний.

Рассмотрим на простом примере элементы этой системы. Пусть число правил равно 3 и в каждом правиле по одной предпосылке и одному заключению, т.е. заданы следующие правила:

П1:Если AестьR, тоBестьL,

П2:Если AестьC, тоBестьC, (5.21)

П3:Если AестьL, тоBестьR.

Здесь функции принадлежности R,C,Lна нечетком уровне заданы так, как на рис. 5.5. Другими словами,R,C,Lопределяют соответственно

понятие «правое», «центр», «левое», а формулы (5.21) – правила поведения несговорчивого человека, говорящего: «Если правое, то левое». Данные

1.0 L C R 1.0 A`

0 0

а -1 0 1 б -1 0 1

Рис. 5.5. Пример нечеткого вывода по правилам.

а – функции принадлежности L,C,Rна нечетком уровне; б – функция

принадлежности наблюдаемой информации A`.

наблюдения Aприведены на рис. 5.5, б. Выясним, каким будет ответ, полученный методом композиции максимум-минимум с вычислением центра тяжести (ЦТ).A- это наблюдаемая информация «почти справа», имеющая пик на 0,5 правее нуля, поэтому по правилам несговорчивого человека ожидается ответ «немного левее». И на самом деле, как показано на рис. 5.6, будет получен результат со значением ЦТ немного левее центра.

В традиционном процессе управления в некоторый момент времени наблюдается A, определяется операционное значение ЦТ так, как на рис. 5.6,

1.0 A` A1 1.0 B1

R1:  а1

A`A1 B`1

0 0

-1 0 1 -1 0 1

1.0 A2 A` 1.0 B2

R2:  a2

A`A2 B`2

0 0

-1 0 1 -1 0 1

1.0 A3 A` 1.0 B3

R3: A`A3

0 a3 0 B`3 = 0

-1 0 1 -1 0 1

1.0

Рис. 5.6 Простейшие

примеры нечетких выводов

B`=B`1B`2B`3

-1 0 1

0

выполняется действие по управлению, в следующий момент времени наблюдается новое A, вновь в соответствии с рис. 5.6 определяется операционное значение, выполняется действие и далее процедура повторяется. Подобная система требует быстрой обработки, время выполнения одного нечеткого вывода от вводаAдо вывода ЦТ должно быть очень небольшим. В качестве единицы измерения такого быстродействия часто используютFLIPS(число нечетких выводов в секунду). Быстродействие зависит от числа правил, числа членов и плотности полного пространства. В настоящее время говорят уже о возможности обработки с быстродействием порядка 40 млн.FLIPS(один нечеткий вывод выполняется за время, равное времени прохождения светом 7,5 м в вакууме).

В следующем примере система описывается несколькими правилами и на ее вход поступает несколько переменных.

Пример. Пусть некоторая система описывается следующими нечеткими правилами:

П1: если xестьA, тоwестьD,

П2: если yестьB, тоwестьE,

П3: если zестьC, тоwестьF,

где x,yиz– имена входных переменных,w– имя переменной вывода, аA,B,C,D,E,F– заданные функции принадлежности.

Процедура получения логического вывода иллюстрируется рис. 5.7. Предполагается, что заданы конкретные (четкие) значения входных переменных: x0,y0иz0.

На первом этапе на основании данных значений и, исходя из функций принадлежности A,B,C, находятся степени истинностиa(x0),a(y0) иa(z0) для предпосылок каждого из трех приведенных правил.

На втором этапе происходит «отсекание» функций принадлежности заключений правил (D,E,F) на уровняхa(x0),a(y0),a(z0).

На третьем этапе рассматриваются функции принадлежности, усеченные на предыдущем этапе, и производится их объединение с использованием операции max, в результате чего получается комбинированное нечеткое подмножество, описываемое функцией принадлежности(w) и соответствующее логическому выводу для выходной переменнойw.

Наконец, на четвертом этапе находится четкое значение выходной переменной, например, с применением центроидного метода: четкое значение выходной переменной определяется как центр тяжести для кривой (w):

Правило 1:

1A1D

(x0)

х0хw

Правило 2:

1  B 1  (y0) E

y0 y w

Правило 3:

1  C 1 F

(z0)

z0 z w

Композиция(w) E

иприведение к четкости:D

F

w0(четкая величина)

Рис. 5.7. Иллюстрация процедуры логического вывода

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

П1: еслиxестьA1иyестьB1, тоzестьC1,

П2: еслиxестьA2иyестьB2, тоzестьC2,

где xиy– имена входных переменных,z– имя переменной вывода,A1,A2,B1,B2,C1,C2– некоторые заданные функции принадлежности.

При этом четкое значение z0необходимо определить на основе приведенной информации и четких значенийx0иy0.

Алгоритм Mamdani

Данный алгоритм соответствует рассмотренному примеру и рис. 5.7. В рассматриваемой ситуации он математически может быть описан следующим образом:

  1. Введение нечеткости. Находятся степени истинности для предпосылок каждого правила: A1(x0),A2(x0),B1(y0),B2(y0).

  2. Логический вывод. Находятся уровни «отсечения» для предпосылок каждого из правил (с использованием операции МИНИМУМ):

a1=A1(x0)B1(y0),

a2 = A2(x0)  B2(y0),

где через «» обозначена операция логического минимума (min).

Затем находятся усеченные функции принадлежности:

C1(z) = (a1 C1(z)),

C2(z) = (a2 C2(z)).

  1. Композиция. Производится объединение найденных усеченных функций с использованием операции МАКСИМУМ (max, далее обозначаемой как «»), что приводит к получению итогового нечеткого подмножества для переменной выхода с функцией принадлежности:

(w) = C(z) = C1(z)  C2(z) = (a1  C1(z))  (a2  C2(z)).

4) Приведение к четкости. Проводится для нахождения z0, например, центроидным методом.

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

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

Нечеткое рассуждение включает в себя три шага (рис. 5.8). На первом шаге устанавливается метод для задания лингвистических значений численными метками (функциями принадлежности). На втором шаге определяются нечеткие продукционные правила, представленные в табличной форме, определяющей, какие свойства сцинтиграмм и каким образом используются при распределении объектов по диагностическим группам. Таблица с лингвистическими значениями свойств сцинтиграммы для каждой категории болезни печени была составлена на основе таблицы с численными интервалами значений каждого свойства, полученными с помощью другого метода. На последнем шаге устанавливается функция принадлежности для заключения, дающая метод, с помощью которого результаты вывода по каждому правилу сводятся к одному значению.

Авторы (Шиоми и др.) испытывали различные функции принадлежности и правила нечеткости и нашли, что функции и правила, приведенные в статье, дают наилучший результат.

Построение функций принадлежности нечетких множеств для лингвистических значений Малое, Среднее, Большое на полном пространстве значений свойства сцинтиграммы (ось х) выполнялось следующим образом. Для здоровых контролируемых объектов вычисляется среднее значение и среднеквадратичное отклонение для свойства. Величина свойства, равная или меньше среднего значения, отмечается как 1 на оси y(рис. 5.9) при построении нечеткого множества Малое. Величина, равная или больше, чем среднее значение плюс среднеквадратичное отклонение, отмечается как нуль на осиy. Меткой значения осиxв промежуточной области является значение соответствующей точки на прямой линии, соединяющейy= 1 иy= 0. Аналогичные построения выполняются для пациентов с хронической и острой формой болезни.

Установить функции принадлежности для предположений

(т.е. задать не численным данным численные метки)

Установление правил нечеткости

Норм. Хр. геп. Агр. геп. Цирроз

Лев/прав отношение Малое Среднее Большое Большое

Увеличение селе- Нет или Умерен. Очень Очень

зенки слабое большое большое

Радиоактивность в Нет Нет Нет Есть

костном мозге

Деформированность    Есть

Распределение Однород.   