Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вычисленияв системах управления(1) - копия.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
14.18 Mб
Скачать

Глава 4

ВОЗМОЖНОСТИ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ УПРАВЛЯЮЩИХ СИСТЕМ

4.1. Программные средства интеллектуализации

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

языки программирования (ЛИСП, ПРОЛОГ и др.); базы данных;

оболочки экспертных систем; нейронные сети;

системы типа "искусственная жизнь" (A-life). Язык ЛИСП занял особое место среди ранних языков про-граммирования, обеспечивающих возможности манипуляции на ЭВМ символами при решении задач искусственного интеллекта. Уже в 1956 году Ньюэлл, Шоу и Саймон разработали язык про¬граммирования ИПЛ, с помощью которого можно было обраба¬тывать списки. Этот язык был одним из предшественников языка программирования ЛИСП, разработанного Дж. Маккарти в 1960 году. ЛИСП стал наиболее популярным в среде специали¬стов по искусственному интеллекту, особенно в США, где в ка¬честве стандартного получил распространение его диалект COMMONLISP [40]. К достоинствам языка можно отнести точ¬ность, определенность, лаконичность и удобство в работе. ЛИСП является хорошим средством для представления древовидных структур, которые служат основой символьной обработки. Имен-

но поэтому до недавнего времени большинство программ искус¬ственного интеллекта писались на языке ЛИСП. Хотя в настоя¬щее время инструментарием для обработки списков обладают и такие развитые языки программирования, как Фортран, ПЛ/1, Паскаль, Ада и др. Кроме того, в последнее время переосмысли¬вается роль и место символьной обработки в задачах искусствен¬ного интеллекта и появляются все новые и новые инструмен¬тальные средства решения задач искусственного интеллекта.

Выражения языка ЛИСП называются ^-выражениями. Они представляют собой либо атом, либо список.

Атом представляется каким-либо алфавитно-цифровым име¬нем, т. е. в сущности числом.

Список — это некоторая внутренняя часть, заключенная в скобки.

Синтаксис языка ЛИСП в форме Бэкуса—Наура определя¬ется следующим образом:

<8-выражение>

<список>

<внутренняя часть> = <атом> = <список> = <внутренняя часть> = <пусто> = <£-выражение>

= <5-выражение> <внутренняя часть>

< пусто > <атом>

: = цепочка алфавитно-цифровых символов без пробелов или специальных символов

Таким образом, всякое S-выражение представляет собой набор атомов и списков, например: ((король ферзь)((ладья) (слон)) пешка).

Как и во всех языках программирования, некоторые предва¬рительно определенные атомы являются функциями, аргументы которых представляют собой следующие за ними ^-выражения. В свою очередь аргумент сам может быть функцией, которую нужно вычислить. При этом надо иметь возможность определить, что представляет собой данный элемент — значение выражения L или же символьное имя L какого-то ^-выражения. В первом случае перед выражением ставится апостроф, например CL, или же пи¬шут в развернутой форме: (QUOTE L). Апостроф запрещает вы-

числение следующего за ним S-выражения, которое восприни¬мается программой в этом случае без изменений.

Для задания выражения используется функция SETQ. В об-щем случае всякое 5-выражение, поступающее в машину, тут же вычисляется. Необходимо отметить, что в языке ЛИСП любая программа сама по себе является 5-выражением. В частности, в ЛИСП данные имеют ту же структуру, что и программы, и так¬же являются выражениями. Результат выполнения программы в Л ИСП также программа. Соответственно этому выражение в ЛИСП является программой. Это свойство языка ЛИСП позво¬ляет создавать программы, которые могут перестраивать сами себя.

Кроме того, в языке ЛИСП имеется возможность создавать новые функции, и для этого используется функция DEFUN.

Более подробно с языком программирования ЛИСП и ме-тодами программирования в нем можно ознакомиться в [41].

Язык ПРОЛОГ применяется для решения какой-либо зада-чи системой в терминах предикатов. История создания языка начинается с 1972 года, когда А. Кольмрауер разрабатывал со своей группой сотрудников систему автоматического доказатель¬ства, построенную на базе логики первого порядка и методе Эрбрана—Робинсона. Система автоматически выдавала ответ, используя для этого унификацию и метод резолюций. Таким образом, ПРОЛОГ можно рассматривать как декларативный язык, где единственные входные данные — это формальное оп¬ределение задачи. Так как часто желательно получение решения задачи в явном виде, то, с этой точки зрения, доказательство, основанное на опровержении специальным образом сконструи¬рованного предложения, получаемого методом резолюций, не является достаточным результатом. Поэтому в 1969 года для уст¬ранения отмеченного недостатка Грин предложил ввести в ис¬ходный набор предложений "ответный" предикат, связанный с заключением: 1 заключение (х) v вывод (х), либо заключение (х) л вывод (х), который обеспечивает получение системой ре¬шения в явном виде и выдачу х пользователю. Тем не менее ис¬пользование ПРОЛОГА эффективно только в тех случаях, когда деревья доказательства не слишком велики.

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

из базы показатели, имеющие желаемые атрибуты. ПРОЛОГ, получив запрос, тут же начинает отыскивать ответы на него без каких-либо специальных предварительных этапов.

Другой областью, где используется ПРОЛОГ, является уп¬равление роботами. В данном случае речь идет о роботах, спо¬собных принимать решения и, исходя из этого, строить план действий. Тог же способ запоминания с помощью предикатов позволяет запоминать план, построенный с помощью резолю¬ций. При этом робот может ходить, передвигать какой-либо объект, влезать на что-то и т. д.

Наибольшее распространение получило использование языка ПРОЛОГ при создании экспертных систем.

База данных (БД) является обязательным компонентом любой интеллектуальной системы. БД представляет собой сово¬купность экземпляров различных типов записей и отношений между записями, агрегатами данных, элементами данных.

Широко признанным авторитетом в области БД является Ассоциация по языкам систем обработки данных CODASYL (Conference on Data Systems Languages), и поэтому обычно ис¬пользуется ее терминология и определения.

Запись — это поименованная совокупность элементов или агрегатов данных.

Агрегат данных — это поименованная совокупность элемен¬тов данных внутри записи, рассматриваемая как единое целое. Например, агрегат данных DATA может состоять из элементов данных — месяц, день, год.

Элемент данных — это наименьшая единица поименованных данных. Он может состоять из любого количества битов или байтов.

Таким образом, БД можно определить как совокупность вза¬имосвязанных, хранящихся вместе данных при наличии такой минимальной избыточности, которая допускает их использова¬ние оптимальным образом для одного или нескольких приложе¬ний. Данные принято запоминать так, чтобы они были незави¬симы от программ, их использующих. Кроме того, данные структурируются таким образом, чтобы была обеспечена воз- ! можность дальнейшего наращивания приложений.

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

Наиболее важными характеристиками БД являются:

1. Возможность представления внутренней структуры БД, которая отражает наиболее характерные свойства данных.

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

3. Минимальные затраты, обеспечивающие организацию дан¬ных с минимальными затратами памяти и позволяющие при их обработке использовать наиболее простые программные средства.

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

5. Возможность поиска, которая должна обеспечивать обра-ботку таких запросов и\или формирование таких ответов, кото-рые заранее не были запланированы. При этом поиск по запросу и формирование ответов должно быть быстрым и гибким.

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

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

8. Связь с прошлым, которая должна обеспечивать инфор-мационную совместимость с предыдущими версиями БД.

9. Связь с будущим, которая должна обеспечивать измене-ния в БД по возможности без модификации прикладных про-грамм.

10. Эффективность настройки, обеспечивающая улучшение производительности БД за счет физической независимости дан-ных и автоматизации управления.

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

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

13. Эффективность пользовательских языков в БД, которая должна обеспечивать возможность неподготовленным пользова¬телям обращаться с запросами, осуществлять поиск и обновлять данные, а также манипулировать данными и генерировать отче¬ты и документы на основе этих данных.

Основные требования к организации БД для интеллекту-альных систем (ИС) следующие:

1. Они должны обеспечивать многократное использование данных при решении задач логического вывода.

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

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

4. Должно быть обеспечено обращение к данным и их поиск с помощью различных методов допуска, используемых подсис-темами и пользователями.

5. Изменения в БД должны осуществляться без нарушения имеющихся способов использования данных.

6. Хранение данных должно осуществляться с минимальны-ми затратами памяти.

7. Запросы на данные должны удовлетворяться со скорос-тью, обеспечивающей выполнение требований к времени реше-ния задач логического вывода.

8. Внутренняя структура БД должна обеспечивать хранение и обработку всех типов данных, используемых в ИС.

9. СУБД должна обеспечивать связь с пользователем, с под-системами ИС и с системами сбора и обработки данных в режи-ме реального времени при использовании в цифровых системах управления.

Современный уровень развития теории автоматического управления, искусственного интеллекта, информатики, вычис-лительной техники и опыт построения и эксплуатации интел-лектуальных проблемно-ориентированных программных средств, в частности экспертных систем (ЭС) позволяет гово-рить об актуальности использования методов и технологии об-работки знаний для организации интеллектуального управ- ления. Однако до сих пор существующие примеры применения интеллектуальных программных средств в системах управления весьма немногочисленны [42], что объясняется целым рядом объективных факторов, главными из которых являются слож¬ность и неопределенность характеристик среды функциониро¬вания и быстротечность управляемых процессов, требующая оперативного обеспечения соответствующих ответных реакций.

