Автоматизированная система скаутинга в футбольном клубе с использованием методов динамического программирования
Журнал: Научный журнал «Студенческий форум» выпуск №10(61)
Рубрика: Технические науки
Научный журнал «Студенческий форум» выпуск №10(61)
Автоматизированная система скаутинга в футбольном клубе с использованием методов динамического программирования
Футбольный клуб в современном мире — это уже целостное предприятие, со своей материальной и технической базой, с обслуживающим персоналом, менеджерами, скаутами и так далее.
Селекция — очень важный отдел в структуре клуба, наряду с тренерами, спортивными директорами, менеджерами, аналитиками и игроками.
Отдел селекции и скаутинга выполняет ряд задач, которые в существенной степени предопределяют результат команды, стиль игры и стратегическое развитие футбольного клуба на несколько лет вперед. Основные задачи селекционеров:
- Поиск и оперативный подбор игроков под определенные характеристики с оптимальным соотношением цены и качества.
- Расстановка приоритетов среди кандидатов. Предоставление полного спектра информации о потенциальном новичке в виде подробного аналитического и статистического отчетов об игровых качествах и проверенной инсайдерской информации о личностных и человеческих качествах кандидатов. Также выявление зон уязвимости, зон сложности [1].
В настоящее время большое количество клубов из стран бывшего СНГ отстают в области скаутинга от передовых клубов Европы. Большое количество финансовых, трудовых и временных ресурсов затрачивается на поиск игроков, способных усилить клуб в игровом плане, либо получить актив на будущее с целью последующей перепродажи. Проблемой этих клубов является то, что процесс скаутинга кардинально различается в рамках одной страны, а иногда, и в рамках одного клуба. Так, как данный процесс является достаточно сложным и требует больших ресурсов для просмотра игроков, многие клубы обращаются в сторонние организации для предоставления информации о потенциальных новичках.
Летом 2018 года клубы из пяти ведущих ассоциаций совершили 1 629 покупок на трансферном рынке – на 0,6 % больше, чем в прошлом году. Количество активных клубов возросло с 431 до 433 (+2,8 %). В то же время среднее количество трансферов-покупок на активный клуб слегка снизилось: с 3,76 % до 3,68 % [2].
На рисунке представлены количество трансферов и затрат на покупки игроков в клубах из топ-5 чемпионатов Европы во время летнего трансферного окна.
Рисунок 1. Динамика затрат на трансферы футбольных клубов Европы
В последнее время скаутинг динамично развивается. Создаются специальные компьютерные программы, которые позволяют следить за игроками и открывать новых ярких спортсменов. Среди таких программ можно выделить «Scout 7», «Wyscout» [3], «InstatFooball». Запуск единой базы Wyscout в 2010-м предоставил футбольным клубам новые возможности в области скаутинга.
Включая в себя огромное количество видео роликов и «нарезок», этот портал изменил само представление о трансферном рынке, который, благодаря этому, стал еще более комплексным. Когда на кону стоят большие деньги, возможность получить детальное представление о необходимом игроке сложно переоценить.
Однако, даже несмотря на наличие таких мощных инструментов как «Wyscout», окончательное решение по поводу покупки того или иного игрока остается за руководством клуба или спортивным директором. Для правильного принятия решения необходимо автоматизировать данный процесс, а также процесс подбора кандидатов. Создание автоматизированной программной поддержки системы скаутинга обеспечит более качественное выполнение поиска подходящих игроков для футбольного клуба, а также сократит материальные и временные затраты.
Для принятия решения о покупке игрока спортивному директору клуба необходимо понимать стратегию клуба и задачу, которую должна решить покупка новичка. Комплектация футбольной команды во многом напоминает процесс подбора персонала на предприятии, но со своими особенностями.
Обобщенно, комплектацию команды можно рассмотреть, как оптимизационную задачу в теории принятия решений, а именно «задачу о рюкзаке», которую можно решить несколькими способами. Одним из самых распространенных методов решения данной задачи является метод динамического программирования. Суть данного метода заключается в следующем: из неограниченного множества предметов со свойствами «стоимость» и «вес» требуется отобрать некое число предметов таким образом, чтобы получить максимальную суммарную стоимость при ограниченном суммарном весе. В нашем случае необходимо получить максимальную полезность от игрока при ограниченном бюджете на трансферы или зарплаты игрокам. В качестве «стоимости» рассматривается совокупный показатель из навыков игроков, возраста, доступности на трансферном рынке, возможности последующей перепродажи. В данном случае мы имеем разновидности задачи о ранце — многомерный: вместо «веса» дано несколько разных ресурсов стоимость на трансферном рынке, заработная плата, лимит на игроков из какой-либо страны.
Динамическое программирование [4] в теории управления и теории вычислительных систем — способ решения сложных задач путём разбиения их на более простые подзадачи. Ключевая идея в динамическом программировании достаточно проста. Как правило, чтобы решить поставленную задачу, требуется решить отдельные части задачи (подзадачи), после чего объединить решения подзадач в одно общее решение. Подход динамического программирования состоит в том, чтобы решить каждую подзадачу только один раз, сократив тем самым количество вычислений. Это особенно полезно в случаях, когда число повторяющихся подзадач экспоненциально велико.
Динамическое программирование обычно придерживается двух подходов к решению задач:
- Нисходящее динамическое программирование: задача разбивается на подзадачи меньшего размера, они решаются и затем комбинируются для решения исходной задачи. Используется запоминание для решений часто встречающихся подзадач.
- Восходящее динамическое программирование: все подзадачи, которые впоследствии понадобятся для решения исходной задачи просчитываются заранее и затем используются для построения решения исходной задачи. Этот способ лучше нисходящего программирования в смысле размера необходимого стека и количества вызова функций, но иногда бывает нелегко заранее выяснить, решение каких подзадач нам потребуется в дальнейшем.
Совокупный показатель полезности футболиста должен быть количественным, задаваться числом. Однако существуют не количественные показатели, которые характеризуют игрока, такие как владение иностранными языками, национальность, опыт выступления в различных чемпионатах.
Для того, чтобы рассчитать совокупный показатель полезности игрока («стоимость» с точки зрения «задачи о ранце») необходимо вывести формулу, которая будет принимать все характеристики игрока в качестве входных данных. Результатом вычисления данной формулы должен быть совокупный показатель полезности игрока. Данную проблему можно решить при помощи решения задачи регрессии машинного обучения.