МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Реализация автономных адаптивных систем управления на базе нейронных сетей

    потомков ЭлементСети, хранит объект Сеть. При инициализации

    КонструктораСети ему сообщается ссылка на Сеть. Естественно, Сеть еще не

    содержит ЭлементовСети, но уже должна иметь ссылку на ФабрикуЭлементовСети.

    При конструировании сети по файлу спецификации КонструкторСетиПоФайлу

    (подкласс КонструктораСети) использует методы порождения объектов

    ФабрикиЭлементовСети, ссылку на которую он берет у Сети.

    Отметим здесь, как решена была проблема передачи параметров конструктору

    (инициализатору, особому методу, вызывающемуся первым после размещения

    объекта в памяти) элемента сети и, вообще, конструктору любого объекта,

    порождение и удаление которого находится под управлением фабрики. Проблема

    состоит в унификации типа передаваемых параметров: они должны быть одни и

    те же для всех типов элементов сети. Был введен класс Атрибут и методу

    порождения объекта у фабрики и, соответственно, конструктору объекта

    передавался список Атрибутов. Каждый Атрибут имеет имя, и конструктор

    каждого элемента сети распознает только некоторое подмножество подклассов

    Атрибута, «свои атрибуты», которые узнает по имени. Например,

    АтрибутВероятности является подклассом Атрибута, имеет свое поле

    рационального типа вероятность. Конструктор Нейрона2 распознает

    АтрибутВероятности в переданном списке атрибутов и использует значение его

    поля вероятность для инициализации Нейрона2. Для атрибутов также

    понадобилась ФабрикаАтрибутов.

    При создании Фабрики был использован еще один объектный шаблон, так

    называемый Синглетон. Синглетон решает задачу обеспечения единственности

    экземпляра класса и управляет доступом к этому экземпляру.

    Теперь о самой спецификации. При создании языка спецификации ставились

    следующие задачи:

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

    Относительная простота и удобочитаемость

    Минимальная длина спецификаций

    Возможность развития языка

    В качестве элементарного примера смоделирована нейросеть из четырех

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

    четырех состояний КА среды. Для данного примера спецификация имеет

    следующий вид:

    [Meta]

    set for Neuron2 synonym N

    set for Brancher synonym I

    [Inputs]

    I1,I2,I3,I4

    [Outputs]

    I1,I2,I3,I4,N1,N2,N3,N4

    [Net Topology]

    set for N default connection attribute delay=0

    set for N default attribute study_counter=3

    DecisionMaker(actions=0,1)

    StochasticSource(probability=0.1,value=2)

    Max[DecisionMaker,StochasticSource]

    Env[or]

    I1[Env(contact_number=0,delay=1)]

    I2[Env(contact_number=1,delay=1)]

    I3[Env(contact_number=2,delay=1)]

    I4[Env(contact_number=3,delay=1)]

    N1[I2,I3,I4]

    N2[I1,I3,I4](study_counter=4)

    N3[I1,I2,I4]

    N4[I1,I2,I3]

    Пример 5.3.1. Спецификация сети.

    Спецификация состоит из секций. Секция начинается с указания имени секции в

    квадратных скобках и состоит из операторов спецификации. В Meta секции

    собраны операторы, область применения которых – вся спецификация, т.е. все

    секции. Здесь, например, можно задать имена–синонимы для шаблонов. Во

    многих секциях может появляться оператор set. Обычно, его синтаксис таков:

    set for .

    Например, set for Neuron2 synonym N устанавливает имя-синоним N для шаблона

    Neuron2. В секциях Inputs и Outputs просто перечисляются входы и выходы

    сети. Самая большая секция, обычно, Net Topology, где описывается топология

    сети. Ссылка на элемент сети в спецификации состоит из двух слитных слов:

    указания имени типа элемента сети (или его синонима) и его некоторого

    порядкового номера, причем нумерация для каждого типа своя. Описание

    топологии состоит из операторов описания топологии, в которых указывается

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

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

    (т.е. список пар имя-значение) атрибутов связи, и, дополнительно, после

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

    атрибутов элемента. Каждая связь двух элементов сети может

    характеризоваться некоторым множеством атрибутов связи. Например, атрибутом

    связи может быть синаптическая задержка. Каждый элемент сети понимает свой

    набор атрибутов связи, некоторое множество атрибутов связи обрабатывается

    ядром системы, и, как мы уже упомянули, каждый элемент сети понимает свой

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

    списке атрибутов элемента.

    В примере спецификации 5.1 используются имена некоторых встроенных

    шаблонов, например, Neuron2 или Brancher. Вообще говоря, ядром

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

    есть конструкция для определения новых шаблонов через уже определенные или

    встроенные. Информация об уже определенных шаблонах хранится в специальном

    объекте БиблиотекаШаблонов, являющемся Синглетоном и имеющем методы для

    получения идентификатора шаблона по его имени, извлечения информации о

    шаблоне по его идентификатору, а также добавления / удаления шаблонов. Если

    КонструкторСети при чтении спецификации встречает имя шаблона или

    конструкцию определения нового шаблона, то он обращается к

    БиблиотекеШаблонов для, соответственно, получения информации о шаблоне по

    имени или для добавления нового шаблона. Таким образом, пользователь может

    создавать библиотеки своих шаблонов, определения которых хранятся,

    например, в файлах и при их использовании просто включать соотвествующие

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

    «#include» в языке C / C++. Отметим, что библиотечные файлы шаблонов могут

    создаваться специальным инструментом, конструктором шаблонов.

    5.4. Организация вычислений в сети.

    После создания внутреннего представления сети в памяти в виде совокупности

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

    инициируются с некоторого выбранного подмножества элементов сети,

    называемых выходами сети. Каждый элемент имеет свой метод, реализующий

    операцию данной вершины сети и результат которого интерпретируется как

    значение выходного сигнала или значение выхода. Аргументами этого метода

    являются значения выходов у входов элемента в предыдущие моменты времени,

    и, возможно, в текущий момент. При этом, естественно, возможен бесконечный

    цикл в случае неправильной спецификации сети. На этот случай в систему

    предполагается добавить некоторый предварительный анализатор корректности

    топологии сети. Распараллеливание здесь возможно при вычислении значений

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

    Так как параметр времени в систему введен явно, существует необходимость в

    сообщении каждому элементу о наступлении следующего такта вычислений. При

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

    операции для данного такта либо может просто проигнорировать сообщение. В

    реализации механизма передачи сообщений использован объектный шаблон

    Цепочка Обработчиков [Gamma]. Суть его состоит в следующем. Предположим

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

    предшествующий класс является родительским для следующего, например

    ЭлементСети [pic] Нейрон [pic] Нейрон2. У ЭлементаСети определен

    (виртуальный в терминах языка C++) метод обработки сообщения

    обработать_сообщение(Сообщение). В этом методе у каждого класса при вызове

    определяется, может ли данный метод обработать данное сообщение. Если да,

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

    сообщения родительского класса, если он существует. Например, метод

    обработки сообщений у ЭлементаСети увеличивает счетчик тактов (счетчик

    времени) при получении сообщения СледующийТакт (потомок класса Сообщение).

    Объект СредаСКонечнымАвтоматом, являющийся потомком ЭлементаСети и

    КонечногоАвтомата при получении данного сообщения выполняет чтение входного

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

    классов.

    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 является инициальным. Переходы

    указываются в виде (, ) -> .

    [pic]

    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. Пример работы программы.

    Результаты работы программы удобно представить временной диаграммой, где

    строка отображает состояние системы в момент времени ti. Будем обозначать

    вертикальным штрихом единичный сигнал на выходе нейрона (N) или датчика

    (I).

    Данный пример демонстрирует способность УС находить закономерности

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

    данными для примера являлись спецификация сети - пример 5.3.1, спецификация

    БОС - пример 5.6.1, спецификация модели среды - пример 5.7.1.

    Output signals graph

    I1 I2 I3 I4 N2 N3 N4 N1 DecisionMaker Or Evaluator

    t = 0 * * * * 1 1 0

    t = 1 | | | 1 1 15

    t = 2 | | | 0 0 5

    t = 3 | | | 1 1 10

    t = 4 | | | 1 1 5

    t = 5 | | | 1 1 20

    t = 6 | | | 1 1 15

    t = 7 | | | 0 1 5

    t = 8 | | | 0 1 20

    t = 9 | | | 0 1 15

    t = 10 | | | | 0 0 5

    t = 11 | | | 0 1 10

    t = 12 | | | | 0 1 5

    t = 13 | | | 1 1 20

    t = 14 | | | | 1 1 15

    t = 15 | | | | 1 1 5

    t = 16 | | | | 0 1 20

    t = 17 | | | | 1 1 15

    t = 18 | | | | 1 1 5

    t = 19 | | | | 0 0 20

    t = 20 | | | | 0 0 20

    t = 21 | | | | 0 0 20

    t = 22 | | | | 0 1 20

    t = 23 | | | | 1 1 15

    t = 24 | | | | 1 1 5

    t = 25 | | | | 0 0 20

    t = 26 | | | | 0 0 20

    t = 27 | | | | 0 0 20

    t = 28 | | | | 0 1 20

    t = 29 | | | | 1 1 15

    t = 30 | | | | 1 1 5

    t = 31 | | | | 0 0 20

    t = 32 | | | | 0 1 20

    t = 33 | | | | 1 1 15

    t = 34 | | | | 1 1 5

    t = 35 | | | | 0 0 20

    t = 36 | | | | 0 0 20

    t = 37 | | | | 0 0 20

    t = 38 | | | | 0 1 20

    t = 39 | | | | 1 1 15

    t = 40 | | | | 1 1 5

    ...

    Calculation time statistics

    Number of net nodes = 11

    Time interval length = 600

    Calculation time = 1.582 secs

    Mean time of calculating one node output = 0.24 ms

    Knowledge base statistics

    N3 -> N4 with action 1 with probability 141 / 141 = 1

    N4 -> N1 with action 0 with probability 141 / 304 = 0.464

    N1 -> N3 with action 1 with probability 141 / 141 = 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. В систему входят модель

    среды, состоящей из КА и Истока, и УС, состоящей из блоков ФРО, БОС, БЗ,

    БПР.

    [pic]

    Рис. 5.8.1.

    В конце примера выведена информация о состоянии БЗ, содержащей знания,

    эмпирически найденные УС к моменту окончания работы программы.

    5.9. Перспективы развития СПИНС.

    Кроме намеченных в разделе 5.1 направлений развития системы, а именно

    создание конструктора сетей с графическим интерфейсом, расширение языка

    спецификации сетей и др., необходима доработка и разработка нейросетевых

    реализаций БЗ и БПР, разработка методов создания реальных приложений по

    полученным с помощью СПИНС спецификациям сетей. Привлекательным является

    также создание трехмерного визуализатора БЗ. Визуализация БЗ основана на

    введении топологии в конечном пространстве образов базы знаний [pic]

    (определение 4.5) посредством отображения F и Y в R, таким образом, области

    в B отобразятся в области в [pic].

    Если образ [pic], [pic] сформирован, то он отображается точкой цвета,

    соответствующего сформировавшейся оценке образа [pic]. При этом в

    пространстве обозначатся некоторые цветные области (рис. 5.9.1),

    иллюстрирующие закон управления.

    [pic]

    Рис. 5.9.1.

    Заключение.

    Основные результаты дипломной работы состоят в следующем:

    Разработана концепция и реализовано ядро программной системы СПИНС для

    построения и исследования нейросетевой реализации прототипов управляющих

    систем, построенных по методу автономного адаптивного управления,

    созданного в отделе имитационных систем Института Системного

    Программирования РАН.

    Доработаны аппарат формирования и распознавания образов, алгоритм

    заполнения базы знаний управляющей системы и алгоритм принятия решений.

    Данные алгоритмы протестированы с помощью СПИНС на модельных примерах.

    Показано, что УС ААУ в рассмотренных примерах находит способ управления

    предъявленным объектом (средой) и осуществляет управление в соответствии с

    целевыми функциями.

    Благодарности.

    Автор выражает благодарность научному руководителю д. ф.-м. н. Александру

    Аркадьевичу Жданову за ценную поддержку и помощь в данной работе и член.-

    корр. РАН Виктору Петровичу Иванникову, под руководством которого были

    приобретены знания и опыт объектно-ориентированного программирования, в

    частности освоены объектные шаблоны (design patterns), использованные при

    разработке СПИНС.

    Литература.

    [Диссер] Жданов А.А. Принцип автономного адаптивного управления.

    Диссертация на соискание ученой степени доктора физико-математических наук.

    ВЦ РАН. Москва, 1993. 318 с.

    [Жданов1] Жданов А.А. О подходе к моделированию управляемых объектов.

    Препринт ВЦ АН СССР. Сообщения по прикладной математике. Москва, 1991. 44

    с.

    [Жданов2] (Работа содержит описание нейрона II).

    [Жданов3] Zhdanov A.A. A principle of Pattern Formation and Recognition//

    Pattern Recognition and Image Analysis. Vol.2. N3. 1992. - P. 249-

    264. (ISSN: 1054-6618).

    [Жданов4] Zhdanov A.A. Application of Pattern Recognition Procedure to

    the Acquisition and Use of Data in Control// Pattern Recognition and Image

    Analysis. Vol.2. N2. 1992. - P. 180-194. (ISSN: 1054-6618).

    [Жданов5] Жданов А.А. Накопление и использование информации при

    управлении в условиях неопределенности// Сб.науч.тp. Инфоpмационная

    технология и численные методы анализа распределенных систем. - М.: ИФТП.

    1992. С. 112-133.

    [Жданов6] Жданов А.А. Об одном подходе к адаптивному управлению// Сб.

    науч. тр. Анализ и оптимизация кибернетических систем, - М.: ГосИФТП,

    1996. С. 42-64.

    [Жданов7] Жданов А.А. Об одном имитационном подходе к адаптивному

    управлению// Сб. Вопросы кибернетики. - М.: 1996. С. 171 - 206.

    [Жданов8] Жданов А.А. Формальная модель нейрона и нейросети в методологии

    автономного адаптивного управления// Сб. Вопросы кибернетики. Вып. 3. М.:

    1997. С. 258-274.

    [Жданов9] Жданов А.А., Б.Б.Беляев, В.В.Мамаев. Использование принципа

    автономного адаптивного управления в системе угловой стабилизации

    космического аппарата "Спектр РГ"// Сб.науч.тр. Информационная бионика и

    моделирование, - М.: ГосИФТП, 1995. С. 87-114.

    [Боровко] В.В.Боровко. Математическая статистика.

    [КА] В.Брауэр. Введение в теорию конечных автоматов. М, "Радио и

    связь":1987. 392 с.

    [Граф] В.А.Евстигнеев и др. Теория графов. Алгоритмы обработки деревьев. ВО

    "Наука",Новосибирск:1994. 360 с.

    [Киб3] Жданов А.А. Формальная модель нейрона и нейросети в методологии

    автономного адаптивного управления. Сборник «Вопросы кибернетики» №3.

    Научный совет по комплексной проблеме «Кибернетика» РАН. сс.258-273.

    [NN] Michael I. Jordan, Cristopher M. Bishop. Neural Networks.

    Massachusets Institute of Technology. AI Memo No. 1562. Anonymous

    ftp://publications.ai.mit.edu.

    [Gamma] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design

    Patterns. Elements of reusable object-oriented software. Addison Wesley.

    1994. 395 с.

    [Turchin]. Valentin F. Turchin. The phenomenon of the science, a

    cybernatic approach to human evolution. Addison Wesley.

    [Маккалок]. McCulloch W.W., Pitts W. 1943. A logical calculus of the ideas

    imminent in nervous activiti. Bulletinn of Mathematical biophysics 5: 115-

    33. (Русский перевод: Маккалок У.С., Питтс У. Логическое исчисление идей,

    относящихся к нервной деятельности. Автоматы. – М: ИЛ. – 1956.)

    [Итоги91]. «Итоги науки и техники». Вычислительные науки, 1991, том 8, сс.

    15-16, 26.

    [Уоссермен] Уоссермен Ф.. Нейрокомпьютерная техника. - М.: Мир, 1992.

    [Розенблат] Розенблат Ф. Принципы нейродинамики. - М.: Мир, 1965.

    [Чечкин] Чечкин А.В. Математическая информатика. - М.: Наука. 1991.

    [Герман] Герман О.В. Введение в теорию экспертных систем и обработку

    знаний. - Минск, ДизайнПРО. 1995.

    [Братищев] Братищев Р.А. Дипломная работа. Московский физико-технический

    институт. 1998.

    -----------------------

    [pic]

    Страницы: 1, 2, 3, 4


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.