При разработке экспертные регуляторов (ЭР) систем уп-равления часто используются так называемые оболочки эксперт¬ных систем реального времени.

Инструментальное средство (ИнС) для создания эксперт-ной системы реального времени (ЭС РВ) впервые выпустила в 1985 году фирма Lisp Machine. ИнС называлось Picon и испол-нялось на символьных ЭВМ Symbolics. Его успех на рынкепри- вел к тому, что группа ведущих разработчиков Picon образовала в 1986 году частную фирму Gensym, которая, значительно раз¬вив идеи, заложенные в Picon, выпустила в 1988 году ИнС под названием G2 версии 1.0. Ныне функционирует версия 4.1 и го¬товятся к выпуску 5.0 и 6.0. Ряд других фирм с отставанием от Gensym на 2™3 года начали создавать (или пытаться создавать) свои ИнС для экспертных систем реального времени.

В табл. 4.1 приведен достаточно полный перечень всех фирм и объявленных ими продуктов. Следует отметить, что, несмотря на значительное количество объявленных ИнС, в этом списке мно¬го либо незавершенных ИнС, либо таких, которые только с боль¬шой натяжкой могут быть отнесены к ИнС для создания ЭС РВ.

Таблица 4. 1 Оболочки экспертных систем реального времени

Продукт Фирма- производитель Страна Платформа (ПЭВМ/Рст)

Activation Framework Real Time Intelligent Systems США ПЭВМ

Chronos S20 Франция ПЭВМ

COGSYS SC Scicon Англия Рст

COMDALE/C Comdale Technologes Канада ПЭВМ и Рст

Продукт Фирма- производитель Страна Платформа (ПЭВМ/Рст)

Escort PA Consultants Англия Рст

Expert 90 Bailey США Рст

G2 Gensym США ПЭВМ и Рст

ILOG Rules (XRETE) ILOG Франция ПЭВМ и Рст

Mercury Artificial Intelligence Tech. (A.I.T.) США ПЭВМ

Montrex Stone and Webster США Рст

Muse Cambridge Consultants Англия ПЭВМ

Promass IJnibid Англия ПЭВМ и Рст

Rocky Expert Edge США ПЭВМ

RTES Knowledge Systems США Рст

RTAC /Power Mitech США ПЭВМ

RT/AI XntelliSys США ПЭВМ

RT Expert Integrated Systems Inc. США Рст

RT Works Talarian Corp. США Рст

SNAP Template Software США Рст

NDC Expert Honeywell США Рст

Пока наиболее продвинутым инструментом создания ЭС РВ, безусловно, остается G2 (Gensym, США), за ним со значитель¬ным отставанием (реализовано менее 50 % возможностей G2) следуют RT Works фирмы Talarian (США), COMDALE/C (Comdale, Канада), COGSYS (SC, США), ILOG Rules (ILOG, Франция). В табл. 4.2 G2 сравнивается со следующими группами ИнС для создания ЭС РВ:

Группа А — статистические оболочки ЭС, Группа В — супервизорные системы управления,

Таблица 4. 2

Сравнительная характеристика G2 и программируемых продуктов групп А, В, С, D

Свойства ЭСРВ Группа А Группа В Группа С G2

Работа в реальном, внутренний плани¬ровщик, параллельные процессы рассу¬ждения - + + +

Структурированный естественно¬языковой интерфейс, с управлением че-рез меню и автоматической проверкой синтаксиса - - - +

Общие правила, уравнения и динамиче¬ские модели, применимые к классам объектов - - - +

Обратный и прямой вывод, сканирова¬ние, фокусирование, использование ме¬тазнаний - - - +

Интеграция подсистемы моделирования с динамическими моделями - - - +

Структурирование БЗ, наследование свойств, понимание связей между объ-ектами - - - +

Библиотеки знаний - ASCII-файлы, портируемые на любые аппаратные платформы без какого-либо дополни¬тельного программирования - - - +

Развитый редактор для сопровождения базы знаний без программирования - - - +

Средства инспекции базы знаний + + +

Средства управления доступом с помо¬щью механизма авторизации пользова¬теля и обеспечение желаемого "взгляда" на приложение - + - +

Средства трассировки и отладки БЗ + - + +

Интерфейс оператора включает графи¬ки, диаграммы, шкалы, кнопки, редак¬тор многослойных пиктограмм - + - +

Свойства ЭС РВ Группа А Группа В Группа С G2

Исполняется на ряде универсальных ЭВМ, включая рабочие станции DEC, HP, SUN, IBM + + ... +

Кооперация ЭС реального времени по сетевому протоколу TCP/IP или DECnet с другими приложениями - - - +

Удаленные окна, включая интерактив¬ную многопользовательскую работу - - - +

Интерфейсы с источниками данных обеспечивают эффективную связь с внешними системами и СУБД - + + +

Группа С — оболочки ЭС реального времени, перечислен-ные в табл. 4.1, исключая G2.

При сравнении учитывалось наличие или отсутствие в ука-занных группах ИнС ключевых функциональных возможностей, необходимых для разработки ЭС РВ.

Общий итог по результатам сравнения 16 позиций: Группа А — реализовано 3 свойства из 16 (18 % от функци-ональных возможностей G2),

Группа В — реализовано 5 свойств из 16 (31 % от функцио¬нальных возможностей G2),

Группа С -- реализовано 3 свойства из 16 (18 % от функци-ональных возможностей G2).

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

Все три системы в части структурирования данных приме-няют объектно-ориентированный подход, однако каждая из них вносит свою специфику в объектно-ориентированную методо¬логию представления данных.

Понятие класса является в G2 основой представления зна-ний. Все, что хранится в БЗ и чем оперирует система, — это эк- землляр того или иного класса. Более того, все синтаксические конструкции G2 тоже являются классами. Классы и ничего кро¬ме классов и их экземпляров! Описание класса (тоже экземпляр специального класса) включает ссылку на суперкласс (иерар¬хия "is-a") и перечень атрибутов, специфичных для класса (иерархия "part-of"). До последнего времени системе G2 были присущи только два недостатка: отсутствие множественного на¬следования (разрешена лишь древовидная схема наследования свойств) и невозможность написания присоединенных проце¬дур-методов для класса. В последней, четвертой, версии системы эти недостатки устранены.

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

Хотя в TDC Expert пользователь тоже оперирует понятиями "класс" и "экземпляр класса", тем не менее в этой системе от-сутствует реализация основной концепции объектно-ориенти-рованного подхода — наследование свойств и иерархии классов. Класс в смысле TDC Expert — это просто описание набора ат¬рибутов, присутствующих в экземпляре данного класса. Можно сказать, что TDC Expert оперирует скорее с записями, чем с объектами.

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

Правила в системе G2 могут быть обобщенными, касающи-мися целого класса объектов, и специфическими, относящими-ся к конкретным экземплярам. Консеквент правила может содер¬жать условные выражения и директивы, указывающие порядок исполнения утверждения консеквента — последовательный или параллельный. Особенностью машины вывода G2 является и бо¬гатый набор способов активизации правил. Правило в G2 может активизироваться в одном из 9 случаев:

данные, входящие в антецедент правила, изменились (пря-мой вывод — forward chaining);

правило определяет значение переменной, которое требу-ется другому правилу или процедуре (обратный вывод — back-ward chaining);

каждые п секунд, где п — число, определенное для данного правила (scan);

явная и неявная активизация другим правилом — путем при¬менения операций фокусирования — focus или invoke;

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

определенное отношение между объектами установлено или уничтожено;

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

Если первые два способа достаточно распространены и в ста¬тических экспертных системах, а третий хорошо известен как механизм запуска процедур- демонов, то остальные — уникаль¬ная особенность самой системы G2. Методы с 5-го по 9-й явля¬ются основой для обработки данных на базе управления событи¬ями. Особый интерес представляют операции фокусировки или концентрации внимания. Операция focus позволяет в определен¬ной момент работы приложения сконцентрироваться только на тех правилах, которые касаются определенного объекта, а опера¬ция invoke — на правилах определенной, заранее введенной пользователем категории, что резко повышает эффективность прикладной системы.

Несмотря на то, что продукционные правила обеспечивают достаточную гибкость для описания реакций системы на изме-нения окружающего мира, в некоторый случаях, когда нам не-обходимо выполнить жесткую последовательность действий, например запуск или остановку комплекса оборудования, более предпочтительным является процедурный подход. Язык програм¬мирования, используемый в G2 для представления процедурных знаний, — достаточно близкий родственник Паскаля. Кроме стан¬дартных управляющих конструкций этот язык расширен элемен¬тами, учитывающими работу процедуры в реальном времени: ожидание наступления событий, разрешение другим задачам пре¬рывать выполнение данной процедуры, директивы, задающие последовательное или параллельное выполнение операторов. Еще одна интересная особенность языка — итераторы, позволяющие организовать цикл над множеством экземпляров класса. Перечис¬ленные свойства языка позволяют системе одновременно выпол¬нять множество различных процедур или нескольких копий од¬ной и той же процедуры для различных объектов.

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

Мощность языковых конструкций для представления про-дукционных правил и число способов их возбуждения в RTworks также гораздо слабее, чем в G2. В RTworks используются только механизмы построения прямой и обратной цепочек рассужде¬ния и сканирования правил.

