16:34 Шайтан Шмульян! | |
Маленькая заметочка по подсчету коэффициента Шмульяна в женском чемпионате Сарова 2019 года. Определение из шашечного кодекса: Коэффициент Шмульяна Система коэффициентов Шмульяна. Сначала суммируются очки участников, у которых игрок выиграл; затем суммируются очки участников, которым он проиграл. Разница между этими величинами является коэффициентом участника. Женщины играют по круговой системе, в каждом туре две партии и учитываются все очки. И тут возникает нетоднозначность определения. Участник у которого выиграли 1.5-0.5 или 2-0 он же подходит под определение: "участников, у которых игрок выиграл"? И на мой первый взгляд (надеюсь математический всетаки :) определение не несет разницы для выигрыша 1.5-0.5 или 2-0. По программистски (я еще и программист плин) нужен цикл по участникам и учет выигрыша этого участника только один раз. С другой стороны, почему бы не учесть "участников" из определения дважды? Две победы, два участника хоть он один и тот же :) Нет же сноски что только один раз участник учитывается! Констатируем факт: определение имеет неоднозначность :) Говорим ответ: 2. Второе! Муж есть борщ, а жена его спрашивает: -Почему ты все время молчишь? Кто для тебя важнее: я или борщ? - Первое! Вопщем каждый участник может учитываться по числу партий. Почему бы не взять другую формулировку: "За каждую победу прибавляются очки побежденного, за проигрыш вычитаются". И здесь уже цикл (опять программизм) идет по победам и проигрышам, а не по участникам! Играете систему микроматчей: каждого участника можно выиграть только один раз - понятия "победа-проигрышь-участник" "равнозначны". Играете по две партии - каждая партия приносит победу и вклад в коэффициент! Десять партий - победил 10 раз - 10 раз прибавил очки побежденного к своему коэффициенту! И напоследок хочется выразить огромнейшее спасибо Владимиру Скрабову, который ответил на мой вопрос за пару минут по фесбуку и прояснил эти неоднозначности: Я сразу все понял :)) О чем тут и сообщаю. И еще один красивый момент - математическо-программистский. Красивые формулы-определения красиво ложатся в программный код. В моей программе подсчета коэффициента Шмульяна в цикле по участникам всего одна строчка: КофШмульяна = КофШмульяна + ОчкиСоперника * (2 * МойРезультатВстречи - МаксимальноВозможныйРезультатВстречи) Например, 2 партии, тогда МаксимальноВозможныйРезультатВстречи = 2 и если мой результат: 0 : КШ = КШ - 2 * ОчкиСоперника Два поражения, два минуса 0.5: КШ = КШ - ОчкиСоперника Одно поражение, один минус, ничья не учитывается 1: КШ не меняется - ничья не учитывается 1.5: КШ = КШ + ОчкиСоперника Одна победа один плюс 2: КШ = КШ + 2 * ОчкиСоперника Две победы, два плюса! простая формула в программе и все красиво учитывается! Значит все верно!
Ну и коллекция (пополняемая) фраз местных сцециалистов: - Да я уже все это считал много раз! - У вас все неправильно! | |
|
Всего комментариев: 0 | |