Проверка систем расчета рейтинга.

Тема в разделе "Машинное отделение", создана пользователем NS, 18 дек 2006.

  1. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    И проверка разных формул для оценки мат. ожидания результата.
    Какие будут предложения?

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

    Турниры и результаты - можно использовать WBEC.
  2. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Во WBEC все системы будут давать немного искаженные результаты, т.к. это турнир на основе лиг.

    Я предлагаю делать симуляции. Создаем набор соперников с реальными рейтингами от 1500 до 3000.
    Далее они играют по какой-либо системе. После большого количества партий по тестируемой системе расчитываем их рейтинги. И сравниваем их с реальными. Т.о. можно найти внутренние противоречия в рейтинговой системе.

    У меня есть предположение, что система Эло будет завышать рейтинги, если был высокий рейтинг соперников и занижать, если низкий.
  3. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Система ЭЛО - я же выложил программу.
    Без разбиения на лиги, даже с формулой пересчета рейтингов после каждой партии предложенной ЭЛО - сбоя не дает. С разбиением на лиги сбой дает не формула расчета мат. ожидания предложенная ЭЛО, а предложенная им формула пересчета рейтинга после каждой партии/Турнира (несходимость метода)

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

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
  5. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Заканчивай Эло писать прописными.
    У тебя средний рейтинг соперников был одинаковый? Тогда почти все рейтинговые системы будут работать правильно. Надо чтобы у одного игрока с 2000 соперники были 1800, у другого с 2000 соперники тоже 2000, а у третьего соперники 2200. И какая из систем сможет дать всем трем по 2000.

    Система лиг здесь не обсуждается. У тебя лиги формировались по рейтингу? Надо по результатам турниров. Тогда искажения должны постепенно сглаживаться. Система расчета рейтингов здесь не при чем.

    Это не годится. Так почти любая рейтинговая система будет работать правильно.
  6. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    В том дело, что не будет :)
    Линейные системы расчета мат. ожидания от разницы в силе дадут сбой!!!

    У меня тест приближенный к практической ситуации, когда лиги формируются именно согласно рейтингу.
    Переписать на деление по лигам согласно результату совсем не сложно, ситуация конечно не жизненная в турнирах людей (а в турнирах программ не используется формула ЭЛО пересчета рейтингов после каждой партии/турнира), но формула пересчета ЭЛО даст такой-же сбой и в этом случае :)
  7. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Работать "почти" правильно будет любая система.
    Но я предполагаю что чистая формула Эло расчета мат.ожидания даст лучший результат (меньшее отклонение) чем искаженная формула Эло используемая разработчиками BayesElo
  8. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    А я думаю, что только линейные и могут работать без сбоев. Вот это и нужно проверить.

    Практическая ситуация меня не интересует. Если обмен между лигами будет по спортивному принципу, то рейтинги в конце концов должны приближаться к реальным.
  9. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Мне кажется, что формула Эло вообще не работает. Только в частном случае, когда она близка к линейной (когда рейтинги соперников близки). При увелич. разницы в рейтингах формула Эло вроде бы глючит.

    Вот это интересно проверить.
  10. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Не должны!!!
    Например Оливиер (ChessWar) использовал систему пересчета рейтингов после каждого турнира, деление на лиги у него согласно результату - и формула ЭЛО дала сбой!!!
    Сбой будет примерно таким-же, и цифры расхождение при 10-ти лигах будут примерно те-же (700 пунктов ЭЛО), что абсолютно недопустимо.
    Сейчас проверю :)
  11. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    предыдущие тесты кстати показали что при линейных системах даже на матчах двух соперников с разной силой - мат. ожидание разницы в силе не равно наиболее вероятной разнице в силе, а при системе ЭЛО - практически равны...
  12. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Я не говорю о реальных турнирах, а о миллионах последовательных турниров с обменом между лигами. При достаточном числе турниров рейтинги должны быть близки к реальным.
    А обсчет рейтинга после турнира вообще нонсенс. Имеет смысл считать рейтинг только по всем партиям, уже после всех турниров.
    Системы обсчета после каждого турнира/партии меня мало интересуют.
  13. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    На двух соперниках никакая система не может дать сбоя, т.к. там все по определению. Сколько система сказала, такая и есть разница. Какое тут может быть противоречие?

    системе ЭЛО - блин, приятно видеть система НЕФЕДОВА? Так писать некрасиво.
  14. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Если посчитать рейтинги по всем партиям, то сбоя быть не может - это и так понятно.
    Речь шла о сбое метода Эло пересчета рейтингов после каждой партии/Каждого турнира.
    И если по системе Эло сбой будет при обоих способах деления на лиги (а программа именно этот сбой, который происходит на самом деле, и подтверждается многими клубами в которых практикуется деление на лиги и демонстрирует), то при расчете рейтинга по всем партиям - сбоя не будет так-же в обоих случаех.

    А как делим на лиги - согласно рейтингу или согласно результата - значения не имеет. :)
  15. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Я в новых постах стараюсь писать строчными буквами :)
    Скоро и букву "Э" сделаю маленькой :)
  16. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Кстати, было бы неплохо, если бы ты всавлял пустые строки в текст и пользовался пробелами в качестве разделителей. Так он просто сливается в одну кашу. Очень трудно вникать.
  17. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Когда разделяю блоки пустыми строками - меньше текста влезает на экран, и мне самому тяжелее его читать.
  18. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Не надо :)

    Если считать по всем партиям, то система Эло сбоит при большой разнице в рейтинге соперников.
  19. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Любой алгоритм можно всунуть в 10 - 25 строк кода. Это вполне влазит на экран. От этого его восприятие только улучшается.

    А еще такой текст:

    KolPlayer:=KolLig*KolVLige;

    читается как:
    KolPlayerравноKolLigумножитьKolVLige;

    Не лучше ли писать:

    KolPlayer := KolLig * KolVLige;

    и прочитать гораздо легче:

    KolPlayer равно KolLig умножить KolVLige;
  20. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Есть стандарты написания кода, например в системах в которых я пишу - они не предпологают наличие пустых строк вообще :)
    Перед началом каждого блока и каждой процедуры вставляется комментарий и всё...
    Насчет пробелов между операциями - я начинал с языков которые не допускают таких пробелов, поэтому мне тяжело себя заставить их делать, хотя стараюсь, но иногда забываю :)
  21. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Комментарий выделяется отдельным цветом - поэтому наличие пустых строк и не нужно :)
  22. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Я все читаю в обычных редакторах. Раскраску не очень люблю.
  23. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    У меня стоит Борланд Студио, поэтому все тексты я смотрю в нем вместе с раскраской.
    Если смотреть в обычных текстовых редакторах - тогда конечно отсутствие пустых строк здорово мешает.
  24. ghsdjs Зарегистрирован

    Рег.:
    18.11.2007
    Сообщения:
    4
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Люди плиз помогите. мне для моего шахматного сайта нужно какую нить бесплатную прогу для расчета рейтинга! Пробовал залезть по ссылке которую дал NC, но там ничего вроде нет. да и я по англ.не понимаю :((
  25. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Срок годности файла истек, поэтому и не качается. Для шахматного сайта программа рассчитывающая рейтинг по такому принципу не нужна, достаточно простейшей, рассчитывающей стандартным ФИДЕшным способом.
  26. ghsdjs Зарегистрирован

    Рег.:
    18.11.2007
    Сообщения:
    4
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    а где ее можно найти? Я искал в кугле, но к сожалению не нашел
  27. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
  28. ghsdjs Зарегистрирован

    Рег.:
    18.11.2007
    Сообщения:
    4
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    нет, я искал другое, и похоже нашел!!! только это не программа а скрипт. куда вписываешь рейтинги и он сам вычисляет кому и сколько в случае победы тех или других. Всем спасибо, кто хотел помочь
  29. TopicStarter Overlay

    NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Так в ссылке в предыдущем посте и есть формула в две строчки - кому и сколько.

Поделиться этой страницей