Работа TDC Expert основана не на системе продукций, а на дереве решений. Поэтому разрабатываемые приложения покры-вают гораздо более узкий круг задач, чем в G2 или RTworks. Правил в привычном смысле в TDC Expert не существует. Пользо¬ватель описывает конкретные ситуации (узлы дерева решений) и рекомендации оператору для них.

Рассмотрим среду разработки.

Развитая система встроенных текстовых и графических ре-дакторов системы G2 и средств визуализации знаний прибли-жает ее по возможностям к современным CASE-средствам. Уп-рощение взаимодействия разработчика с системой достигается за счет оригинального подхода, реализованного в текстовом ре-дакторе. Процесс редактирования все время направляется про-цедурой грамматического разбора, что гарантирует введение только синтаксически правильных конструкций языка. В окне редактирования появляется динамически изменяемая подсказ¬ка, указывающая, какие языковые конструкции пользователь может вводить, начиная с текущей позиции курсора. Разработ-чик может набирать вводимый текст на клавиатуре или выби-рать подходящие шаблоны из подсказки. При редактировании доступны клавиатурные команды и контекстнозависимое меню операций редактирования.

Система RTworks не обладает встроенными средствами ре-дактирования базы знаний. Приложение должно быть сначала записано в виде ASCII-файла и затем подвергнуто грамматиче-скому разбору средствами RTworks. Фирма Talarian представляет такой подход как возможность пользоваться "вашим любимым текстовым редактором". Очевидно, что отсутствие интерактив¬ных средств разработки увеличивает стоимость и продолжитель¬ность этапа создания приложения.

Создание приложения в TDC Expert заключается в заполне-нии таблиц, представляющих перечень атрибутов используемых объектов.

Сравним интерфейс с конечным пользователем.

RTworks не обладает собственными средствами для отобра-жения текущего состояния управляемого процесса. Разработчик приложения вынужден использовать систему Dataview фирмы VI Corporation, что в значительной степени ограничивает его возможности.

Интерфейс с пользователем TDC Expert ограничен возмож-ностями системы TDC 3000. То есть взаимодействие с конечным пользователем не выходит за рамки текстового режима работы.

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

Система RTworks базируется на возможностях операцион-ной системы Unix для организации распределенной обработки.

Приложения на базе RTworks имеют модульную структуру, вклю¬чающую в себя следующие процессы: коммуникационный сервер (Rtserver); подсистему получения данных (Rtdag); подсистему логического вывода (Rtie); человеко-машинный интерфейс (Rthci). Наличие интерфейса с внешними процедурами, написан-ными на Си, и использование среды Unix для поддержки рас¬пределенной обработки обеспечивает открытость системы RTworks.

К сожалению, распределенная архитектура RTworks доро¬го обходится разработчику. Во-первых, если заключение ма¬шины вывода отображается процессом Rthci, это должно быть специфицировано специальной командой машины вывода. Не-достаточно просто изменить значение в базе знаний, разработ-чик обязан еще указать имя переменной в Rthci и послать из-мененное значение коммуникационному серверу, который передаст его процессу Rthci. Во-вторых, разработка интерфей¬са Rthci, базы разделяемых данных и базы знаний, отличаю¬щихся друг от друга, требует от разработчика знания трех раз¬личных программных интерфейсов. В-третьих, эти различные среды разработки часто требуют избыточных описаний. Напри¬мер, каждая переменная Rthci должна быть описана как в сре¬де разработки Rthci, так и в спецификации базы разделяемых данных. На разработчика возлагается ответственность за то, чтобы оба описания были идентичны и при внесении измене-ний перекомпиляции были подвергнуты оба модуля. Чтобы за-дача стала еще более трудной, перечень описаний в базе разде-ляемых данных хранится в алфавитном порядке, а в Rthci — в порядке ввода. Недостатком RTworks является и односторон¬няя передача данных через процесс Rtdag. Невозможность по¬слать через Rtdag запрос на получение данных делает задачу верификации показаний и диагностики неисправности датчи-ков практически неразрешимой.

G2 предоставляет разработчику гораздо более гибкие и мощ¬ные средства для формирования распределенных приложений на базе архитектуры клиент-сервер. В зависимости от требований конкретной задачи вы можете построить систему как содруже- ство автономных интеллектуальных агентов на базе интерфейса G2-G2. При этом обмен данными осуществляется на уровне пе¬ременных через протокол ICP(Intellgint Communication Protocol). Для организации обмена вам необходимо в описании перемен¬ной, получающей значение от другого G2-npoueccopa, просто указать номер сетевого порта источника. Кроме того, вы можете разрабатывать приложение как иерархическую систему. Для это¬го фирмой Gensym разработана клиентная система Telewindows, обеспечивающая множественный доступ к централизованной базе знаний и групповую работу с приложением.

Связь с внешними источниками данных строится на основе библиотеки стандартных интерфейсов и сервера GSI (G2 Standart Interface). Подсистема GSI работает параллельно с прикладной системой как независимый обработчик событий и обеспечивает ее двустороннее (в отличие от RTworks) взаимодействие с ши¬роким спектром программируемых контроллеров ведущих фирм (Allen Bradley, GE-Fanuc, AEG Modicon), систем сбора данных (ABB, Fisher, Siemens, Yokogawa, Foxboro, ORSI), концентра¬торов данных (Dec BASEstar, Allen Bradley Pyramid Integrator, Setpoint Setcim) и развитых СУБД (Oracle, Sybase, Dec Rdb). Библиотека GSI и так называемые G2 Bridge products позволяют легко интегрировать С2-приложение и существующие системы управления.

В системе TDC Expert специальных средств для распреде-ленной обработки не предусмотрено. Средства связи с управля-емым процессом обеспечиваются комплексом TDC 3000.

Остановимся на переносимости прикладных систем.

Больной вопрос для всех профессиональных программис-тов — переносимость разрабатываемых приложений — в рамках G2 решается элементарно просто. База знаний сохраняется в обычном ASCII-файле, который однозначно интерпретирует¬ся на любой из поддерживаемых платформ. Перенос приложе¬ния не требует его перекомпиляции и заключается в простом переписывании файлов БЗ. Функциональные возможности и вне¬шний вид приложения не претерпевают при этом никаких из¬менений.

Система RTworks также доступна на широком спектре Unix- платформ. Однако отсутствие поддержки Open VMS для рабочих станций фирмы DEC и Windows NT для систем на базе процес¬соров DEC Alpha и Intel ограничивает возможность переносимо¬сти RTworks-приложений по сравнению с G2-приложениями.

TDC Expert работает только на мини-ЭВМ семейства VAX под управлением операционной системы VMS. Мало того, ин-терфейс с устройствами сбора данных предусмотрен только для серии TDC 3000. Эти жесткие ограничения заставили фирму Honeywell использовать в своих разработках для систем управле¬ния (в том числе и на базе TDC 3000) оболочку экспертных систем реального времени G2 фирмы Gensym вместо собствен¬ной системы TDC Expert.

Из приведенного сравнения видно, что именно G2 целесо-образно брать за основу построения интеллектуальной надстройки к существующим системам сетевого управления, таким, как HP Open View или SunNet Manager. В свете изложенного далее речь будет идти преимущественно о G2 и продуктах ее семейства.

Продукты фирмы Gensym для сетевого управления — это не системы управления сетями в привычном понимании, поэтому с традиционными средствами они не конкурируют. Они пред¬ставляют собой скорее надстройки для повышения эффектив¬ности сетевого управления. Инструментальные средства фирмы Gensym широко используются ведущими фирмами, разработ¬чиками прикладных систем управления телекоммуникационны¬ми сетями, такими, как Stanford Telecom, AT & Т, Intelsat.

Еще раз кратко подчеркнем достоинства продуктов Gensym в данной предметной области:

единый интуитивно понятный пользовательский интерфейс для всех продуктов, позволяющий значительно сократить затра¬ты на обучение операторов;

использование парадигмы объектно-ориентированного про¬граммирования;

полная открытость, расширяемость и настраиваемое^, облегчающая модификацию программного обеспечения и под-гонку системы под конкретные условия организации;

возможность выступать в роли клиента, сервера или интел-лектуального агента по отношению к любой из традиционных систем в зависимости от архитектуры приложения;

полная поддержка средств работы в реальном времени;

визуальное программирование, повышающее удобство ра-боты с системой;

встроенные средства идентификации и разграничения прав пользователей как при входе в систему через клиентское прило-жение Tele windows, так и при работе с ней;

наличие средств доступа к С2-приложениям из WWW через WebLink-специальный продукт Gensym для работы с Internet, что снижает требования к аппаратному обеспечению клиент-ского места и в то же время упрощает работу с системой;

инкрементная компиляция, позволяющая модифицировать код даже в процессе выполнения приложения.

Для облегчения разработки собственных интеллектуальных систем сетевого управления или надстроек над существующими фирма Gensym создала Fault Expert — специализированную ин¬струментальную среду для работы с сетями. Внедрение Fault Expert совместно с G2 обеспечивает более высокую скорость реагиро¬вания на возникающие проблемы и более высокую надежность системы. Fault Expert имеет возможность обнаруживать, обоб¬щать и ранжировать по приоритетам неполадки в работе сети, что приводит в конечном счете к повышению производительно¬сти работы оператора. Так как G2 и Fault Expert просты в обра¬щении, требования, предъявляемые к квалификации операто¬ра, снижаются.

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

установление взаимосвязей между сообщениями, фильтра-цию сообщений и индикацию наиболее важных из них;

