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

Изобретение относится к классу интеллектуальных контроллеров, использующих принцип обучения с подкреплением, фильтр Калмана, и может использоваться для создания систем управления объектами, работающими в недетерминированной среде.
Известен патент США, МПК G06F 15/18 6532454 «Stable adaptive control using critic designs», который реализует обучение с подкреплением с использованием нейронных сетей. Устройство по данному патенту состоит из решателя, моделирующей нейронной сети, блока критики, а также блока вычисления ошибки прогнозирования и связей между блоками.
Принцип работы устройства по патенту США, МПК G06F 15/18 6532454 следующий - решатель (в его качестве выступает нейронная сеть) получает значение подкрепления, вычисляет действие на данной итерации и передает его на моделирующую нейронную сеть, которая вычисляет прогнозное значение рабочего параметра системы. После выполнения действия система получает реальное значение рабочего параметра, критик вычисляет новое значение подкрепления и корректируется работа моделирующей нейронной сети.
Недостатками устройств по патенту МПК G06F 15/18 6532454 является то, что в них не запоминается история работы системы и критик работает по первоначально настроенным параметрам.
Известен также модифицированный интеллектуальный контроллер на базе фильтра Калмана с использованием принципа обучения с подкреплением - патент МПК G06F 15/18 2458390. Данное устройство состоит из объекта управления, решателя, блока расчета подкрепления, блока действий, блока выбора действий, фильтра Калмана и памяти фильтра Калмана. Выходы объекта управления связаны с решателем, блоком расчета подкрепления и блоком действий, выходы блока действий связаны с решателем, фильтром Калмана и блоком выбора действий, блок расчета подкрепления связан с блоком действий и фильтром Калмана, фильтр Калмана соединен с памятью фильтра Калмана и блоком выбора действий;
память фильтра Калмана соединена с фильтром Калмана, а выходы блока выбора действий соединены с объектом управления, памятью фильтра Калмана и блоком действий.
Принцип работы устройства по патенту МПК G06F 15/18 2458390 следующий - решатель вычисляет наблюдаемый параметр системы, блок действий выбирает возможные действия в данной ситуации, фильтр Калмана последовательно рассчитывает прогноз подкрепления при совершении отобранных действий, блок выбора действий выбирает конкретное действие, основываясь на расчетах фильтра Калмана, и подает его на объект управления. Выбранное действие и получившееся подкрепление заносятся в блок действий.
Недостатками устройств по патенту МПК G06F 15/18 2458390 являются - невозможность изменения формул фильтра Калмана в режиме реального времени при изменении поведения окружающей среды.
Задача - разработка модифицированного интеллектуального контроллера с высокими скоростными и адаптационными характеристиками быстродействия.
Техническим результатом предлагаемого устройства является повышение скоростных и адаптационных параметров работы.
Технический результат достигается тем, что в модифицированном интеллектуальном контроллере, содержащем объект управления, решатель, блок расчета подкрепления, блок действий, фильтр Калмана, память фильтра Калмана, блок выбора действий, первый выход объекта управления связан с входом решателя, выход решателя связан с первым входом фильтра Калмана, второй выход блока расчета подкрепления связан с вторым входом фильтра Калмана, первый выход фильтра Калмана связан с вторым входом блока выбора действий, второй выход фильтра Калмана связан с первым входом памяти фильтра Калмана, первый выход блока выбора действий связан с входом объекта управления, второй выход блока выбора действий связан с вторым входом памяти фильтра Калмана, первый выход памяти фильтра Калмана связан с четвертым входом фильтра Калмана, при этом в него введены блок отбора действий, блок корректировки фильтра Калмана и блок занесения действий, при этом первый выход объекта управления также связан с первым входом блока отбора действий, второй выход объекта управления связан с входом блока расчета подкрепления, первый выход блока отбора действий связан с первым входом блока действий, второй выход блока отбора действий связан с первым входом блока выбора действий и третьим входом фильтра Калмана, выход блока действий связан со вторым входом блока отбора действий, первый выход блока расчета подкрепления связан с первым входом блока занесения действий, второй выход блока расчета подкрепления также связан с первым входом блока корректировки фильтра Калмана, выход блока корректировки фильтра Калмана связан с пятым входом фильтра Калмана, третий выход фильтра Калмана связан со вторым входом блока корректировки фильтра Калмана, первый выход блока выбора действий также связан со вторым входом блока занесения действий, выход блока занесения действий связан со вторым входом блока действий.
Повышение адаптационных параметров работы устройства достигается за счет того, что в устройство введен блок корректировки фильтра Калмана. Выделение из блока действий блока отбора действий и блока занесения действий повышает скоростные характеристики работы устройства.
Таким образом, совокупность существующих признаков, изложенных в формуле изобретения, позволяет достичь желаемый технический результат.
На фиг.1 изображена схема модифицированного интеллектуального контроллера с фильтром Калмана.
Система состоит из нескольких структурных компонент: объекта управления 1, блока отбора действий 2, решателя 3, блока расчета подкрепления 4, блока занесения действий 5, блока действий 6, блока корректировки фильтра Калмана 7, фильтра Калмана 8, памяти фильтра Калмана 9 и блока выбора действий 10.
Также в системе присутствуют следующие связи: объект управления соединен с решателем по связи 11, с блоком отбора действий по связи 12 и с блоком расчета подкрепления по 13, от блока отбора действий идет связь 14 на фильтр Калмана и 15 на блок выбора действий и связь 16 на блок действий. От блока действий идет связь 17 на блок отбора действий. От блока расчета подкрепления идут связи 18 на блок занесения действий, 19 на блок корректировки фильтра Калмана и 20 на фильтр Калмана. От фильтра Калмана идет связь на блок корректировки фильтра Калмана 21 и от блока корректировки фильтра Калмана идет связь 22 на фильтр Калмана. Решатель и фильтр Калмана соединены по 23. От фильтра Калмана идет связь 14 на блок выбора действий. От памяти фильтра Калмана идет связь 25 на фильтр Калмана и от фильтра Калмана идет связь 26 на память фильтра Калмана. Блок выбора действий соединен с памятью фильтра Калмана по связи 27. От блока выбора действий идут связи 28 на объект управления и 29 на блок занесения действий. Блок занесения действий соединен связью 30 с блоком действий.
Блок отбора действий 2 предназначен для отбора всех возможных действий в данной ситуации с учетом минимального накопленного подкрепления для возможного действия
Решатель 3 - это устройство, которое реализует математическую формулу (или несколько формул), описывающую те переменные объекта управления, которые можно непосредственно вычислить.
Блок расчета подкрепления 4 реализует математическую формулу, рассчитывающую реальное значение подкрепления, после того как сигнал действия (управления) отработан объектом управления 1.
Блок занесения действий 5 предназначен для внесения корректировок в блок действий. Данный блок обновляет значение накопленного подкрепления в ячейке выбранного действия на предыдущей итерации после отработки действия объектом управления.
Блок действий 6 хранит таблицу возможных действий в конкретных ситуациях и накопленное подкрепление для пар ситуация - действие.
Блок корректировки фильтра Калмана 7 предназначен для изменения структуры формул фильтра Калмана в случае, если окружающая среда сильно изменилась и текущие настройки фильтра Калмана не позволяют предсказывать подкрепление с достаточной точностью.
Фильтр Калмана 8 предназначен для вычисления ненаблюдаемой величины. Фильтр Калмана выполняется в стандартном исполнении, например, по патенту США МПК G06F 15/20 №5115391.
Память фильтра Калмана 9 предназначена для временного хранения параметров блока фильтра Калмана 8. Блок хранит столько наборов параметров фильтра Калмана, сколько выбрано возможных действий в блоке действий 6.
Блок выбора действий 10 предназначен для выбора действия из возможных в данной ситуации на базе "жадного правила".
Принцип работы интеллектуального контроллера следующий. Объект управления 1 выполняет действие и формирует на выходе сигнал состояния (в общем случае - вектор). Далее сигнал состояния поступает по связи 11 на решатель 3 и по связи 12 блок отбора действий 2. Блок отбора действий 2, получая сигнал состояния объекта, управления посылает запрос по связи 16 в блок действий 6 о возможных действиях в данной ситуации, указывая минимальное накопленное подкрепление, с которым можно выбирать действие (минимально накопленное подкрепление указывается разработчиком). Блок действий 6 в ответ формирует список возможных действий в данной ситуации и последовательно по связи 17 посылает их на блок отбора действий 2, который в свою очередь отправляет их на фильтр Калмана 8 по 14. Решатель 3, получив сигнал от объекта управления, рассчитывает наблюдаемый сигнал 23, который идет на фильтр Калмана 8.
<mrow><msubsup><mi>R</mi><mi>i</mi><mrow><mi>P</mi><mi>R</mi></mrow></msubsup><mrow><mo>(</mo><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow>
Фильтр Калмана 8, получая возможное действие от блока отбора действий 2 и наблюдаемый сигнал 23 от решателя 3, рассчитывает возможное подкрепление для каждого возможного действия. При этом фильтр Калмана получая новое значение возможного действия, записывает в память фильтра Калмана 9 свои параметры по связи 26 и восстанавливает предыдущие по 25 (на начало текущего цикла управления). После расчета подкрепления для каждого возможного действия, фильтр Калмана 8 передает значение подкрепления по 24 на блок выбора действий 10, который также получает возможные действия по 15 от блока отбора действий 2. Блок выбора действий 10, на базе «жадного правила», которое можно записать как: с вероятностью (1 - s) выбирается то действие, которому соответствует максимальное значение подкрепления
, при этом 0<ε<<1 (Sutton R., Barto A. Reinforcement Learning: An Introduction. - Cambridge: MIT Press, 1998). Выбранное действие передается по 29 на блок занесения действий 5 и по 28 объект управления 1. Блок занесения действий запоминает текущее выбранное действие, а также получает рассчитанное реальное подкрепление после отработки объектом управления предыдущего действия по 18 и заносит данное подкрепление по связи 30 в ячейку к предыдущей паре ситуация - действие в блоке действий 6. Выбранное действие также посылается в память фильтра Калмана 9 и восстанавливает параметры фильтра Калмана 8 для выбранного действия. Блок корректировки фильтра Калмана 7 включается в работу в том случае, если фильтр Калмана 8 за заданное разработчиком количество итераций ошибается в прогнозе подкрепления больше, чем на определенную величину (задается разработчиком). При этом реальное подкрепление идет по сигналу 19 от блока расчета подкрепления 4, а прогнозное значение подкрепления идет от фильтра Калмана 8 по 21. Корректировка формул фильтра Калмана 8 идет по связи 22. Корректировка параметров фильтра Калмана 8 происходит по заложенному разработчиком алгоритму.