МОДИФИЦИРОВАННЫЙ ИНТЕЛЛЕКТУАЛЬНЫЙ КОНТРОЛЛЕР
MODIFIED INTELLIGENT CONTROLLER

Изобретение относится к классу интеллектуальных контроллеров, использующих принцип обучения с подкреплением, и может использоваться для создания систем управления объектами, работающими в недетерминированной среде.
Известен патент США МПК G06F 15/18 6532454 «Stable adaptive control using critic designs», который реализует обучение с подкреплением с использованием нейронных сетей. Устройство по данному патенту состоит из решателя, моделирующей нейронной сети, блока критики, а также блока вычисления ошибки прогнозирования и связей между блоками.
Принцип работы устройства по патенту США МПК G06F 15/18 6532454 следующий - решатель (в его качестве выступает нейронная сеть) получает значение подкрепления, вычисляет действие на данной итерации и передает его на моделирующую нейронную сеть, которая вычисляет прогнозное значение рабочего параметра системы. После выполнения действия система получает реальное значение рабочего параметра, критик вычисляет новое значение подкрепления и корректируется работа моделирующей нейронной сети.
Известен также интеллектуальный контроллер на основе сетей адаптивной критики - патент США МПК G06F 15/18 5448681. Данное устройство состоит из объекта управления, блок критика и решателя на базе нейронной сети. Выходы объекта управления связаны с входами блока критика, а также входами решающей нейронной сети, выход решающей нейронной сети связан с объектом управления и блоком критика, выход сети критика связан с входом решающей нейронной сети.
Принцип работы устройства по патенту МПК G06F 15/18 5448681 следующий - объект управления выдает сигнал о своем состоянии, блок критика прогнозирует качество выбираемого действия на основе данных текущей временной итерации и состояния объекта, решатель вычисляет управляющее воздействие.
Недостатками устройств по патенту МПК G06F 15/18 6532454 является то, что в них не запоминается история работы системы и критик работает по первоначально настроенным параметрам.
Недостатками устройств по патенту МПК G06F 15/18 5448681 являются - нет блока запоминания истории работы системы и низкие адаптационные свойства в связи с жестко заданным принципом работы блока критика.
Общим недостатком двух вышеописанных устройств является недостаточное быстродействие за счет использования нейронных сетей.
Техническим результатом предлагаемого устройства является повышение скоростных параметров работы.
Задача - разработка модифицированного интеллектуального контроллера с высокими скоростными характеристиками быстродействия.
Технический результат достигается тем, что в модифицированный интеллектуальный контроллер, содержащий объект управления, решатель, выход объекта управления связан с первым входом решателя, введены блок расчета подкрепления, блок действий, фильтр Калмана, память фильтра Калмана, блок выбора действий, при этом выход объекта управления также связан с входом блока расчета подкрепления и первым входом блока действий, первый выход блока действий связан со вторым входом решателя, второй выход блока действий связан с третьим входом фильтра Калмана и первым входом блока выбора действий, выход блока расчета подкрепления связан со вторым входом блока действий и вторым входом фильтра Калмана, выход решателя связан с первым входом фильтра Калмана, первый выход фильтра Калмана связан со вторым входом блока выбора действий, второй выход фильтра Калмана связан с первым входом памяти фильтра Калмана, выход памяти фильтра Калмана связан с четвертым входом фильтра Калмана, первый выход блока выбора действий связан с входом объекта управления и третьим входом блока действий, второй выход блока выбора действий связан со вторым входом памяти фильтра Калмана.
Повышение скоростных параметров работы устройства достигается за счет того, что в устройство вместо нейронных сетей введен фильтр Калмана для прогнозирования подкрепления. При этом используется память фильтра Калмана, которая сохраняет параметры фильтра Калмана для выбранного действия с последующим восстановлением параметров самого фильтра Калмана без дополнительных вычислений. Выделение блока действий в отдельную компоненту также приводит к повышению скоростных характеристик, так как в нем накапливается история работы объекта управления для последующего использования.
Таким образом, совокупность существующих признаков, изложенных в формуле изобретения, позволяет достичь желаемый технический результат.
На чертеже изображена схема модифицированного интеллектуального контроллера с фильтром Калмана.
Система состоит из нескольких структурных компонент: объекта управления 1, решателя 2, блока расчета подкрепления 3, блока действий 4, фильтра Калмана 5, памяти фильтра Калмана 6 и блока выбора действий 7.
Также в системе присутствуют следующие связи: выход 8 объекта управления связан с первым входом 8.1 решателя, первым входом 8.2 блока выбора действий, входом 8.3 блока расчета подкрепления; выход 9 блока расчета подкрепления соединен по 9.1 с блоком действий и по 9.2 с фильтром Калмана, выход 10 блока действий связан с решателем, выход решателя соединен с фильтром Калмана по связи 11, выход 12 блока действий связан 12.1 с блоком выбора действий и по связи 12.2 с фильтром Калмана, выход 13 фильтра Калмана соединен с памятью фильтра Калмана, память фильтра Калмана по 14 соединена с фильтром Калмана, фильтр Калмана по 15 соединен с блоком выбора действий, блок выбора действий соединен по 16 с памятью фильтра Калмана, выход 17 блока выбора действий соединен по 17.1 с блоком действий и по 17.2 с объектом управления.
Решатель 2 - это устройство, которое реализует математическую формулу (или несколько формул), описывающую те переменные объекта управления, которые можно непосредственно вычислить.
Блок расчета подкрепления 3 реализует математическую формулу, рассчитывающую реальное значение подкрепления после того, как сигнал действия (управления) 17.2 отработан объектом управления 1.
Блок действий 4 хранит таблицу возможных действий в конкретных ситуациях.
Фильтр Калмана 5 предназначен для вычисления ненаблюдаемой величины. Фильтр Калмана выполняется в стандартном исполнении, например, по патенту США МПК G06F 15/20 №5115391.
Память фильтра Калмана 6 предназначена для временного хранения параметров блока фильтра Калмана 5. Блок хранит столько наборов параметров фильтра Калмана, сколько выбрано возможных действий в блоке действий 4.
Блок выбора действий 7 предназначен для выбора действия из возможных в данной ситуации на базе "жадного правила".
Принцип работы интеллектуального контроллера следующий. Объект управления 1 выполняет действие и образует на выходе сигнал состояния 8. Далее сигнал состояния поступает на блок действий 4, блок расчета подкрепления 3 и решатель 2. Блок расчета подкрепления 3 рассчитывает реальное получившееся подкрепление 9 и подает его на блок действий 4 и фильтр Калмана 5. Решатель 2 в свою очередь обрабатывает сигнал с объекта управления и на выходе формирует наблюдаемый сигнал 11. Получив сигнал состояния, блок действий 4 выбирает возможные действия в данной ситуации с учетом реального подкрепления на последней итерации и выдает их последовательно на фильтр Калмана 5, при этом он подает синхронизирующий сигнал 10 на решатель 2, чтобы он одновременно с блоком действий выдавал значение наблюдаемой величины 11 на фильтр Калмана 5. Фильтр Калмана 5 последовательно получает пары значений {наблюдаемый сигнал 11; возможное действие 12.2} и рассчитывает возможное подкрепление 15 для каждого возможного действия. После расчета подкрепления фильтр Калмана выдает значение подкрепления 15 на блок выбора действий 7, на который также идет действие 12.1 от блока действий 4, которое учитывалось при расчете ненаблюдаемого сигнала (подкрепления) фильтром Калмана 5. Также в памяти фильтра Калмана 6 сохраняются текущие параметры фильтра Калмана 5. Блок выбора действий 7 выбирает действие на основе "жадного" правила, которое можно записать как: с вероятностью (1-ε) выбирается то действие, которому соответствует максимальное значение подкрепления , при этом 0<ε<<1 (Sutton R., Barto A. Reinforcement Learning: An Introducion. - Cambridge: MIT Press, 1998). После выбора действия сигнал 17 идет на объект управления 1 и записывается в блок действий 4, а также на память фильтра Калмана 6, которая восстанавливает параметры фильтра Калмана 5 для выбранного действия.
Таким образом, алгоритм работы устройства следующий (цифрами указаны только сигналы):
1. Объект управления вычисляет сигнал своего состояния 8 (как на базе информации о внешней среде, так и по собственным показателям) и подает его 8.1 - на решатель, 8.2 - на блок действий и 8.3 - на блок расчета подкрепления.
2. Решатель вычисляет наблюдаемый параметр 11 системы.
3. Блок расчета подкрепления рассчитывает получившееся (реальное) подкрепление 9 и подает его значение на 9.1 - блок действий и 9.2 - фильтр Калмана.
4. Блок действий, учитывая последнее поступившее подкрепление 9.1, выбирает возможные действия в данной конкретной ситуации 12.
5. Блок действий последовательно подает выбранные действия на 12.2 - фильтр Калмана и синхронизирующий сигнал 10 на решатель, по которому решатель синхронно подает наблюдаемый параметр 11 на фильтр Калмана.
6. При первом поданном сигнале на вычисление 12.2, перед тем как начать работу, фильтр Калмана сохраняет свои параметры по 13 в памяти фильтра Калмана.
7. Фильтр Калмана последовательно получает пары значений {наблюдаемый сигнал 11; возможное действие 12.2} и вычисляет прогноз подкрепления (ненаблюдаемый сигнал) 15. Фильтр Калмана работает стандартным образом.
8. После вычисления прогноза подкрепления для каждого возможного действия 12.2 фильтр Калмана сохраняет свои параметры в памяти фильтра Калмана по 13 и выдает значение прогнозируемого подкрепления 15 на блок выбора действий.
9. Блок выбора действий накапливает пары значений {возможное действие 12.1; прогнозируемое подкрепление 15}.
10. После того как рассчитаны подкрепления для всех возможных действий, от блока действий идет сигнал 12.1 на блок выбора действий об окончании прогнозирования. После получения этого сигнала блок выбора действий выбирает действие на основе "жадного правила" и подает его по 17.1 на объект управления, по 17.2 на блок действий, а также по 16 на память фильтра Калмана. На блок действий также подается по 17.2 прогнозируемое подкрепление для выбранного действия.
11. Блок действий сохраняет выбранный сигнал 17.1, возможное подкрепление 17.1, состояние объекта управления 8.2, реальное подкрепление 9.1, тем самым накапливая историю для дальнейшего выбора действий в возможных ситуациях.
12. Память фильтра Калмана восстанавливает по 14 параметры фильтра Калмана для выбранного действия.
13. Объект управления отрабатывает поданное действие 17.2. Далее цикл на шаг 1.