моделирование причин неисправностей для разделения ис-ходных и косвенных сигналов тревоги;

архивирование потоков сигналов и сообщений для анализа и предсказания возможных неисправностей.

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

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

Fault Expert унаследовала преимущества всех существующих мостов между G2 и внешними программами , Разработчику доступ¬ны готовые высокопроизводительные интерфейсы с такими база¬ми данных, как Oracle, Sybase, Informix. Есть интерфейсы для рас¬пространенных сетевых менеджеров. Эти интерфейсы поддерживают SNMP-протокол и службы управления событиями. Кроме того, имеются средства сопряжения для множества других систем. Данные возможности позволяют легко интегрировать решение на базе G2/Fault Expert с уже существующими на предприятии платформа¬ми сетевого управления, добавляя к ним дополнительные функции.

В последнее время в системах управления стали использо-вать в качестве регуляторов динамическими объектами такие со¬временные программные средства, как нейронные сети и среды типа A-life.

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

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

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

Возможны несколько типов классификации существующих нейросетей.

По типу входной информации:

сети, анализирующие двоичную информацию (сети Холфил- да, Хеминга),

сети, анализирующие информацию в форме действитель-ных чисел (сети Гроссберга, Кохонена, ART-системы).

По методу обучения:

сети, которые для удовлетворения поставленным критери-ям требуют предварительного обучения перед включением их в реальную обстановку — модели с учителем (backpropagation),

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

По характеру распространения в сетях информации:

однонаправленные сети, в которых информация распро-страняется только в одном направлении от одного слоя элемен-тов к другому,

рекуррентные сети, в которых выходной сигнал элемента может вновь поступать на этот элемент и другие элементы сети этого же или предыдущих слоев в качестве входного сигнала.

Существуют различные правила обучения нейросетей, из которых наиболее часто используются синхронное, оптимизи-рующее, конкурентное обучение, "filter " и пространственно- временное. Целью всех типов обучения является определение весовой матрицы сети, позволяющей удовлетворять поставлен-ным перед функционирующей сетью критериям.

Самооптимизация позволяет нейросетям "конструировать" самих себя. При этом системный разработчик вначале определя¬ет архитектуру нейросети и способ соединения ее с другими частями системы и выбирает метод обучения сети. Затем нейро- сеть адаптируется к данному приложению. Причем адаптивность позволяет нейросети успешно функционировать даже тогда, когда окружение, в котором работает объект, изменяется с течением времени. Полученную на основе нейросети систему путем неко¬торой подстройки (изменением числа нейронов в слое и числа слоев) можно использовать для решения широкого круга задач, что может сократить время новой разработки.

Для того чтобы система могла решать неполностью опреде-ленные задачи (когнитивность познания) так же, как это спо-собен делать человек, можно инкорпорировать концепцию не-четкой логики в нейронные сети. Тогда получаются так называемые гибридные системы, которые еще называют нейро- фаззисистемами или фаззи-нейросетями [16]. Гибридные систе-мы сочетают достоинства нечетких систем с нейросетями, обес-печивая механизм вывода с учетом нечеткости познавательного процесса и возможностью обучаемости, адаптируемости и па-раллельности вычислений.

Существуют три основные модели функционирования ней - ро-фаззисистем:

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

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

В artificial life (AL — искусственная жизнь) нет жесткого за-дания реакции внешнего мира, сужающего область применения генетических алгоритмов (GA). AL — это обобщающий метод построения динамических моделей, базирующийся на генети-ческих алгоритмах, методах теории хаоса, системной динамики и др.[10, 11]. Один из главных аппаратов, на который опирается AL, —- это GA.

Самое общее определение AL дает журнал «Midrange Systems», трактуя AL как "компьютерное моделирование живых объектов". Однако на практике к AL принято относить компью¬терные модели, обладающие рядом конкретных особенностей.

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

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

Использование НК для решения задач управления требует проведения ряда предварительных процедур, связанных с коди­рованием входной и выходной информации, выбором архитек­туры НС, алгоритмов обучения, способов оценки и интерпре­тации получаемых результатов и т.д., т.е. настройки НК на конкретную задачу управления.

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

В состав нейронного регулятора (HP) входят следующие основные блоки (рис. 4.2): менеджер (управляющий модуль),

Рис. 4.2. Структура нейронного регулятора

интерфейсы ввода и вывода, предобработчик (препроцессор), интерпретатор, нейроимитатор. В свою очередь, в нейроими- татор включает нейросеть (НС), учитель (при реализации стра­тегии обучения с учителем), конструктор, блок оценки и блок отбора информативных признаков. Основным компонентом нейроимитатора является искусственная НС.

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

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

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

Качество обучения НС определяется оценкой (ошибкой обу­чения) на примерах из обучающей выборки, а эффективность решения конкретной задачи предметной области определяется оценкой (ошибкой обобщения) на тестовой (контрольной) выборке. Эти оценки вычисляются в блоке оценки. В случае, если указанные ошибки превышают заданные допустимые пределы, необходимо вернуться на предыдущие этапы построения ней- росетевой модели и изменить ее параметры.

Наиболее важным блоком НР является база данных, содер­жащая примеры для обучения и контроля функционирования НС. Важность этого блока определяется тем, что обучение сетей всех видов с использованием любых алгоритмов обучения вы­полняется на известных примерах решения поставленной зада­чи. Кроме того, база данных содержит правильные ответы для НС, обучаемых с учителем. Очевидно, невозможно предусмот­реть все варианты интерфейса между пользователем и базой дан­ных, так как примеры могут иметь числовые поля, содержать графическую информацию или представлять собой текст. Наи­более подходящим форматом представления входной информа­ции является формат табличных (реляционных) баз данных.

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

Формат ответов НС в явном виде часто оказывается непо­нятным для интерпретации человеком получаемых результатов. Ответ, выдаваемый НС, как правило, является вещественным числовым вектором. Если при решении какой-то прикладной задачи требуется получить ответ, например в градусах по шка­ле Кельвина или в дюймах, то необходимо преобразование вы­ходного вектора. Представление ответа НС при решении задач классификации, когда необходимо для каждого входного век­тора определить принадлежность его определенному классу, также вызывает определенные трудности. Эта задача может быть решена следующим образом. Пусть имеется К классов. Каждому выходному нейрону НС поставим в соответствие номер класса. При подаче на вход обученной НС некоторого входного векто­ра на ее выходе будет получен вектор, состоящий из К сигна­лов. Единого универсального правила интерпретации этого век­тора не существует. Наиболее часто используют оценку по максимуму: номер нейрона, выдавшего максимальный по ве­личине сигнал, является номером класса, к которому относит­ся предъявленный сети вектор, Интерпретатор напрямую взаи­модействует с пользователем через интерфейс вывода, следовательно, от качества его организации зависит эффек­тивность работы HK.

Управление операциями подготовки входных данных, обу­чения, тестирования НС, интерпретации выходныхданных ocy- шествляется менеджером проекта сети.

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

  • программное — все элементы НР реализуются программ­но на универсальных ЭВМ с архитектурой фон Неймана;

  • аппаратно-программное — часть элементов реализуется аппарагно, а часть — программно;

  • аппаратное — все элементы НР выполнены на аппаратном уровне, кроме специфических программ формирования синап- тических коэффициентов.

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

Второе и третье направления аппарагно реализуются на за­казных кристаллах (3K-ASIC), встраиваемых микроконтролле­рах (МК-цС), процессорах общего назначения (GPP), програм­мируемых логических интегральных схемах (ПЛИС-FPGA), транспьютерах, цифровых сигнальных процессорах (ЦСП-DSP), нейрочипах (НЧ), оптических и оптико-электронных нейронах (ОН и ОЭН), логических элементах (ОЛЭ и ОЭЛЭ) и волокон­но-оптических и оптико-электронных линиях связи (ВОЛС и ОЭЛС) и информационных каналах (ВОИК и ОЭИК). Имеется много примеров практической реализации НК на различной эле­ментной базе, однако все больше ученых и разработчиков отда­ют предпочтение ЦСП, ПЛИС, нейрочипам и ОЭИК.

Следует отметить, что второе направление характерно тем, что аппаратная часть нейровычислительного модуля выполня­ется в виде платы расширения для универсальной ЭВМ, имею­щей, как правило, архитектуру фон Неймана. В таких платах ап- паратно, например, может выполняться операция взвешенного суммирования, а операция нелинейного преобразования — про- граммно-базовой ЭВМ. Такие платы расширения получили на­звание нейроускорители.

Если вычислитель спроектирован по архитектуре, представ­ленной на рис. 4.1, то его основной операционный блок выпол­няет все операции в нейросетевом базисе, а в запоминающем устройстве хранится не программа решения конкретной задачи, а программа формирования синаптических коэффициентов. Если его блок обучения на аппаратном или программном уровне реализует конкретный алгоритм обучения НС, то такой вычис­литель следует отнести к собственно HK.

Рассмотрим некоторые вопросы применения для построе­ния нейровычислителей второго и третьего направлений ПЛИС., ЦСП, НЧ, ОН, ОЭН, ОЛЭ и оэлэ.

