Диссертация (1143270), страница 8
Текст из файла (страница 8)
На этапе реализацииСЭНВ – целесообразно реализовать их на аппаратном уровне [124], напримернаосновепрограммируемыхлогическихсхемилинаосновепроанализированных в разделе 1.4 ФОК.Для решения поставленных задач требуется: предложить способ представления базы нечетких знаний и алгоритм ееобработки,обеспечивающиевысокоекачествонечеткойобработки66информации ЭНВ при одновременном обеспечении высокой скорости этойобработки; выполнить микросхемотехническую реализацию ЭНВ и сопроцессора СЭНВ; создать микропроцессорные решения, содержащие интегрированные накристалл сопроцессоры СЭНВ, обеспечивающие повышение точности ибыстродействия при выполнении нечеткой обработки данных и пригодныедля применения в системах управления.2.2.
Повышение точности нечетких вычислений. Модель и реализацияоперации дефаззификацииВ настоящее время существует значительное количество методовдефаззификации и их вариаций, как отмечается в [108]: “AI (adaptiveintegration), BADD (basic defuzzification distributions), BOA (bisector of area),CDD (constraint decision defuzzification), COA (center of area), COG (center ofgravity), ECOA (extended center of area), EQM (extended quality method), FCD(fuzzy clustering defuzzification), FM (fuzzy mean), FOM (first of maximum),GLSD (generalized level set defuzzification), ICOG (indexed center of gravity), IV(influence value), LOM (last of maximum), MeOM (mean of maxima), MOM(middle of maximum), QM (quality method), RCOM (random choice of maximum),SLIDE (semi-linear defuzzification), WFM (weighted fuzzy mean)” [108].Следует отметить, что в различных литературных источниках частонаблюдаются различные интерпретации как названий, так и реализации этихметодов дефаззификации, поэтому приведем их ниже в соответствии с [108].supp(A) = {x | x ∈X and A(x) > 0}core(A) = {x | x ∈X and not(∈y ∈X ): (A(y) > A(x))}67Взаимосвязь методов отражает таблица 2-1 [108].68Табл.
2-1. Взаимосвязь методов дефаззификацииОсновныеМетоды общего назначенияСпециальные методыCoG, MeOMFMРасширенные ICOG GLSD BADD SLIDEWFM, QM, EQMРазличные методы дефаззификации могут формировать существенноразличающиеся результаты (рис. 2-2 [109]).Рис. 2-2. Результаты работы НК для двух методов дефаззификации.Анализ функционирования нечетких вычислителей показывает, чтонаиболеечастоприменяемаяизсуществующихмодельоперациидефаззификации «средневзвешенное максимумов» обеспечивает недостаточновысокую точность нечеткой аппроксимации на границах действия правил.Проиллюстрируем это на двух характерных примерах.
Создадим нечеткийконтроллер, обеспечивающий изменение коэффициента k наклона отрезкаy:=kx(2-1) (рис. 2-3), а также нечеткий контроллер, обеспечивающийизменениекоэффициентаy:=k(x-127.5)**2(2-2)(рис.kусиления2-4).Анализквадратичнойрезультатовзависимостидинамическоготестирования обоих контроллеров показывает, что на границах термов качествовоспроизведения идеальной передаточной характеристики снижается.69Термы входной переменной Х1Термы выходной переменной Y1Термы входной переменной Х2База правил НКЗависимость Y1=F(X1,X2)Рис.
2-3. Передаточная характеристика НК (2-1); дефаззификация „среднее максимумов‟. 70Термы входной переменной Х1Термы входной переменной Х2Термы выходной переменной Y1Зависимость Y1=F(X1,X2)База правил НКРис. 2-4. Передаточная характеристика НК (2-2); дефаззификация „среднее максимумов‟.71Для преодоления указанного недостатка предлагается модифицироватьоперацию дефаззификации, используя для расчета выходного значениясоотношение i1: Nk 1: Mi i1: Nk Y max ik 1: Mik(2-3), где N – число правил нечеткогоконтроллера, M – число элементов части „Если‟ каждого правила.Такимобразом,весочередногоправилабудетопределяетсянеминимальной степенью уверенности условий, составляющих часть „Если‟, а ихпроизведением, что обеспечит существенное улучшение качества (рис.
2-5).Рис. 2-5. Повышение точности дефаззификации (справа) при использовании модели (2-3).72Анализ совокупности серий экспериментов, проведенных автором,показал, что приведенная погрешность аппроксимации снижалась на порядокпри незначительной модификации вычислительной модели (табл. 2-2).Табл. 2-2.
Вычислительные модели сравниваемых методов дефаззификации.Классическая модель дефаззификацииfor rpotr:=1 to currul dobegindx:=0;first_x:=true;for xpotr:=1 to curinp dobegintpotr:=rules[rpotr].inp_trm[xpotr];if tpotr<>0 thenbeginmean:=inps[xpotr].terms[tpotr].values[x[xpotr]];if (first_x) or (mean<dx) then dx:=mean;first_x:=false;end;end;for ttx:=1 to curout dobegintpotr:=rules[rpotr].out_trm[ttx];if (tpotr<>0) and (ttrm[ttx,tpotr]<dx) thenttrm[ttx,tpotr]:=dx;end;end;for ttx:=1 to maxout dobeginmean:=0;dy:=0;for tty:=1 to maxtrm dobeginmean:=mean+ttrm[ttx,tty]; yst:=0;yen:=yst;add:=outs[ttx].terms[tty].values[0]; decflg:=false;for srch:=1 to 255 doif add<outs[ttx].terms[tty].values[srch] thenbeginadd:=outs[ttx].terms[tty].values[srch];yst:=srch;yen:=yst;decflg:=false;endelsebeginif (add>outs[ttx].terms[tty].values[srch])and (not decflg)then beginyen:=srch;decflg:=true;end;end;if (decflg=false) and (yst>0) then yen:=255;dy:=dy+ttrm[ttx,tty]*((yen+yst) div 2);end;if mean<>0 then y[ttx]:=round(dy/mean)else y[ttx]:=255;end;Предлагаемая модель дефаззификацииfor rpotr:=1 to currul dobegindx:=0;first_x:=true;for xpotr:=1 to curinp dobegintpotr:=rules[rpotr].inp_trm[xpotr];if tpotr<>0 thenbeginmean:=inps[xpotr].terms[tpotr].values[x[xpotr]];if (first_x) then dx:=mean else dx:=dx*mean;first_x:=false;end;end;for ttx:=1 to curout dobegintpotr:=rules[rpotr].out_trm[ttx];if (tpotr<>0) then means[ttx]:=means[ttx]+dx;end;for ttx:=1 to maxout dobeginmean:=0;dy:=0;tty:=rules[rpotr].out_trm[ttx];if (tty<>0) thenbeginmean:=mean+ttrm[ttx,tty]; yen:=yst;decflg:=false;add:=outs[ttx].terms[tty].values[0];yst:=0;for srch:=1 to 255 doif add<outs[ttx].terms[tty].values[srch] thenbeginadd:=outs[ttx].terms[tty].values[srch];yst:=srch;yen:=yst;decflg:=false;endelsebeginif (add>outs[ttx].terms[tty].values[srch]) and (not decflg)then beginyen:=srch;decflg:=true;end;end;if (decflg=false) and (yst>0) then yen:=255;dys[ttx]:=dys[ttx]+dx*((yen+yst) div 2);end;end;end;for ttx:=1 to maxout dobeginif means[ttx]<>0 then y[ttx]:=round(dys[ttx]/means[ttx])else y[ttx]:=255;end;732.3.Снижениесложностинечеткогоописания.Применениенелинейных функций принадлежностиКак отмечалось в главе 1, основным применяемым в существующихмикропроцессорных системах с узлами нечеткой обработки данных принципомзадания функций принадлежности является использование описаний в кусочнолинейной форме.
Это позволяет минимизировать затраты памяти и решатьзадачу относительно простого вычисления значения функции принадлежностив заданной точке. Однако подобный подход чреват скрытым ростом сложности(в случаях, когда требования по точности аппроксимации приводят кнеобходимости увеличивать количество линейных участков), и, кроме того,оборачивается необходимостью использовать вычислительные мощности дляопределения мгновенного значения функции принадлежности [110].Очевидно, чтопринадлежностивычислениепроизвольногозначениявидав заданнойчистоточке функцииаппаратнымисредствамисталкивается с существенными практическими ограничениями, касающимисяспособазаданияэтойфункцииипривлекаемымивычислительнымимощностями [111].Для решения указанной проблемы предлагается использовать т.н.просмотровые таблицы; их применение для задания функций принадлежностиизложено в авторской работе [114]: “термы лингвистических переменныххранятся в памяти данных в виде массива значений степени принадлежности,упорядоченного по возрастанию четкой переменной, диапазон значений степенипринадлежности (0 – 1) представлен диапазоном изменения величины в разряднойсетке вычислителя” [114].
Так, для 8-битных вычислителей диапазон значенийразрядной сетки составляет [0..255]; таким образом, например, значение функциипринадлежности 0.9 будет эквивалентно коду 230 (рис. 2-6). “При фаззификациисоответствующий терму массив адресуется значением входной переменной,возвращая значение степени принадлежности данной переменной этому терму.Для осуществления дефаззификации для каждого массива, описывающего терм74выходной переменной, дополнительно строится список максимумов путемпоискаиндекса,соответствующегомаксимальномузначениюстепенипринадлежности (для отрезка максимальных значений – горизонтального награфике – таким индексом будет назначена середина отрезка)” [114].Рис.
2-6. Пример организации табличного хранения терма.Это позволяет тривиальным образом задавать функции принадлежностипроизвольного вида, свести задачу вычисления значения к задаче индексациимассиваи,темсамым,повыситьскоростьрешениепозволяетобеспечитьвыполненияоперацииснижениесложностидефаззификации.Примененноенечеткого описания, так как избавляет разработчика от необходимостикусочно-линейной аппроксимации с малым шагом (а, следовательно, сбольшим числом термов и правил) сложных функций принадлежности.Проиллюстрируем достигаемое преимущество на ряде примеров [115,145].В случаях, когда в функциональной зависимости, подлежащей нечеткойаппроксимации, существуют закономерности во взаимосвязанном влиянииизменений входных величин на изменение выходных значений, для разработкинечеткого аппроксиматора целесообразно использовать метод, более сложный вприменении, чем прямой, но обеспечивающий более высокую точностьаппроксимации при относительно малом размере базы нечетких знанийвычислителя.75Принцип, положенный в основу данного метода, заключается внахождении «образа» (функциональной зависимости меньшей размерности),существенно характеризующего исходную функцию, и закона его изменения.Этим «образом» выступает сечение, изменяющее некоторый свой параметр(например, амплитуду).Так,дляфункциидвухнезависимыхпеременныхстроятсядвавзаимосвязанных аппроксиматора: один описывает функцию сечения, второй –функцию изменения этой функции (в случаях большей размерности исходнойзадачи принцип может применяться итерационно).
Тем самым исходнаязависимость описывается не с точки зрения совокупностей наборов данных (т.е.фактологически), а с точки зрения законов их взаимного изменения (т.е.онтологически).Рассмотрим применение метода сечений на примере решения задачинечеткой аппроксимации той же нелинейной функции двух переменных (см.рис. 2-7), что и в разделе 1.2 (см. рис. 1-13).Анализ заданной функциональной зависимости (в ряде случаев –например, при проведении эвристического анализа – удобно использоватьграфическое представление зависимости, а не ее математическую запись)позволяет заключить, что искомым «образом» выступает квадратичнаяфункция (аргументом которой является переменная x1), испытывающаявертикальный сдвиг (интенсивность этого сдвига зависит по гармоническомузакону от переменной x2).Отметим, что обе проекции исходной зависимости нелинейны (этонаиболее общий случай), и воспользуемся предложенным выше методомописаниянечеткихвычислителейнаосноверазвертокфункцийпринадлежностей, допускающим любую необходимую их форму, для точного иодновременно экономичного описания термов нелинейного вида (рис.














