5. Используются два способа задания месторасположения целевого пространства, различающихся способами бинарной адресации в каждом поле проецирования.
УДК 518.5
А.О.Пьявченко, В.А.Переверзев
ОСНОВНЫЕ ПРИНЦИПЫ ПОСТРОЕНИЯ ВСТРОЕННЫХ ПРОЦЕССОРОВ НЕЧЕТКОГО ЛОГИЧЕСКОГО ВЫВОДА
До сих пор, большинство систем, базирующихся на нечеткой логике и предназначенных для принятия решений при управлении процессами, неподдаю-щихся формализации, представляли собой программные комплексы, реализованные на персональных ЭВМ, либо микроконтроллерах общего назначения. Такие ПЭВМ и/или микроконтроллеры, как правило, являлись частью программноаппаратных автоматизированных систем управления технологическими процессами, контроля за их состоянием, частью экспертных систем, ориентированных на обработку нечетко представленной информации в первичных и вторичных управляющих звеньях.
В последние годы начаты разработки специализированных аппаратных средств выполнения нечетких логических функций, а также аппаратно-программных комплексов обработки нечеткой информации, реализации нечетких алгоритмов и моделей. Разработка таких комплексов ведется как в направлении создания новой элементной базы, в области создания новых архитектур нечетких ЭВМ, гак и в области теории нечеткого управления. Однако, на настоящем этапе разработка логических элементов нечетких вычислительных машин продвигается довольно медленно.
Во-первых, это связано с тем, что наряду с минимальным базисом нечеткой логики существует несколько других, не устоявшихся базисов [1,2,3]; во-вторых, до сих пор продолжается дискуссия о достоинствах и недостатках’того или иного способа реализации операций нечеткой логики; в-третьих, до сих пор до конца еще не разработаны архитектура нечеткой ЭВМ, методика ее проектирования; в-четвертых, теория нечеткой логики сравнительно “молода” (ведет отсчет с 1976 г.[3]), а отсюда - отсутствие ее теоретической завершенности, наличие вольных трактовок ряда ее теоретических положений, неоднозначность в выборе и отсутствие устоявшейся методологии построения таких основных компонентов нечеткого процессора как блок фаззификации, блок решений и дефаззификации [4]. Все выше сказанное и обуславливает необходимость более детальной разработки основных принципов построения нечетких процессоров, в частности, предназначенных для использования в качестве аппаратных ускорителей обработки нечеткой информации в ПЭВМ. В последнем случае, ПЭВМ отводится роль ведущей ЭВМ комплекса, обладающей необходимым объемом дискового пространства для раз-
мещения базы знаний, необходимыми средствами управления доступом к базе, средствами для визуализации результатов, полученных в процессе нечеткой логической обработки на нечетком процессоре. ПЭВМ также обеспечивает “стыковку” средств нечеткой обработки с современными информационными технологиями, ориентированными на сетевое (корпоративное) взаимодействие. Ресурсы встроенного нечеткого процессора используются для выполнения наиболее сложных и длительных по времени нечетких вычислений с целью формирования и выдачи необходимых точных решений [5]. Применение нечетких процессоров в составе ПЭВМ позволяет объединить возможности ПЭВМ как универсального рабочего места со скоростными возможностями аппаратно реализованной и программно настраиваемой нечеткой системы и строить на их основе автоматизированные комплексы принятия управляющих решений, например, в сферах управления не формализуемыми производственными процессами.
Условно можно выделить три класса наиболее часто используемых операций [5,6].
1. Множественные операции - все операции нечеткой логики, которые могут быть применены над элементами нечетких множеств, в результате чего будет сформировано новое нечеткое множество. Например, к множественным относятся операции объединения, пересечения, разности, симметрической разности, нечеткой концентрации и размывания нечетких множеств. К частному типу множественных операций относится и операция дополнения. Как правило, такие операции используются при построении составного лингвистического высказывания [6].
2. Соотносительные операции - это операции, результатом которых является некоторое число из замкнутого интервала [0, 1], характеризующее соотношение между двумя нечеткими множествами. Примером соотносительной операции над двумя множествами является операция определения степени их нечеткого равенства. Соотносительными являются также операции вычисления нечеткого включения, нечеткой общности нечетких множеств. Операции этого класса часто используются при реализации нечетких ситуационных алгоритмов управления, например для идентификации конфликтных ситуаций [6,7].
3. Операции нечеткой арифметики, предполагающие наличие наряду с нечеткими логическими операциями арифметических вычислений (расширенные (нечеткие) операции типа сложение, вычитание, умножение и деление). Отметим, что операции нечеткой арифметики выполняются над нечеткими подмножествами множества действительных чисел. На рисунке приведен набор основных математических методов, согласно [4] используемых в процессе дефаззификации значений результирующего нечеткого множества.
Здесь использованы следующие условные обозначения:
U - .(result of defuzzification ) - множество результатов дефаззификации; и -выходная переменная; р - количество синглетонов; ji(u) - функция принадлежности; i - индекс; Min - нижний предел для дефаззификации; Мах - верхний предел для дефаззификации; sup - наибольшее значение; inf- наименьшее значение.
Мнемо- ника Наименование метода (английская и русская транскрипция)
COG Centre of Gravity Центр тяжести ')
COGS Centre of Gravity for Singletons Центр тяжести синглетонов
СОА Centre of Area Центр области (см 2) и3) )
LM Left Most Maximum Левый наибольший максимум
RM Rignt Most Maximum Правый наибольший максимум
') - Centre of Gravity is equivalent to Centroid of Area (эквивалентен Центроиду области)
2) - Centre of Area is equvalent to Bisector of Area
3) - СОА не применим, если используются синглетоны при определении степени принадлежности
В работе [5] показано, что большая часть операций нечеткой логики при их минимаксной трактовке может быть векторизована. В частности, векторизуются несовместные операции, выполняемые над векторами степеней принадлежности различных нечетких множеств. Кроме того, известно, что значительное повыше-
ние скорости решения проблемной задачи достигается за счет распараллеливания текста исходной задачи путем ее разбиения на ряд относительно независимых подзадач с их последующим вычислением на элементарных процессорах параллельного вычислителя. С учетом проблемной ориентации такой вычислитель будем называть параллельным векторным процессором (ПВП) нечеткого логического вывода (5,8). При этом, в качестве элементарных процессоров ПВП не обязательно использовать универсальные микропроцессоры. Достаточно, определив класс задач, выявить необходимый набор аппаратно реализуемых элементарных операций, разработать и создать, используя ПЛИС-технологии, специализированные чипы - элементарные процессоры с ограниченным набором операций. Это позволит, с одной стороны, упростить реализацию нечетких операций на аппаратном уровне, с другой - поднять скорость обработки нечеткой информации как в отдельном элементарном процессоре ПВП, так во всем ПВП в целом. Конструктивно ПВП может выполняться в виде специализированного набора ПЛИС нечеткого логического вывода, размещаемых на дополнительном слоте функционального расширения, подключаемого к системной магистрали ПЭВМ. Причем, с учетом современного уровня развития технологии изготовления кристаллов, уровня развития их внутренних архитектур в одной ПЛИС может быть реализовано сразу несколько ЭП ПВП, а их конфигурация , структура межсоединений процессоров могут программно меняться в зависимости от функционального содержания проблемных задач, требующих решения.
Поддержка на аппаратном уровне только элементарных операций первого типа (множественных операций) приводит к большим объемам перекачки информации как между ПВП и центральным процессором ПЭВМ, так и между самими элементарными процессорами ПВП. Это, в свою очередь, увеличивает затраты времени на доставку информации и снижает эффективность применения ПВП при решении задач проблемной области. Одним из путей снижения объемов необходимых пересылок является укрупнение основного состава элементарных операций, выполняемых на элементарном процессоре (ЭП) ПВП, за счет включения в набор операций второго и третьего типов, а также, включения классов операций, производных от базовых. Такое решение напрашивается ввиду больших объемов проводимых сравнений на этапе сопоставления сложившейся ситуации с эталонной, а также, ввиду с преимущественно последовательным характером вычислений на этапе дефаззификации выбранных решений.
Следует отметить, что укрупнение операций, входящих в основной набор, подлежащий реализации на ЭП ПВП, неординарная научно-исследовательская задача. Это связано с отсутствием в настоящее время единого метода нечеткого моделирования объектов и ситуаций. Так, в случае применения программных нечетких систем для каждой проблемной задачи приходится заново проектировать нечеткую управляющую программу, определяя шаг за шагом все параметры и строя свою таблицу решений. А значит, отсюда и необходимость в адаптивности проектируемых аппаратных средств нечеткой обработки, заключающейся в возможности перенастройки элементарного операционного базиса ЭП. Перенастройка может осуществляться на программном, либо на аппаратном уровнях, в зави-
симости от реализации. В первом случае - путем перезагрузки кодов программ, во втором спучае - путем перезагрузки со стороны ПЭВМ конфигурационных кодов ПЛИС ЭП ПВП.
Векторизуемость исходных данных, возможность аппаратизации базового набора операций нечеткого логического вывода позволяют применить К1ЯС -подход при выборе и разработке базовой системы команд, при построении конвейерного вычислительного ядра ЭП ПВП. При этом, в архитектуре ПВП следует предусмотреть настройку внутреннего конвейера как в одиночный, так и в групповой режим. В одиночном режиме каждый ЭП поддерживает работающий асинхронно конвейер типа “чтение - выполнение - запись” (возможны и другие варианты конвейеров в зависимости от уровня сложности примененного операционного базиса и степени его аппаратной поддержки). В групповом режиме в организации конвейера используется несколько ЭП, в результате, в процессе поиска эталонного решения их внутренние конвейеры будут работать параллельно и синхронно. Раздельное хранение команд и данных во внутренних модулях памяти ЭП, однотактное выполнение команд, поддержка многоступенчатого конвейера -все это позволит обеспечить необходимую эффективность выполнения программно и аппаратно реализуемых операций нечеткого логического вывода.
Применение в составе ПВП нескольких ЭП, реализуемых в базисе ПЛИС (например, в базисе ГРвА-модулей), возможность организации настраиваемого группового конвейера наряду с возможностью перенастройки внутренней архитектуры процессоров, позволят менять используемую вычислительную схему в зависимости от проблемной задачи. В частности, становится возможным отказаться от чисто последовательного решения минимаксной задачи на одном ЭП, применив структурный подход к ее реализации, что сводит оценку времени ее решения к 0(1х^2М) [9], где N -число ЭП, используемых в групповом режиме одновременно. Это особенно важно при выполнении операции поиска нечеткого минимума(максимума) среди значений, полученных на различных ЭП в результате сравнения векторов степеней принадлежности с эталонными значениями. Предполагается , что эталонные значения векторов заранее вычислены на ПЭВМ и загружены в ЭП до начала вычисления текущей прикладной задачи.
Очевидно, аналогично можно решить проблему упорядочивания нечетких значений, выполнения операции усечения нечеткого множества и т.п. При этом, размещенные на кристалле ПЛИС (РРвА) ЭП объединяются в многокаскадную коммуникационную структуру с настраиваемыми (программируемыми) связями.
Узким местом при конструктивном исполнении ПВП в виде одного слота материнской платы ПЭВМ являются его внешние коммуникации. Это обусловлено как ограниченной сверху пропускной способностью системного канала ПЭВМ (например, РС1-Ьиз(ге1.2.1, 66МГц и 64 разряда) имеет верхний максимальный потолок около 320 Мбайт/сек, который реально, как правило, намного ниже.), так и жесткими конструктивно-технологическими требованиями к параметрам изготавливаемых печатных проводников в многослойной плате ПВП. Поэтому, чтобы обеспечить эффективное использование настраиваемого поля ЭП ПВП не-
обходимо обойти указанные ограничения (по крайней мере, снизить время простоя конвейера). Для этого:
Во-первых, в качестве ЭП ПВП предлагается применять одноразрядные вычислители с внутренней буферизацией обрабатываемых п-разрядных нечетких значений и программно перестраиваемым набором команд, ориентированных на нечеткую обработку.
Во-вторых, пусть такие ЭП организованы в матрицу размерности N х Log:N ( или N ж (Log7N+1))/9/, где N - количество столбцов матрицы, Log,N или (Log2N+]) - количество строк матрицы ЭП. ЭП взаимодействуют между собою по последовательным однобитным каналам связи. При этом п-разрядные значения векторов поступают на нечеткую обработку последовательным кодом младшими разрядами вперед. Между ЭП, принадлежащими одной линейке матрицы, как правило, для взаимодействия не существует коммуникационных каналов связи. Структура текущей топологии каналов межстрочной связи определяется структурно реализуемой на ПВП нечеткой операцией.
В-третъих, пусть связь каждого из ЭП ПВГІ с системным каналом ПЭВМ осуществляется посредством единственной специализированной интерфейсной БИС (ПЛИС), обеспечивающей обмен данными в пакетном режиме с двойной буферизацией.
Предположим, что количество ЭП ПВП в горизонтальной линейке коммутационного поля не более 64 (по числу разрядов шины данных системной магистрали ПЭВМ), а количество линеек равно Ьо&И+1. Тогда “накачка” числовыми данными группового конвейера может быть обеспечена за счет использования режима пакетной передачи в системной магистрали. При этом следует отказаться от последовательного линейного размещения в ОЗУ ПЭВМ байт, за байтом информационных векторных массивов. В качестве альтернативного решения предлагается способ ортогонального поблочного размещения анализируемых векторов в основной оперативной, а возможно и в дисковой памяти ПЭВМ. Суть данного метода состоит в том, что ранее линейно задаваемый вектор теперь группируется в блоки по 64 п-разрядные числовые значения степеней принадлежности вектора. Каждое значение развернуто на 90° младшими разрядами вперед. В результате первое 64-разрядное слово блока содержит младшие разряды 64-х значений вектора степеней принадлежности вектора. Размер блока - 64 п-разрядных значений вектора степени принадлежности нечеткого множества. Такой блок занимает п 64-разрядных ячеек ОЗУ ПЭВМ. Следовательно, поступающие поразрядно из системного канала данные сразу без задержки, разряд за разрядом, могут быть направлены на обработку в коммутационное поле ЭП. Найденные в результате обработки значения накапливаются в специальном параллельном ортогональном буфере, а затем направляются центральному вычислителю ПЭВМ. Глубина пакета постоянна и равна п.
Таким образом, процессор нечеткого логического вывода, встраиваемый в архитектуру ПЭВМ в качестве специализированного сопроцессора ее центрального процессора, должен быть ориентирован на параллельную векторную обработку векторов степеней принадлежности нечетких множеств, обладать программно
настраиваемым коммутационным полем элементарных процессоров, архитектура которых строится на основе модифицированных принципах Гарвардской архитектуры, использовать ортогональное размещение в основной памяти ПЭВМ значений обрабатываемых векторов. Структурная реализация сложных операций нечеткой логики на ряду с векторной обработкой и настройкой элементарных процессоров на изменяемый состав нечетких операций, применение в качестве элементной базы FPGA-модулей и их модификаций позволят обеспечить требуемую эффективность разрабатываемых аппаратных средств.
Предложенные принципы, на взгляд авторов, вполне реализуемы на современном этапе. Создание ПВП с применением современных технологий позволит увеличить производительность ПЭВМ при решении задач нечеткого логического вывода, а также расширит сферы применения теории нечеткого управления.
ЛИТЕРАТУРА
1. Коффман А. Введение в теорию нечетких множеств. - М.: Радио и Связь, 1982.
2. Нечеткие множества в моделях управления и искусственного интеллекта/ Под ред. Д.А.Поспелова,-М.:Наука, 1986. С.339-349.
3. Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. - М.:Мир, 1976.
4. IEC 1131 - PROGRAMMABLE CONTROLLERS (Part 7 - Fuzzy Control Programming) (временный стандарт, версия от 19 янв. 1997 г.)
5. Берштейн Л. С., Коровин С. Я, Мелихов А. Н. Средства обработки нечеткой информации // Искусственный интеллект: в 3-х кн. Кн. 3. Программные и аппаратные средства: Справочник/ Под ред. В.Н.Захарова, В.Г.Хорошевского. - М.: Радио и Связь, 1990.-С.284-292.
6. Мелихов А.Н., Берштейн Л.С., Коровин С.Я. Ситуационные советующие системы с нечеткой логикой,- М.: Наука, 1990.
7. Астанчн С.В., Захарович В.Г. Обработка и представление знаний в информационно-советующих. комплексах систем гибридного интеллекта. Учебное пособие. Таганрог: ТРТУ, 1997. 136 с.
8. Мелихов A.H., Коровин С.Я. Аппаратно-программная поддержка систем обработки информации и управления, основанных на нечетких знаниях// Компьютерные технологии в инженерной и исследовательской деятельности. Материалы Всероссийских научно-технических конференций с международным участием, 4.06 - 8.06.94, 27.06 - 1.07.95. Таганрог 1996.-C.U4-118.
9. Пьявченко А.О., Ромм Я.Е. О коммутационной сети для межпроцессорного обмена и сортировки//АВТ.-Риг а, 1990. - №1.