Особенности ПЛИС как элементной базы НК рассмотрим на примере ПЛИС фирмы XILINX типа FPGA (Field Prog­rammable Gate Array). ПЛИС XILINX (в дальнейшем просто ПЛИС) представляет собой массив конфигурируемых логичес­ких блоков (КЛБ) с полностью конфигурируемыми высокоско­ростными межсоединениями. Нарис. 4.3 представлена обобщен­ная структурная схема ПЛИС XILINX серии XC4000. Весь массив КБЛ и конфигурируемые межсоединения расположены на кри­сталле. По периферии кристалла расположены блоки ввода-вы­вода, из которых каждый включает два триггера: один для вво­да, другой для вывода информации. Кроме того, сюда включена логика дешифрации и цепи контроля высокоомных состояний.

Рис. 4.3. Обобщенная структура ПЛИС XILINX серии XC4000

На рис. 4.4 приведена упрощенная структура КБЛ ПЛИС се­рии XC4000/Spartan. Каждый КБЛ состоит из следующих уст­ройств: двух просмотровых таблиц XILINX 16x1 — LUT-таблиц (Look Up Table), двух блоков логики ускоренного переноса, двух триггеров. Время распространения сигналов через устройства КБЛ составляет: через LUT-таблицу — около 0,5 нс, через блок уско­ренного переноса — 0,1 нс, время переключения триггеров — не более 0,5 нс.

Внутренние межсоединения ПЛИС конфигурируются пользо­вателем и дают задержку по кристаллу между двумя произволь­ными точками не более 5 нс.

На одном КБЛ ПЛИС можно реализовать полный двухраз­рядный сумматор. Каскадное соединение двухразрядных сумма­торов позволяет построить сумматор 16-разрядных чисел. Время суммирования двух 16-разрядных чисел составит 5 нс при такто­вой частоте 200 МГц. Кроме того, каждый КЛБ ПЛИС серии XC4000 можно конфигурировать в виде блока высокоскоростно­го синхронного ОЗУ 3281 или двух блоков ОЗУ 1681, или двух­портового ОЗУ 1681, что позволяет совместно с имеющимся блоч­ным ОЗУ строить мощные высокопроизводительные системы.

Рис. 4.4. Упрощенная структура КБЛ ПЛИС серии XC4000/Spartan

Из рис. 4.3 видно, что ПЛИС имеет матричную структуру. Элементарной ячейкой матрицы является КБЛ. Такое построе­ние кристалла ПЛИС позволяет организовывать иерархические структуры НС. На низшем иерархическом уровне таких структур стоит двухразрядный полный сумматор, построенный на базе КБЛ. Следующий уровень в иерархии занимает сумматор, на­пример 16-разрядныхдвоичныхчисел. На базе сумматоров стро­ятся умножители. Далее, на более верхнем уровне иерархии, стоит отдельный нейрон, а из нейронов строят фрагменты НС. На рис. 4.5 показан принцип иерархического фрагмента НС.

Рис. 4.5. Иерархия фрагмента НС: а — фрагмент НС; б — топология одного нейрона; в — топология одного умножителя; г — топология параллельного сумматора

Фирмой "Scan Engineering Telecom" на основе элементар­ного массива КБЛ разработана библиотека простейших ариф­метических блоков, таких, например, как сумматоры, умножи­тели, компараторы, некоторые виды нейронов. Это облегчает и ускоряет работу разработчика.

Многоуровневая конвейерная структура НС на базе ПЛИС серии XC4000 обеспечивает время вычисления одного нейрона 6 нс (для нейрона с 8-ю 8-разрядными входами). А поскольку в такой структуре все нейроны работают параллельно, то обра­ботка в общем случае N-мерного входного вектора происходит также за 6 нс. Иерархическая структура по своей природе много­тактовая. Поэтому выходной К-мерный отклик сети поступает на выход относительно входного с некоторой задержкой. В об­щем случае этот факт не снижает быстродействия сети, так как конвейер обеспечивает единый такт приема входной информа­ции и выдачу выходной. Для рассматриваемой ПЛИС такт при­ема может быть равен 6 нс.

В нейронах фирмы "Scan Engineering Telecom "входной век­тор может иметь размерность от 2 до 16. Соответственно в этом диапазоне изменяется и число синаптических коэффициентов. Разрядность входных данных и разрядность коэффициентов мо­жет меняться независимо по каждой координате от 1 до 16. Раз­рядность внутренних данных (выходные данные умножителей и дерева сумматоров), как правило, устанавливается равной раз­рядности входных данных, хотя при необходимости разработ­чик может ею варьировать. Наиболее просто в рассматриваемой ПЛИС могут быть реализованы функции активации либо в виде операции вычисления знака взвешенной суммы, либо в виде операции сравнения с загружаемым порогом (аппаратный ком­паратор).

В настоящее время фирмой "Scan Engineering Telecom" раз­работано пять подходов реализации нейрона, отличающихся быстродействием и аппаратными затратами:

  1. наибольшее быстродействие, значительные аппаратные ресурсы, загрузка весовых коэффициентов (обучение) в реаль­ном масштабе времени;

  2. среднее быстродействие, малые аппаратные ресурсы, загрузка весовых коэффициентов в реальном масштабе времен;

  • высокое быстродействие, средние аппаратные ресурсы, загрузка весовых коэффициентов не в реальном масштабе вре­мени;

  • среднее быстродействие, малые аппаратные ресурсы, загрузка весовых коэффициентов не в реальном масштабе вре­мени;

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

В первом подходе используются восемь конвейерных умно­жителей 8x8 бит в дополнительном коде, выполненных по алго­ритму Бута, свертывающееся дерево сумматоров и компаратор с загружаемым 8-разрядным порогом.

Реализация нейрона во втором подходе осуществляется с использованием восьми параллельно-последовательных 8-раз- рядных умножителей, 16-разрядного аккумулятора частичных произведений с временным мультиплексированием, использу­ющих внутренние буферные регистры с тремя устойчивыми со­стояниями. Компаратор с загружаемым пороговым значением аналогичен используемому в предыдущем подходе. Синхронные элементы схемы функционируют на частоте 80 МГц, в то время как период загрузки новых данных и соответственно времени активизации нейрона составляет 100 нс (100 МГц). Смена значе­ний 8-разрядных весовых коэффициентов и пороговой функции может осуществляться также с периодом 100 нс.

Следующие три подхода используют принципы распределен­ной арифметики, что позволяет экономить аппаратные ресурсы, сохраняя быстродействие, соизмеримое с реализациями тради­ционных методов. Применение параллельной распределенной арифметики (PDA — Parallel Distributed Arithmetic) в третьем под­ходе позволяет более чем вдвое сократить аппаратную реализа­цию, сохраняя высокое быстродействие. Период полного обнов­ления всех 8-разрядных весовых коэффициентов нейрона в этом случае составит 160 нс. Применениедля четвертого подхода пос­ледовательной распределенной арифметики (SDA — Serial Distributed Arithmetic) дает еще больший выигрыш в экономии аппаратных ресурсов. В таком случае на один нейрон потребуется 85 КБЛ, что составляет 3 % от возможностей ПЛИС XC4085XLA, а общее число нейронов, которое возможно реализовать на кри­сталле, составит 30. Рабочая частота нейронов равна 10 МГц, так­товая частота работы синхронных элементов нейрона — 90 МГц, время полного обновления весовых коэффициентов составляет 160 нс.

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

На рис. 4.6 приведена обобщенная структурная схема НС на ПЛИС XILINX. Основой вычислителя является матрица из ПЛИС 1-4, связанных максимально возможным числом межсоедине­ний. Размерность матрицы определяется разработчиком и в об­щем случае не имеет ограничений. В каждом столбце матрицы из ПЛИС размешаются от одного до нескольких слоев НС. Нара­щивание числа строк в матрице эквивалентно увеличению раз­мерности входного и выходного векторов.

Входной демультиплексор и выходной мультиплексор раз­мещаются непосредственно в ПЛИС крайних столбцов и пред­назначены для ввода-вывода данных на стандартный интерфейс (системную шину).

Управляющий контроллер служит для общей синхрониза­ции работы сети, организации процесса обучения и загрузки весовых коэффициентов. Он связан с контроллером стандартно­го интерфейса (PCI, VME) и имеет специфический набор ко­манд, необходимых и задаваемых разработчиком. Через стандарт­ный интерфейс осуществляется связь сети с достаточно медленными по сравнению с возможностями межсоединений ПЛИС периферийными устройствами, например персональным компьютером, где осуществляется визуализация и частичная обработка передаваемой и принимаемой из сети информации.

Разработчики ПЛИС Л7£/Л^Хпредусмотрели возможность кас­кадирования матрицы, что позволяет конструировать сети более высокой размерности. Каскадирование осуществляется с исполь­зованием корпусов BG560 (серия Virtex), имеющих514 пользова­тельских выводов, позволяющих осуществлять двунаправленный

Рис. 4.6. Обобщенная структурная схема нейронной сети на ПЛИС XILINX

ввод-вывод данных с пропускной способностью 103Гбит/с. На­ращивание осуществляется через горизонтальные (ПЛИС 1 и ПЛИС 2, ПЛИС 3 и ПЛИС 4 на рис. 4.6) и вертикальные (ПЛИС 1 и ПЛИС 3, ПЛИС 2 и ПЛИС 4 на рис. 4.6) шины. Пропускная способность ограничивается лишь пропускной спо­собностью физических межсоединений. Поэтому последние це­лесообразно выполнять волоконно-оптическими.

