Помощь - Поиск - Пользователи - Календарь
Полная версия: Математика в футболе
Форум «Всё о Паскале» > Разработка ПО, алгоритмы, общие вопросы > Алгоритмы
cooler
Нужен алгоритм определения победителя матча по коэффициентам игроков. (математика)
Наверное, в зависимости от тактики
andriano
Алгоритм простой: кто больше забил мячей в ворота противника, тот и победитель.
Если забито одинаковое количество - проводится серия пенальти. Победитель, - опять же, кто больше забил.
cooler
Не так все просто.
В футболе я понимаю, можно не объяснять.
Проблема в другом - как определить кто больше забьет.
Как определить какая команда сильнее по составу, тактике, а не просто сложить втупую
коэффициенты игроков и сравнить.
andriano
Это уж как получится.
Две команды (одни и те же) в двух разных встречах могут показать различные результаты.
Если бы существовали алгоритмические способы получить результаты встречи без проведения игры, большой спорт давно бы уже умер.
renesko1
Мне тут в голову пришло следующие : допустим все честно считаем : по качеству игроков, по соотношению качества защиты и нападения, ну и усилее тренера в копилку (что бы нельзя было надыбать только на атаку а про защиту забыть (баланс)). А потом добавляем каждой команде random(x). Где x любое число.
Чем больше x тем материальнее удача, чем меньше тем призрачнее.
ps
Можно что б если команда выйграла ей добавлялся моральный дух. smile.gif
andriano
Цитата(renesko1 @ 3.05.2008 20:29) *

Мне тут в голову пришло следующие : допустим все честно считаем : по качеству игроков, по соотношению качества защиты и нападения, ну и усилее тренера в копилку (что бы нельзя было надыбать только на атаку а про защиту забыть (баланс)). А потом добавляем каждой команде random(x). Где x любое число.
Чем больше x тем материальнее удача, чем меньше тем призрачнее.
ps
Можно что б если команда выйграла ей добавлялся моральный дух. smile.gif

Примерно так я делал в стратегической игре: сначала для каждой единицы подсчитывался ее рейтинг (с учетом боевого духа и пр.), затем рейтинги складывались, вызывался рандом и определялся победитель примерно так:
if random(warunit[n].rating + warunit[k].rating - 1) < warunit[n].rating then
victory(warunit[n])
else
victory(warunit[k]);

renesko1
Часто футбол, по моему мнению, для многих является некой "войной" против других команд.
Хотя я футболом не увлекаюсь.smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.