Воронов Олег Юрьевич, студент, top4ik8 7@,smail. com, Россия, Санкт-Петербург, Санкт-Петербургский государственный лесотехнический университет имени С.М. Кирова
BIOMECHANICAL PRINCIPLES OF BOXER MOVEMENTS AND PRINCIPLES OF CONSTRUCTION OF ARTIFICIAL
INTELLIGENCE SYSTEMS FOR TEACHING BOXING
S.L. Gorobchenko, D.A. Kovalev, S.A. Voinash, V.N. Bezhenar, O.Yu. Voronov
The issues of analyzing the biomechanics of boxers' movements and the principles of constructing artificial intelligence systems for boxing training are considered. The main classification of strikes and defenses, as well as boxer movements, which are the basis for building the main subsystems of an artificial intelligence system for boxing training, is shown. The most applicable artificial intelligence models for analyzing the biomechanical movements of a boxer are shown and a block diagram of an intelligent system for boxing training is proposed.
Key words: boxing, biomechanics, boxer movements, artificial intelligence systems, boxing training, structural
scheme.
Gorobchenko Stanislav Lvovich, candidate of technical sciences, sgorobchenko@yandex. ru, Russia, St. Petersburg, St. Petersburg State University of Industrial Technologies and Design,
Kovalev Dmitry Aleksandrovich, candidate of technical sciences, docent, [email protected], Russia, St. Petersburg, St. Petersburg State University of Industrial Technologies and Design,
Voinash Sergey Aleksandrovich, junior researcher, sergey [email protected], Russia, Rubtsovsk, Rubtsovsk Industrial Institute (branch) of Polzunov Altai State Technical University,
Bezhenar Vyacheslav Nikolaevich, senior lecturer, 5551541 @mail. ru, Russia, St. Petersburg, Military Academy of Communications named after Marshal of the Soviet Union S.M. Budyonny,
Voronov Oleg Yurievich, student, top4ik8 7@gmail. com, Russia, St. Petersburg, St. Petersburg State Forest Technical University named after S.M. Kirov
УДК 004.051; 519.852.33; 519.854 Б01: 10.24412/2071-6168-2024-3-162-163
К ВЫБОРУ ЭФФЕКТИВНОГО АЛГОРИТМА РЕШЕНИЯ ЧАСТНОГО СЛУЧАЯ ТРАНСПОРТНОЙ ЗАДАЧИ
А.А. Даничев, Д.И. Ликсонова, А.И. Карнаухов, С.А. Войнаш, Н.В. Меламед
В данной работе демонстрируется три подхода к решению задачи оптимизации, различающихся по требованию к уровню математической грамотности программиста. Это генетический алгоритм, симплекс метод и Венгерский алгоритм.
Ключевые слова: генетический алгоритм, транспортная задача, Венгерский алгоритм.
Последнее время широко практикуется применение универсальных «решателей», использующих случайный поиск на базе генетических, эволюционных, стохастических бионических алгоритмов [1,2] и пр. Действительно, использование таких инструментов очень удобно. С точки зрения программирования необходимо лишь описать функцию приспособленности. В неё входит и целевая функции задачи оптимизации, и штрафы за нарушение ограничений. При этом не требуется особых знаний в математики. Проблема состоит в том, что при большой размерности задачи алгоритм становиться неэффективным. К тому же случайный поиск не гарантирует нахождение глобального экстремума. Тем не менее, примерно треть публикаций научной электронной библиотеки eLIBRARY.RU [3], связанных с оптимизацией, посвящена применению генетических алгоритмов (см. табл.1).
Таблица 1
Количество публикаций на eLIBRARY. RU по темам __
Строка поиска \ Годы публикации 2000-2004 2005-2009 2010-2014 2015-2019
(генетический алгоритм) or оптимизация 815 4 213 6 685 12 886
генетический алгоритм 296 1 196 2 269 3 953
Язык Phyton - популярный инструмент решения математических задач. Широкий выбор библиотек для Phyton и многочисленные примеры их применения позволяет называть его языком программирования аналитиков и ученых. Например, популярная система организации конкурсов по исследованию данных Kaggle [4] использует языки Phyton и R. Однако мало уметь применять библиотечные методы. Для решения задач, отличных от классических, необходимо понимать, как именно работают эти методы. Например, в данной статье знание о целочисленных задачах выпуклого программирования позволило на порядки увеличить скорость решения задачи.
Системный анализ, управление и обработка информации
Основная часть. Рассмотрим следующую задачу. Пусть имеется n уникальных продуктов и m пунктов их потребления. Для каждого пункта потребления j заданы минимально- и максимально- допустимые объемы продукции bj и Bj. Имеются экспертные оценки cij целесообразности доставки продукта i на пункт потребления j. Необходимо оптимальным образом доставить все продукты. Предполагается, что у fa. < n < У Bj . Получаем задачу
оптимизации:
n,m m __n _
У c..x.. ^ max; У x.. =1, i = 1..n; b. < У x.. < B , j = 1..m;
¿—t ij j L^ ij ' j ¿—t ij j'
i=1, j=1 j=1 i=1
xv □ [0;1] или x.. □ {0,1}.
Реализуем генерацию случайных коэффициентов и проведем вычислительные эксперименты для различных подходов к решению. Для каждой размерности m и n будем проводить 50 испытаний и считать среднее время.
Для решения данной задачи генетическим алгоритмом необходимо:
- представить матрицу || x .. || в виде бинарного вектора из n*m элементов;
- задать функцию приспособленности как разность целевой функции и функций штрафов за нарушение ограничений.
Классическая реализация генетического алгоритма [5] оказалась неработоспособна. Даже на маленьких размерностях оптимальное решение находилось в единичных случаях. Необходимо выполнить модернизацию алгоритма и тщательный подбор параметров. Рассмотрим другой метод случайного поиска - метод роя частиц [6]. Его программная реализация аналогична генетическому алгоритму. Эффективность роя частиц оказались на уровне полного перебора. Для n = 10 и m = 5 время решения составило 23 секунды (процессор 3,4ГГц). При больших размерностях оптимальное решение не достигается.
Пользователям языка Phyton для решения задач линейного программирования предлагают воспользоваться такими библиотеками, как cvxopt, pulp, scipy [8]. Различаются они прежде всего способом описания данных. В cvxopt и pulp формулы и ограничения записываются символами, построчно. В scipy данные представляются в матричном виде (см. табл.2). Была выбрана библиотека scipy и метод «revised simplex». Численные эксперименты позволили оценить время решения задач как O(m2n2). Размерности до 10 решаются за миллисекунды, до 50 - за секунды (см. рис.1).
Таблица 2
Библиотеки для линейной оптимизации_
Библиотека Программный код ограничения
cvxop mass1 = (9*x[0] + 5*x[1] <= 10)
pulp problem += 9*x1+ 5*x2 <= 10
scipy A_ub = [[90,5]]; b_ub = [10]
Время, мс Бремя, с
^ с о- о- с
^^Симплекс метод Венгерский алгоритм 1л с
Рис. 1. Время решения задачи
Если объемы продукции целочисленные, то транспортную задачу оптимизации можно сформулировать как известную комбинаторную задачу о назначениях [9]. В нашем случае необходимо
- каждый пункт потребления ] продублировать Б] раз;
- определить размерность задачи
N = тах(п, У^ Б]
- добавить недостающие фиктивные продукты или пункты потребления с нулевыми весами;
- задать значение -да весам фиктивных продуктов Ъ раз для каждого ] (фиктивные продукты можно доставлять только сверх минимальных ограничений ЪД
Воспользуемся библиотекой munkres [10], реализующей венгерский алгоритм решения задачи о назначениях. Теоретическая сложность алгоритма 0(№) совпала с результатами численных экспериментов. Размерности до 300 решаются за миллисекунды, до 3000 - за секунды (см. рис.1).
Выводы. Универсальные методы, в виде генетических алгоритмов, ансамблей моделей и т.п. бездумно применять к изначальной задаче неэффективно. При решении задачи оптимизации необходимо стремиться формали-зовывать проблему в виде четких математических моделей и определять наиболее эффективные методы их решений. И лишь затем применять инструменты для подбора параметров.
163
Список литературы
1. Загинайло М.В. Генетический алгоритм как эффективный инструмент эволюционных алгоритмов / М.В. Загинайло, В.А. Фатхи // Инновации. Наука. Образование, 2020. №22.С. 513-518.
2. Полуян А.Ю. Разработка нечеткого бионического алгоритма для решения задачи нахождения оптимального потока минимальной стоимости в транспортной сети / А.Ю. Полуян, А.Н. Герасименко // Естественные и технические науки, 2020. №12. С. 225-228.
3. Научная электронная библиотека [Электронный ресурс] URL: https://www.kaggle.com (дата обращения: 10.06.2022).
4. Kaggle: Your Machine Learning and Data Science Community [Электронный ресурс] URL: www.elibrarv.ru (дата обращения: 10.06.2022).
5. A flexible parallelised genetic algorithm [Электронный ресурс] URL: https://github.com/skoblov-lab/genetic (дата обращения: 10.06.2022).
6. A research toolkit for particle swarm optimization in Python [Электронный ресурс] URL: https://github.com/livmiranda921/pyswarms (дата обращения: 10.06.2022).
7. Фаррахов А.Т. Применение алгоритма роя частиц для решения задач оптимизации с распределенной генерацией // АгроЭкоИнфо, 2021. № 3 (45).
8. Решение задач линейного программирования с использованием Python [Электронный ресурс] URL: https: //habr. com/ru/post/330648 (дата обращения: 10.06.2022).
9. Пападимитриу Х., Стайглиц К. Комбинаторная оптимизация. М.: Мир, 1985. 512 с.
10. Munkres - Munkres implementation for Python [Электронный ресурс] URL: https://software.clapper.org/munkres (дата обращения: 10.06.2022).
Даничев Алексей Александрович, канд. техн. наук, доцент, [email protected], Россия, Красноярск, Сибирский федеральный университет,
Ликсонова Дарья Игоревна, канд. техн. наук, доцент, liksonovadi@yandex. ru, Россия, Красноярск, Сибирский федеральный университет,
Карнаухов Андрей Иванович, канд. техн. наук, доцент, karnaukhov.ai@mail. ru, Россия, Красноярск, Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева,
Войнаш Сергей Александрович, младший научный сотрудник, sergey [email protected], Россия, Рубцовск, Рубцовский индустриальный институт (филиал) Алтайский государственный технический университет им. И.И. Ползунова,
Меламед Наталья Владимировна, канд. техн. наук, доцент, [email protected], Россия, Санкт-Петербург, Санкт-Петербургский государственный лесотехнический университет имени С.М. Кирова
TO THE SELECTION OF AN EFFECTIVE SOLUTION ALGORITHM A SPECIAL CASE OF THE TRANSPORT PROBLEM
A.A. Danichev, D.I. Liksonovа, A.I. Karnaukhov, S.A. Voinash, N. V. Melamed
This paper demonstrates three approaches to solving an optimization problem, differing in their requirements for the level of mathematical literacy of the programmer. These are the genetic algorithm, the simplex method and the Hungarian algorithm.
Key words: genetic algorithm, transport problem, Hungarian algorithm.
Danichev Alexey Aleksandrovich, candidate of technical sciences, docent, adanichev@sfu-kras. ru, Russia, Krasnoyarsk, Siberian Federal University,
Liksonovа Daria Igorevna, candidate of technical sciences, docent, liksonovadi@yandex. ru, Russia, Krasnoyarsk, Siberian Federal University,
Karnaukhov Andrey Ivanovich, candidate of technical sciences, docent, [email protected], Russia, Krasnoyarsk, Reshetnev Siberian State University of Science and Technology,
Voinash Sergey Alexandrovich, junior researcher, sergey [email protected], Russia, Rubtsovsk, Rubtsovsk Industrial Institute (branch) of Polzunov Altai State Technical University,
Melamed Natalya Vladimirovna, candidate of technical sciences, docent, [email protected], Russia, St. Petersburg, St. Petersburg State Forest Technical University named after S.M. Kirov