Фирмой "Scan Engineering Telecom" предложен следующий вариант реализации аппаратно-программного направления кон­струирования нейровычислителей на нейросетевой платформе XNeuro-1.0, структурная схема которой приведена на рис. 4.7. На основе обрабатывающих модулей XDSP-680 и XDSP-4M состав­ляется матрица ПЛИС, подобно приведенной на рис. 4.6. Модули объединяются двумя путями: через стандартный интерфейс — для осуществления управляющих и обучающих функций, и высоко­скоростными прямыми портами межслойных и внутрислойных связей. В качестве управляющего контроллера можно использо­вать универсальный процессор Pentium. Модули, выполненные

Рис. 4.7. Структурная схема системы XNeuro-1.0

в соответствии со стандартом на шину PCI, поддерживают Plug&Play протокол PCI версии 2.1. Система Х№иго-1.0допуска- ет установку до 18 модулей типа XDS, имеет в резерве два слота для установки контроллера на Pentium и платы видеоадаптера.

Нейронная сеть, реализованная на базе XNeuro-1.0, имеет следующее число нейронов, рассмотренных выше (подход 4):

  1. 103000 для XDSP-680 с установленными ПЛИС XCV1000E;

  2. 7500 для XDSP-3M с установленными ПЛИС XCV2600E.

В самом конце семидесятых годов прошлого столетия по­явились цифровые сигнальные процессоры (ЦПС — DSP — Digital Signal Processor), что было обусловлено желанием раз­работчиков систем управления сложными динамическими объектами включать в свои проекты именно цифровые вычис­лительные устройства, обеспечивающие высокие точностные характеристики систем.

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

ЦПС имеют ряд архитектурных особенностей, которые с успехом могут быть использованы при построении HK. К та­ким особенностям следует отнести наличие в их системе ко­манд операции умножения с накоплением MAC (D: = АВ + D. При этом в команде указывается глубина цикла и правило из­менения индексов элементов массивов А и В). Эта команда наилучшим образом соответствует операции взвешенного сум­мирования в адаптивном сумматоре нейрона. Выше кратко рас­сматривались особенности архитектуры процессоров. Напом­ним эти особенности. Операция умножения двух чисел в ЦПС выполняется за один командный цикл, что также существенно повышает производительность вычислительного устройства. При выполнении арифметической операции необходимо осуще­ствить выборкудвух операндов, собственно операцию и сохра­нить результат или удержать его до повторения. Если архитек­тура вычислительного устройства имеет одну шину данных, одновременно выполнить эти операции (за один такт) невоз­можно. Гарвардская архитектура (SHARC— Syper Harvard Architectur) предполагает наличие двух физически разделенных шин: одну для команд, вторую — для данных. Можно устано­вить три раздельных шины — для двух операндов и для коман­ды, что значительно повышают стоимость микросхемы. В ком­промиссном варианте применения лишьдвух шин в архитектуре процессора используется кэш-память, которая хранит те ко­манды, которые будут вновь использоваться, оставляя свобод­ными шины команд и данных. Гарвардская архитектура с кэш­памятью получила название расширенной гарвардской архитектуры. Многие ЦПС построены по гарвардской и расши­ренной Гарвардской архитектуре.

Перспективным является построение вычислительных уст­ройств по новой архитектуре — TrigerSHARC, сочетающей в себе высокую степень конвейеризации и программируемость RISC- процессоров, SHARC-ядро, структуру памяти, особенности реа­лизации интерфейса ввода/вывода ЦПС, параллелизм на уров­не команд VLIW(Very Long Instruction Word)-apxHTeKTyp.

На рис. 4.8 приведена схема, поясняюшая принцип архи­тектуры TrigerSHARC.

