TopCoder совместно с телесетью ESPN организуют конкурс, цель которого — разработка наилучшего алгоритма предсказания результатов футбольных матчей

Главное в написании программы для определения победителя не выбор языка программирования или методики разработки. Все начинается с алгоритма. Ни один программист не может начать писать код, пока не будет ясна логика работы приложения. Если алгоритм ошибочен, программа будет работать неэффективно, выдавать неточные результаты и тому подобными способами не оправдывать ожиданий.

Приятное с полезным

Разговоры по поводу оптимизации старых алгоритмов и создания новых, скажем честно, по большей части довольно скучны. Заниматься извлечением и анализом скучных старых корпоративных данных, конечно, важно, но иногда жизнь подбрасывает и гораздо более интересные задачи. И конечно, конкурс, который спонсирует телесеть ESPN, а организует компания TopCoder, должен привлечь внимание многих разработчиков. Хотя бы из-за размеров предлагаемых призов.

Задачка очень любопытная как с технической точки зрения, так и с точки зрения бизнеса.

"Мы пытаемся создать алгоритм, который предсказывал бы результаты матчей на основе данных о предыдущих выступлениях команд", - объясняет менеджер по проекту ESPN из компании TopCoder Билл Этвуд. В ESPN планируют применить полученные результаты для прогнозов результатов, которые будут передавать и во время трансляций, и в предварительных обзорах игр. Точность прогнозов позволит ESPN привлечь к экранам и на свой сайт больше зрителей и обойти конкурентов, указывает Этвуд.

Другими словами, проект не только сам по себе интересный, но у него есть и реальные деловые приложения, а полученные результаты можно будет без труда применить и к более скучным задачам ИТ. Можно было бы и сразу построить его на таком материале, но вряд ли это вызовет энтузиазм у программистов.

С точностью 77%

Как подробно объясняется на сайте ESPN, разработчикам будет предоставлен огромный объем данных: подробные описания всех матчей университетской лиги за четыре сезона.

Конкурс пройдет в четыре этапа. Предварительный этап уже прошел во время первой части футбольного сезона. Участники конкурса TopCoder усердно поработали. "За первые две недели мы получили фантастические результаты", - заявил старший вице-президент TopCoder Майк Моррис. Десятка лидеров конкурса предсказала 77% победителей игр, а это сопоставимо с наилучшими прогнозами букмекерских контор, утверждают в TopCoder.

"За первую неделю мы предсказали поражение Теннесси от Калифорнийского университета, тогда как по букмекерским ставкам Теннесси шел впереди со спредом 7,5 очка, - с гордостью заявил Моррис. - Во вторую неделю мы точно предсказали Мэриленду победу над Средним Теннесси с отрывом в 13 очков".

Сейчас участники конкурса проводят настройку алгоритмов для официального зачета.

"Вот вам схема, я пошел"

Организаторы используют любопытную бизнес-модель, которую Этвуд называет "мудрость наилучшего". Люди, которые способны придумать блестящий алгоритм, не всегда оказываются хорошими программистами для выполнения повседневных задач, а изобретение такого алгоритма может понадобиться только один раз в году. После этого разработка идет своим чередом, код пишется, и для алгоритмического гения больше нет работы. Конкурсы, подобные этому, позволяют компании заплатить только за один самый важный ответ. Другими словами: "Вот вам самая лучшая схема, а я пошел".

Конкурсы алгоритмов, которые проводит TopCoder (их много), нацелены именно на эту специфическую нишу, пояснил Этвуд. Поскольку разработчики соревнуются в написании лучшего алгоритма (лучшего — в данном случае дающего самый точный прогноз), то клиент может быть уверен, что алгоритм, за который он платит, действительно качественный. Это, как считает Этвуд, очень эффективная модель.

Она привлекательна и для разработчиков. Приз за первое место составляет 50 тыс. долл., и его дадут автору лучшего алгоритма - того, который покажет лучшие результаты по всему сезону университетской лиги (за исключением первых двух недель). Суммарный призовой фонд составляет 100 тыс. долл., и остальные деньги будут распределены между теми, кто займет места со второго по пятое.

Впрочем, задача эта не только для любителей американского футбола. В тройке лучших в таблице лидеров — участники из Польши, Египта и США. Чтобы объяснить разработчикам, как все устроено в американском футболе, Уилл Харрис из ESPN ведет блог Football 101, где помещаются обзоры игр, советы и справочная информация по этому виду спорта. Технической стороной проекта занимаются сотрудники TopCoder.

Поделитесь материалом с коллегами и друзьями