В отличие от классического маятника перевернутый находится в нестабильном положении. Чтобы оставаться в вертикальном состоянии, необходима его балансировка. Поэтому решение этой задачи может быть использовано для тестирования алгоритмов управления, таких как нейронные сети, генетические алгоритмы, алгоритмы нечеткого управления, а также PID-controllers.
В настоящей работе сравнивались результаты тестирования нескольких алгоритмов управления (алгоритм случайного поиска, алгоритм поиска с восхождением к вершине, алгоритм градиента политик с использованием нейронной сети) на примере решения задачи перевернутого маятника по следующим критериям: время обучения, скорость работы, используемая память.
Для программной реализации использовался язык Python (v.3.6). Решение задачи осуществлялось с помощью бесплатного инструмента OpenAl Gym. Эта платформа предназначена для разработки и тренировки алгоритмов с помощью игр и иных испытаний [1].
В OpenAI Gym имеются разные среды для тестирования. В статье будет использоваться среда «CartPole_v0», имитирующая поведение перевернутого маятника. Такая система в каждый момент временного интервала может предоставить координаты положения тележки и угол отклонения стержня маятника [2, 4]. В зависимости от предоставленных данных алгоритм должен принять решение о воздействии на тележку с целью ее перемещения «влево» или «вправо».
1. OpenAI [Электронный ресурс] // Википедия: web-сайт. – 2019. – URL: https://ru.wikipedia.org/wiki/OpenAI (дата обращения: 18.12.2019).
2. Getting Started with Gym [Electronic resource] // OpenAI: website. – 2019. – URL: https://gym.openai.com/docs/ (accessed: 18.12.2019).
3. Обратный маятник [Электронный ресурс] // Википедия: web-сайт. – 2019. – URL: https://ru.wikipedia.org/wiki/Обратный_маятник (дата обращения: 18.12.2019).
4. OpenAI Universe. Открытая платформа для тренировки сильного ИИ [Электронный ресурс]. – 2016. – URL: https://geektimes.ru/post/283384/ (дата обращения: 18.12.2019).
5. Frans K. Simple reinforcement learning methods to learn CartPole [Electronic resource] // Kevin Frans blog. – URL: http://kvfrans.com/simple-algoritms-for-solving-cartpole/ (accessed: 18.12.2019).
6. Растригин Л.А. Адаптация сложных систем. – Рига: Зинатне, 1981. – 375 с.
7. Поиск восхождением к вершине [Электронный ресурс] // Википедия: web-сайт. – 2019. – URL: https://ru.wikipedia.org/wiki/Поиск_восхождением_к_вершине (дата обращения: 18.12.2019).
8. Нейронные сети: обучение без учителя [Электронный ресурс] // Курс лекций по предмету «Основы проектирования систем с искусственным интеллектом» / сост. С.Л. Сотник. – Днепродзержинск, 1997–1999. – Гл. 3.4. – URL: http://www.codenet.ru/progr/alg/ai/htm/gl3_4.php (дата обращения: 18.12.2019).
9. Федосов Б.Т. Управление неустойчивыми объектами. Обратный маятник [Электронный ресурс] // Model.Exponenta.Ru: сетевое сообщество. – 2009. – URL: http://model.exponenta.ru/bt/bt_152_Inv_Pend_control_1.htm (дата обращения: 18.12.2019).
10. Сушков Ю.А. Метод, алгоритм и программа случайного поиска. – Л.: ВНИИТрансМаш, 1969. – 43 с.
11. Жиглявский А.А., Жилинскас А.Г. Методы поиска глобального экстремума. – М.: Наука, 1991. – 248 с.
12. Гилл Ф., Мюррей У., Райт М. Практическая оптимизация. – М.: Мир, 1985. – 509 с.
13. Гасников А.В. Современные численные методы оптимизации. Метод универсального градиентного спуска: учебное пособие. – М.: МФТИ, 2019. – 267 с.
14. Жадан В.Г. Методы оптимизации: в 3 ч. – М.: МФТИ, 2015–2017. – 3 ч.
15. Николенко С., Кадурин А., Архангельская Е. Глубокое обучение: погружение в мир нейронных сетей. – СПб.: Питер, 2018. – 480 с.
Шипагин В.И. Различные подходы к решению задачи перевернутого маятника // Сборник научных трудов НГТУ. – 2019. – № 2 (95). – С. 18–27. – DOI: 10.17212/2307-6879-2019-2-18-27.
Shipagin V.I. Razlichnye podkhody k resheniyu zadachi perevernutogo mayatnika [Different approaches to solving the inverted pendulum problem]. Sbornik nauchnykh trudov Novosibirskogo gosudarstvennogo tekhnicheskogo universiteta – Transaction of scientific papers of the Novosibirsk state technical university, 2019, no. 2 (95), pp. 18–27. DOI: 10.17212/2307-6879-2019-2-18-27.