Как видно из рисунка, в системе имеются два вычислитель­ных блока Хи Y( ВБХи ВБУ ), каждый из которых имеет реги­стровый файл (РгФ). Объем РгФ составляет 32 слова по 32 раз­ряда каждое. Вычислительный блок может выполнять все операции обычного арифметико-логического устройства (модуль ALU), однотактного умножения, включая умножение с накопле­нием (модуль MAQ, различные регистровые операции (сдвиги, инверсия и т. п., модуль Shift). Данные для работы модулей ALU, MAC, Shift выбираются из регистрового файла, туда же записы­ваются результаты работы этих модулей. Большое число регист­ровой памяти способствует эффективному применению языков программирования высокого уровня.

Высокая внутренняя скорость передачи информации дос­тигается применениемдвух 128-разрядных шин, связывающих

Рис. 4.8. Архитектура TrigerSHARC

регистровый файл с тремя 128-разрядными системными ши­нами. Обе шины вычислительного блока позволяют одновре­менно выполнять операцию чтения из памяти (блоки ЗУ1, ЗУ2, ЗУЗ), а одна шина — операцию записи в память. Такая органи­зация шин весьма эффективца для вычислительных систем, ре­ализующих большое число математических операций.

Архитектура TrigerSHARC предполагает три независимых блока памяти (модули ЗУ1, ЗУ2, ЗУЗ). Каждый модуль имеет 128-разрядную шину данных. Адрес доступа к данным может состоять из одного, двух или четырех слов, что позволяет пользо­вателю отказаться от традиционной сегментации памяти на па­мять программ и память данных. Передача данных в память и из памяти может осуществляться одновременно двумя вычислитель­ными блоками за один такт. Архитектура TrigerSHARC предус­матривает наряду с внутренней памятью организацию и тради­ционной оперативной.

Генератор адресов команд определяет порядок и правиль­ность их выполнения во всех модулях. Буфер конечного перехо­да (Branch Target Buffer) предсказывает переходы в программе и записывает адреса этих переходов. Объем буфера составляет 128 ячеек. Предсказание переходов с сохранением их адресов позволяет осуществлять эту операцию за один цикл вместо 3—6 в традиционной организации.

Объединение процессоров, выполненных по архитектуре TrigerSHARC, позволяет проектировать нейроускорители с об­ширными функциями.

Оценкой производительности ЦПС является число типовых операций (обычно миллионов операций) цифровой обработки сигналов в единицу времени. Ктаким типовым операциям отно­сятся фильтрация, быстрое преобразование Фурье, преобразо­вание Уолша и др. Для оценки производительности нейровы- числителей используют следующие показатели:

  1. CUPS (connections update per second} — число изменений значений весов в секунду (оценка скорости обучения);

  2. CPS (connections per<second) — число соединений в секунду;

  3. CPSPW = CPS/Nw — число соединений на один синапс (здесь Nw число синапсов в нейроне);

  4. CPPS число соединений примитивов в секунду, CPPS = CPU Bw Bs (здесь Bw — разрядность весов, Bs разряд­ность синапсов);

  5. ММАС— миллион умножений с накоплением в секунду.

Специализированную сверхбольшую интегральную схе­му, ориентированную на реализацию нейросетевых алгорит­мов, принято называть нейрочипом (СБИС-нейрочип). Раз­работкой нейрочипов занимаются многие фирмы в различ­ных странах. Значительный рост выпуска СБИС-нейрочипов наметился с середины 1990-х годов.

По принципу построения, по назначению и характеристи­кам они сильно отличаются друг от друга. На рис. 4.9 приведена схема классификация СБИС-нейрочипов.

По виду информационного носителя нейрочипы делятся на аналоговые, цифровые и гибридные.

Аналоговая элементная база характеризуется большим быс­тродействием и низкой стоимостью, что в значительной мере способствует ее производству. Самыми простыми являются СБИС с битовыми весовыми коэффициентами, которые, как правило,

Рис. 4.9. Схема классификации нейрочипов

настраиваются, с фиксированными весовыми коэффициентами и полными последовательными связями. В аналоговой технике широко применяется частотно-импульсная модуляция. Аппара­тура, использующая эту модуляцию, характеризуется низким энергопотреблением и высокой надежностью. Отметим, что в биологических НС сигналы представляются именно частотно- импульсной модуляцией. Очевидно, что эти факторы и способ­ствовали появлению на рынке аналоговых СБИС-чипов с гакой модуляцией сигнала.

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

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

Отдельным классом выделяют нейросигнальные процессо­ры. Ядро этих СБИС представляет сигнальный процессор, а реа­лизованные на кристалле специальные дополнительные модули обеспечивают выполнение нейросетевых алгоритмов. Таким до­полнительным модулем, например, может быть векторный про­цессор.

Возможности микроэлектроники и запросы потребителей привели к созданию проблемно-ориентированного направления выпуска нейрочипов. Можно выделить следующие области их проблемной ориентации [42]:

  1. обработка, сжатие и сегментация изображения;

  2. обработка стереоизображений;

  3. выделение движущихся целей на изображении;

  4. обработка сигналов;

  5. ассоциативная память.

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

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

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

В научно-техническом центре "Модуль" (Россия, Москва) разработан нейропроцессор J11879BM1 (NeuroMatrix 7VA/6403) [43]. Он представляет собой высокопроизводительный микро­процессор со статической суперскалярной архитектурой. Одним из назначений JI1879BM1 является аппаратная эмуляция разно­образных типов нейронных сетей.

JT1879BM1 предназначен для обработки 32-разрядных ска­лярных данных и данных программируемой разрядности, упа­кованных в 64-разрядные слова, которые в дальнейшем будут называться векторами упакованных данных. Структурная схема нейропроцессора JI1879BMl приведена на рис. 4.10.

Рис. 4.10. Структурная схема нейропроцессора JI1879BM1

Основой нейрочипа является центральный процессор RfSC CORE. Он предназначен для выполнения арифметико-логиче­ских операций и операций сдвига над 32-разрядными скаляр­ными данными, формирования 32-разрядных адресов команд и данных при обращении к внешней памяти и выполнения всех основных функций по управлению работой нейропроцессора.

Выборка команд из внешней памяти осуществляется 64-раз- рядными словами, каждое из которых представляет собой одну 64- или две 32-разрядные команды.

Нейропроцессор использует 32-разрядный вычисляемый адрес при обращении к внешней памяти. Доступное адресное пространство нейропроцессора равно 16 Гбайт. Оно делится на две равные части — локальное и глобальное. На рис. 4.11 пока­зано распределение адресного пространства нейропроцессора.

Ядром нейропроцессора является блок RISC CORE (см. рис. 4.10). Он состоит из регистрового арифметико-логического устройства (РАЛУ — RALU), двух генераторов адресов данных {DAGl,DAG2), генератора адресов команд (Programm Seqimcer) и блока управления (Control Unit).

Нейропроцессор поддерживает одно внешнее прерывание и девять внутренних:

• два прерывания от таймера;

Рис. 4.11. Распределение адресного пространства нейропроцессора Л1879ВМ1

  • прерывание по переполнении при выполнении арифмети­ческих операций в RISC-ядре;

  • прерывание по запрещенной векторной команде;

  • четыре прерывания от каналов ввода/вывода но заверше­нии обмена через коммуникационные порты;

  • пошаговое прерывание в режиме отладки.

Векторный сопроцессор VCP. Этот блок (см. рис. 4.10) ори­ентирован на обработку данных произвольной разрядности от 1 до 64, упакованных в 64-разрядное слово. Сопроцессор вклю­чает в себя следующие блоки:

  • OU — операционное устройство;

  • RCS циклический сдвигатель вправо на один разряд;

  • SU1, SU2 — узлы аппаратной реализации функции насы­щения;

  • FlCR, F2CR — регистры управления узлами насыщения;

  • SWITCH 3->2 — коммутатор 3 в 2;

  • WBUFvL WOPER — матрицы памяти весовых коэффициентов;

  • WFIFO-FIFO весовых коэффициентов;

  • AFIFO — накопительное FIFO;

  • RAM— векторный регистр;

  • VR — регистр порогов.

Нейропроцессор содержит два идентичных высокоскорост­ных коммуникационных порта ввода/вывода CP0 и CPl, каж­дый йз которых обеспечивает двунаправленный интерфейс для связи с внешним устройством.

Нейропроцессор JI1879BM1 поддерживает как однопроцес­сорный, так и многопроцессорный режим работы по любой из двух внешних шин с использованием двух коммуникационных портов CP0 и CPl. На рис.4.12 приведена структурная схема линейной" многопроцессорной системы. Если соединить выход последнего каскада такой схемы со входом первого, как показа­но пунктиром на рис. 4.12, то можно получить кольцевую мно­гопроцессорную структуру.

На рис. 4.13 представлена структурная схема матричной мно­гопроцессорной системы на базе микропроцессора JI1879BM1. Если соединить через коммуникационные порты СЮ и СР\ выходы крайнего правого столбца схемы со входами крайнего левого, то получится схема в виде вертикального цилиндра.

Рис. 4.12. Структурная схема линейной многопроцессорной системы

Очевидно, что схему горизонтального цилиндра можно по­лучить, соединив по внешним шинам L-bns и G-bus входы/вы­ходы крайних верхней и нижней линеек процессоров. Если со­единить правые и левые входы/выходы у горизонтального цилиндра или верхние и нижние входы/выходы у вертикально­го цилиндра, то получим тороидальные многопроцессорные си­стемы. При обмене информацией через общую память внешняя шина, соединяющая два нейропроцессора, должна быть локаль­ной (L-bus) для одного из них и глобальной {G-bus) для другого. Скорость обмена информацией через порты CP0 и CPl состав­ляет 20 Мбайт в секунду.

В нейропроцессоре применяются четыре основные груп­пы команд: управления скалярные, управления векторные, пересылки, модификации адресных регистров. В каждой ко­манде программист имеет возможность задать операцию об­работки операндов. Команды имеют фиксированную длину 32 или 64 разряда. Все команды выполняются за один такт синх­ронизации.

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

Рис. 4.13. Структурная схема матричной многопроцессорной системы

Рис. 4.14. Схемадефлекторного фаззификатора

Рассмотрим варианты реализации оптических и оптико-элек- тронных элементов НС.

Простейшая дефлекторная схема оптического фаззифика- тора показана на рис. 4.14.

Коллимированный луч света диаметром d от источника А отклоняется дефлектором F таким образом, что засвечивает, в зависимости от угла v(x), одно из отверстий маски М. Угол отклонения зеркала дефлектора v является функцией входной величины х. За маской устанавливаются либо фотоприемники, либо оптические элементы канализации света для передачи сигналов (при необходимости — после нормализации) через оптико-электронную линию связи (ОЭЛС) либо через воло­конно-оптическую линию связи (BOJlC) на последующую об­работку. Выходной функцией системы является площадь за­светки фогоприемника ОЭЛС, либо входной апертуры ВОЛС S., где /' — номер засвеченного отверстия маски. При диаметре отверстий D = d, их шаге W 1,5Д постоянном расстоянии от дефлектора до маски, квадратных сечениях отверстий и пучка вид зависимости £.(□), а следовательно, и S.(x), примет вид, показанный на рис. 4.15.

Если принять входной сигнал описанной дефлекторной сис­темы как "четкий" входной параметр х, то площадь засветки каж­дого отверстия маски SP отнесенная к 5^, будет соответствовать величине A(x) (рис. 4.15) для каждого /-ro терма. Интерпретируя пример лингвистически, можно сказать, что, если входной вели­чиной х является температура (ф = at), то засветка первого отвер­стия маски будет соответствовать значению температуры "низкая", второго — "средняя", и третьего — "высокая" с соответствующи­ми значениями At(t) — bS,(ф), где b некоторый коэффициент.

Рис. 4.15. Пример функции засветки 5,(ф)

откуда видно, что >5" можно рассматривать, как некоторый оп­тический аналог (модель) А, а функцию 5(ф) — аналог (модель) функции принадлежности.

Соотношения диаметров пучка света d, отверстий маски D и периода их следования W, равно как и форма отверстий и сечения пучка? задают вид функции принадлежности. Так, при D > d будет иметь место трапеЩидальная функция, при сечени­ях пучка и отверстий, отличных от прямоугольных, вид функ­ции будет близок "колокообразной" и т. д.

где [а, b] — "пик" или "ядро" А,

Известно, что функция принадлежности A(t) в общем виде может быть представлена следующим образом:

есть непрерывные и невозрастающие функции с Z,(0) = R{0) = 1 и L(1) = R( 1) = 0.

Таким образом, в то время, как нечеткое множество опре­деляется множеством кортежей

вид выходной функции описываемого устройства определяется множеством

Таким образом, изменением геометрических параметров пучка света и маски, а также распределения интенсивности в пучке подбирается вид функций L и R. Более того, используя в качестве маски управляемый транспарант, можно получить устройство с переменной функцией принадлежности, что рас­ширяет функциональные возможности предлагаемой схемы.

В качестве дефлекторов можно использовать следующие элек­трооптические и акустооптические модуляторы: призменные деф­лекторы, решетки гтризменных дефлекторов, решетки канальных фазовых модуляторов и др., основанные на электрооптическом или акустооптическом эффектах/ Такие фазификаторы относятся к электронно-оптическим. При этом входной величиной будет на­пряжение, подаваемое на модулятор. На рис. 4.16 приведен при­мер схемотехнического решения акустооптического устройства, состоящего из встречно-штыревого преобразователя для возбуж­дения поверхностно-акусгической волны (ПАВ) 4, оптической вол- новодной системы (полупроводниковый лазер 1, сформирован­ные в оптическом волноводе 2 планарные линзы 3 и 5), линейки 6 фотоприемников ОЭЛС или элементов канализации света BOJlC и поглотителей ПАВ 7 и недифрагировавшего пучка света 8.

Входным параметром здесь является частота электрического сигнала U(t), в зависимости от изменения которой засвечивает­ся тот или иной фотоприемник. Такая структура практически не отличается от известной схемы спектроанализатора [44] за ис­ключением того, что в схеме спектроанализатора линейный раз­мер фотоприемника s должен быть не меньше дифракционного изображения волноводного пучка в фокальной плоскости лин­зы, а в данном случае, наоборот, изображение пучка должно

7

Рис. 4.16. Схема оптоинтегрального акустооптического фазификатора

быть не меньше линейного размера фотоприемника или вход­ной апертуры последующей оптической схемы. В остальном из­вестные расчетные соотношения [45] справедливы и для расчета параметров такого фазификатора.

Рассмотрим теперь интерференционныйтип фазификатора. Известны так называемые интерференционно-кодовые преоб­разователи (ИКП) [45], принцип действия которых основан на преобразовании входной величины в перемещение интерферен­ционных полос и оптическом сопряжении их с оптическим ко­дирующим устройством. Входная величина в ИКП, как прави­ло, является электрической. Тот же принцип лежит и в основе функционирования нечеткого преобразователя, но вместо со­пряжения интерференционной картины с кодирующим устрой­ством применяется сопряжение с маской. При этом особеннос­тью данного типа модуляторов по сравнению с дефлекторными является характер распределения интенсивности, являющийся периодической функцией с периодом т. Поэтому шаг отверстий маски W в этом случае составляет

где п — количество отверстий (равное количеству термов).

При необходимости можно значительно (в п раз) повысить чувствительность интерференционного преобразователя путем введения нониусного сопряжения интерференционной картины с маской. В этом случае соотношение шага отверстий маски Wm | и шага интерференционных полос Wt должно быть следующим:

Вид функции принадлежности при использовании интер­ференционного типа преобразователя определяется распределе­нием интенсивности в интерференционных полосах устройства конкретной.конструкции, близок к "колоколообразному", и управлять им сложнее. Для этого необходимы специальные при­емы повышения контрастности и т. д.

Использование растровых фазификаторов оправдано в тех случаях, когда входной величиной является механическое пере­мещение (линейное или угловое). Методы и средства примене­ния различных типов растровых сопряжений (нониусные, муа­ровые, комбинированные) в разнообразных технологических исполнениях (объемная, интегральная и волоконная оптика) для целей обработки информации исследованы и описаны [46], поэтому здесь можно ограничиться лишь одним примером для пояснения принципов использования растровых сопряжений? именно в оптических фазификаторах.

Предположим, имеется входная величина x(t) — СМЕЩЕ­НИЕ с набором п термов {незначительное (S), влево (L), впра­во (R), значительное влево (LL), значительное вправо (LR)}. При этом интерпретация термов следующая:

"незначительное"— x(t) примерно около 0;

"влево" — x(t) примерно около -x,;

"вправо" — x(t) примерно около x,;

"значительное влево" — x(t) меньше —х2;

"значительное вправо" — x(t) больше х2,

причем для упрощения расчета примем х2 = 2х1 Геометрические параметры простейшего нониусного растро­вого сопряжения в данном случае следующие:

где dm и df- ширина щелей измерительного и неподвижного растров соответственно, Wm и Wf шаги их щелей.

На рис. 4.17 приведена схема такого датчика. С объектом, смещение которого является входной величиной x(t), связан измерительный растр М, оптически сопряженный с непод­вижным растром F. Связь объекта с измерительным растром полужесткая, с тем, чтобы ограничить амплитуду смещения величиной х2 для корректной реализации граничных термов "x(t) < —х2"и "x(t) > x". Измерительный растр засвечивается световым потоком I0, графики засветки отверстий неподвиж­ной маски, соответствующие различным термам при смеще­нии измерительного растра, приведены на рисунке.

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

Рис. 4.17. Схема нониусного фаззификатора

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

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

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

Сложным и не полностью решенным вопросом до сих пор остается анализ погрешностей фазификаторов. Действительно выходом подобного датчика является не только численное значе­ние функции принадлежности А(х) логической переменной х, но и сама логическая переменная х, принимающая значение 1 при у е (а, в), либо 0 при у e (а, в), где у — переменная на входе нечеткого сенсора. Анализ погрешности определения А(х) традиционен. Анализ же погрешности определения значения х может быть сведен к анализу определения границ интервалов а и в, что также может быть проведено традиционными методами. Однако остается дискуссионным вопрос: надо ли погрешность фазификаторов характеризовать набором погрешностей опреде­ления А(х), аив, либо следует ввести какую-либо новую обоб­щенную оценку погрешности.

Наиболее просто оптическими методами реализуется логи­ческая операция "ИЛИ". Например, если считать, что наличие луча света соответствует значению логической переменной Xi= 1, а его отсутствие — значению логической переменной Xj = 0, то подавая на вход оптического волокна (световода) два луча (х, = 1 и X2 = 1), на его выходе будет луч, соответствующий логической переменной у<=> X1V х2 (операция "ИЛИ") (рис. 4.18).

При реализации других логических операций и функций одной оптикой не обойтись. В частности, для реализации логи­ческой операции "НЕ" потребуется использование, как мини­мум фотоприемника (фотодиода), порогового элемента (компа­ратора) и излучателя (светодиода), как показано на рис. 4.19.

Рис. 4.18. Схема оптического логического элемента "ИЛИ"

Рис. 4.19. Схема оптико-электронного логического элемента "НЕ"

1— фотодиод; 2— компаратор; 3— светодиод; X — луч света, соответствующий значению X— 1; -X— луч света, соответствующий значению X= 0; -U- опорное напряжение, соответствующее

логической 1

Использование оптико-электронных схем для реализации машины нечеткого вывода (MHB) и дефазификатора также воз­можно. Например, с помощью волоконных кодирующих уст­ройств можно осуществить решение нечетких правил типа "если — то" [47], с помощью сопряжения волокон с матрицей или линейкой ПЗС — дефазификатор [48].

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

В простейшем случае MHB может быть построена на основе оптических кодирующих устройств, например, оптоволоконных. Рассмотрим реализацию фрагмента набора из двух правил, опи­сывающих некое "управляющее воздействие" на объект Z на основе входной информации о "перемещении Г' X и "переме­щении 2" Y, которые получены с фазификаторов, аналогичных описанным выше.

Если X = "большое влево (LL)" И Y = "вправо (R)", то Z= "очень сильное (LF)" Если X= "влево (L)" Y= "большое вправо (LR)", то Z= "сильное (F)".

На рис. 4.20 приведена схема оптической реализации при­веденной системы правил в виде кодирующе-суммирующей оп­товолоконной схемы.

На рисунке показаны оптоволоконные сумматоры оптичес­ких сигналов, снимаемых с выходов LL и L фазификатора вход­ной величины X и выходных сигналов R и LR, снимаемых с фазификатора входной величины Y. Результатом суммирова­ния будут сигналы, снимаемые с выходов LF и F выходной не­четкой величины Z. Выход представляет собой линейку выход­ных апертур волоконного кодирующего устройства.

Рассмотрим графики функций засветки выходов обоих фази­фикаторов (рис. 4.21) и покажем, каким образом формируется выходная четкая величина Z0 при входных четких величинах X0 и у0.

Выходная величина Z0 по термам F и LF образуется путем сложения входных оптических сигналов в соответствии с прави­лами вывода:

Рис. 4.20. Схема оптической реализации системы двух нечетких правил

Рис. 4.21. Функции засветки выходов фазификаторов входных величин хи у

На линейке выходных апертур кодирующего устройства по­лучим суммарные интенсивности I(LFz) и I(Fz).

Для того чтобы на основе полученного распределения зас­ветки линейки выходов суммирующего кодера получить вели­чину четкого управляющего воздействия Z0 (т. е. осуществить операцию дефазификации), необходимо первоначально осуще­ствить диффузное рассеяние линейной засветки. Это осуществ­ляется, например, установкой микролинз на выходах оптово- локон, при помощи дифракционной решетки или другими оптическими средствами. Затем выделяется пространственное положение максимума полученного распределения (показан­ного на рис. 4.22 пунктиром) при помощи либо ПЗС линейки, либо, когда необходимо получить цифровой выход, сопряже­нием выходной линейки кодера с оптическим кодирующим ус­тройством (маской с двоичным или иным кодом). При этом для повышения точности аналого-цифрового преобразования пространственного положения пятна засветки в выходной код, соответствующий необходимому управляющему воздействию, целесообразно применить схему оптического кодирующего ус­тройства с инверсными разрядами [48].

Таким образом, дефазификатором в данном случае служит оптическая система из выходной линейки кодера-сумматора, оптических элементов для "размывания" линейной картины за-

Рис. 4.22. Функции засветки выходов кодирующего устройства

светки и устройства пространственного декодирования. Описан­ная схема дефазификации близка к известному методу наиболее часто применяемого способа дефазификации по методу нахож­дения центра масс, когда дефазифицированное значение нечет­кого множества С определяется, как его нечеткий центроид:

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

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

Также несложно сконструировать оптический или оптико- электронный нейрон. В качестве примера на рис. 4.23 приведена возможная схема оптического нейрона.

Входные сигналы подаются на блок дефлекторов. Он пред­ставляет собой линейку кристаллов, на каждый из которых пода­ется напряжение Uj, в зависимости от которого луч в кристалле отклоняется на некоторый угол в плоскости, перпендикулярной рисунку. Далее лучи проходят через блок полупрозрачных зеркал, который является мультиплексором. Линза JI собирает световой поток с мультиплексора в один луч некоторой интенсивности и подает его на демультиплексор. Сигналы с демультиплексора

Рис. 4.23. Структура оптического нейрона

подаются на блок дефлекторов, управляемый напряжениями Vi, причем напряжения ^принимают значения либо 0, либо 1. Далее каждый луч, отклоненный на тот или иной угол засве­чивает либо не засвечивает входы оптоволоконной линии свя­зи, соединяющей его с другим нейроном. В процессе обучения такого нейрона меняют напряжения Uj и V1 (U1- весовые коэффициенты,V1 коэффициенты коммутации).

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

Поэтому наиболее актуально использование оптических и оптико-электронных элементов (BOJ1C, ОЭЛС, ВОИК и ОЭИК) для входных, выходных и межблоковых информационных кана­лов нейроподобных управляющих систем и комплексов. Особен­но привлекательно использование оптики и оптоэлектроники во входных каналах НС, так как они позволяют вводить в HC информационные сигналы практически любой физической при­роды (электрические, магнитные, акустические и др.) с высо­ким быстродействием, точностью и помехозащищенностью.