30353-1 (663149), страница 6
Текст из файла (страница 6)
5.5. Анализаторы работы сети.
Для отладки сетей часто необходимо знать разнообразную информацию о состояниии сети и отдельных ее элементов в некоторые моменты времени. Сети предполагаются гетерогенные, то есть состоящими из разных элементов-экземпляров классов-потомков ЭлементаСети, и состояние каждого элемента в некоторые моменты времени может характеризоваться, вообще говоря, некоторым своим набором параметров, помимо значения выходного и входного сигналов. Например, КА лучше охарактеризовать состоянием, в котором находится автомат. Поэтому схема была выбрана следующая: ЭлементСети является производным классом от Летописец, который имеет методы для записи объектов Событие в некоторую временную последовательность История, которую хранит каждый Летописец. В процессе работы сети каждый Летописец записывает в Историю один из своих или общих объектов подкласса Событие. Например, КА записывает помимо прочих событие СостояниеКА, в котором есть поле для указания состояния КА в данный момент времени. Каждый (потомок класса) АнализаторРаботыСети умеет обрабатывать Истории, извлекая оттуда необходимую информацию, и затем выдавая ее в удобном виде на экран. В примере 5.8.1 приведен результат работы программы, где изображена диаграмма выходных сигналов выбранных ЭлементовСети, имена которых выведены в первой строке диаграммы. Диаграмма получена как результат обработки Истории выбранных ЭлементовСети АнализаторомРаботыСети.
5.6. Реализация БОС.
Задача блока оценки состояния в конечном счете заключается в сопоставлении выходному вектору среды W некоторой оценки или числа. Фактически, речь идет о задании некоторого функционала над BN, где N - размерность выходного вектора среды W. Функционал задается как табличная функция, значения которой перечисляются в специальной секции файла спецификации. Здесь указываются типы аргумента и самой табличной функции, может быть указано значение по умолчанию, а затем перечисляются входные и соответствующие выходные значения.
[Evaluator]
set type for in BinaryVector
set type for out Integer
set default value for out=0
in=0111,out=15
in=1011,out=10
in=1101,out=5
in=1110,out=20
Пример 5.6.1. Спецификация табличной функции БОС.
Нейросетевая реализация этого блока нами не создавалась. Предполагается, что ее можно построить из двух простых подсетей, из которых одна представляет собой распознающую нейросеть, формирующую образы вектора in, а другая - комбинационную схему из нейронов, выдающую сигнал на выход с номером out в соответствии с заданным функционалом.
5.7. Реализация модели среды.
Представим среду с помощью КА Мура. Пусть КА имеет четыре состояния s1, s2, s3, s4 и представлен диаграммой Мура на рис. 5.7.1. Файл спецификации для модели среды содержит описание выходного сигнала в зависимости от состояния КА (первая часть в примере 5.7.1) и описание самого КА (вторая часть). Пятое дополнительное состояние КА initial является инициальным. Переходы указываются в виде (<исходное состояние>, <входное слово>) -> <конечное состояние>.
S0=initial, a0=0000, a1=0111, a2=1011, a3=1101, a4=1110
Рис. 5.7.1.
[Environment]
initial(output=1111)
s1(output=0111)
s2(output=1011)
s3(output=1101)
s4(output=1110)
[Finite State Automate]
set for word -1 synonym any
(initial,0)->s1
(initial,1)->s1
(s1,0)->s2
(s1,1)->s3
(s2,0)->s4
(s2,1)->s3
(s3,0)->s2
(s3,1)->s4
(s4,0)->s4
(s4,1)->s1
Пример 5.7.1. Спецификация модели среды.
Пример 5.8.1. Результат работы программы.
На диаграмме выведены выходные сигналы входных элементов (датчиков) I1, I2, I3, I4, нейронов N1, N2, N3, N4, БПР (DecisionMaker), БОС (Evaluator) и внутреннего элемента среды (Or), на который подаются сигналы от БПР и стохастического источника, а выход соединен с входом модели КА Мура. Множество возможных воздействий УС на среду состоит из двух элементов, обозначенных как 0 и 1. Из примеров 5.6.1 и 5.7.1 видно, что состоянием модели среды с наивысшей оценкой является s4. Из диаграммы 5.8.1 можно сделать вывод, что УС нашла закономерности управления, достаточные для удержания ОУ в состоянии s4 (t > 18), но в результате действия стохастического источника после некоторого времени пребывания в s4 ОУ перескакивает из этого состояния в s1, откуда УС снова переводит его в состояние s4.
Работу системы проиллюстрируем на рис. 5.8.1. В систему входят модель среды, состоящей из КА и Истока, и УС, состоящей из блоков ФРО, БОС, БЗ, БПР.
Рис. 5.8.1.
В конце примера выведена информация о состоянии БЗ, содержащей знания, эмпирически найденные УС к моменту окончания работы программы.
5.9. Перспективы развития СПИНС.
Кроме намеченных в разделе 5.1 направлений развития системы, а именно создание конструктора сетей с графическим интерфейсом, расширение языка спецификации сетей и др., необходима доработка и разработка нейросетевых реализаций БЗ и БПР, разработка методов создания реальных приложений по полученным с помощью СПИНС спецификациям сетей. Привлекательным является также создание трехмерного визуализатора БЗ. Визуализация БЗ основана на введении топологии в конечном пространстве образов базы знаний (определение 4.5) посредством отображения F и Y в R, таким образом, области в B отобразятся в области в
.
Если образ ,
сформирован, то он отображается точкой цвета, соответствующего сформировавшейся оценке образа
. При этом в пространстве обозначатся некоторые цветные области (рис. 5.9.1), иллюстрирующие закон управления.
Рис. 5.9.1.
Заключение.
Основные результаты дипломной работы состоят в следующем:
Разработана концепция и реализовано ядро программной системы СПИНС для построения и исследования нейросетевой реализации прототипов управляющих систем, построенных по методу автономного адаптивного управления, созданного в отделе имитационных систем Института Системного Программирования РАН.
Доработаны аппарат формирования и распознавания образов, алгоритм заполнения базы знаний управляющей системы и алгоритм принятия решений.
Данные алгоритмы протестированы с помощью СПИНС на модельных примерах. Показано, что УС ААУ в рассмотренных примерах находит способ управления предъявленным объектом (средой) и осуществляет управление в соответствии с целевыми функциями.
Благодарности.
Автор выражает благодарность научному руководителю д. ф.-м. н. Александру Аркадьевичу Жданову за ценную поддержку и помощь в данной работе и член.-корр. РАН Виктору Петровичу Иванникову, под руководством которого были приобретены знания и опыт объектно-ориентированного программирования, в частности освоены объектные шаблоны (design patterns), использованные при разработке СПИНС.