"подкрутка 50%" - симуляция на ЯП
1369
215
От нечего делать решил написать свой алгоритм поведения типичной рейтинговой системы с получением фиксированных очков рейтинга в качестве результата игры (как в доте +30 -30). Алгоритм легко можно поменять как и для ELO-системы, но не о ней сейчас речь.
Принцип работы алгоритма1. На вход даем количество игроков (кратное 10, разумеется) и стартовый рейтинг. Например в доте он когда-то был 3500. Я же ввожу 3250 просто потому что хочется. Из этих данных формируется список игроков.
2. Начинают собираться игры среди игроков с максимально близким рейтингом. То есть за одну итерацию каждый игрок играет ровно 1 игру и получает за неё +30 или -30 (всё как в доте)
3. Для определения победившей в игре стороны у меня есть два алгортима:
а) чистейшие 50%: генерируется случайное из 2 чисел. выпало одно - победа первой пятерке, выпало второе - второй. (на видео 0:00-6:55)
б) более сложный алгоритм, в котором я пытался добавить значение "Личного скилла", которое как раз определялось заработанным рейтингом в предыдущих играх: я считал суммы рейтинга всех команд, в 10% случаев победу получала команда с более низким средним рейтингом, в 20% с более высоким и в 70% использовался алгоритм из пункта А. (на видео 7:12 - 8:19)
4. Меняем рейтинг всех игроков в зависимости от результата их игры.
5. Повторяем пункт 2 до бесконечности
Видео-демонстрация работы алгоритма
Спойлералгоритм 3.а 0:00-6:55, алгоритм 3.б 7:12 - 8:19
Код https://pastebin.com/PGbMPLqM
Итог: распределение рейтинга для людей знающих математику не стало сюрпризом, но некоторых, возможно, повергло в шок
Спойлерну или просто я не дописал подкрутку чтоб вычислять сильных игроков и специально им даже за победы давать -30 дабы удерживать на одном максимально низком рейтинге чтоб они наконец дропнули игру
![]()
на все вопросы отвечу ниже, готов провести дополнительные эксперименты с изменением/дополнением алгоритма, но результат, а именно распределение всё равно останется прежним как ни крути
![]()
не нужно переносить в раздел погромирования, она касается именно рейтинговой системы дота 2
Anti-Daun0312 сказал(а):↑на все вопросы отвечу ниже, готов провести дополнительные эксперименты с изменением/дополнением алгоритма, но результат, а именно распределение всё равно останется прежним как ни крути
Нажмите, чтобы раскрыть...Ну так это стандартное распределение -- что удивляться? Тут даже не в подборе дело.
Anti-Daun0312 сказал(а):↑в 10% случаев победу получала команда с более низким средним рейтингом, в 20% с более высоким
Нажмите, чтобы раскрыть...А есть инфа о разбросе авераг команд? По-хорошему он должен сводиться к минимуму, иначе без ЭЛО не обойтись.
Leo Ornstein сказал(а):↑У тебя.
Вообще в доте разброс увеличивается к 6к примерно. До 6к авераги в 99% были равные, когда их ещё показывали.Нажмите, чтобы раскрыть...спустя 20000 матчей при 1000 игроках распределение становится примерно равным на всех промежутках
матчи у меня максимально сбалансированные, то есть разброса нет или он минимален (я сортирую массив всех игроков по рейтингу, беру каждый раз 10 игроков подряд и мешаю их на 2 команды)
by_maza сказал(а):↑подкрутки нет, иначе думают только бездари
Нажмите, чтобы раскрыть...ты читать не обучен, да?
Anti-Daun0312 сказал(а):↑спустя 20000 матчей при 1000 игроках распределение становится примерно равным на всех промежутках
матчи у меня максимально сбалансированные, то есть разброса нет или он минимален (я сортирую массив всех игроков по рейтингу, беру каждый раз 10 игроков подряд и мешаю их на 2 команды)
Нажмите, чтобы раскрыть...Так а тогда параметр "личного скилла" влиял только на те немногие матчи, где аверага разная? Или я не так понял? Код не смотрел еще.
Leo Ornstein сказал(а):↑Так а тогда параметр "личного скилла" влиял только на те немногие матчи, где аверага разная? Или я не так понял? Код не смотрел еще.
Нажмите, чтобы раскрыть...личный скилл я имитировал перевесом команды по сумме рейтинга. то есть само число рейтинга я взял за базу скилла (чем его больше, тем сильнее игрок)
изначально формула в таком алгоритме была такой: 50% - побеждает команда с большей суммой рейтинга, 20% побеждает команда с меньшей суммой рейтинга, 30% побеждает случайная команда с вероятностью 1 к 2. но с такой формулой спустя 1000 итераций некоторые игроки улетали на 16000+ и мне это не понравилось и потому решил подрезать шансы
by_maza сказал(а):↑тс, хихихихих
Нажмите, чтобы раскрыть...Так ты согласен с тсом, зачем вы сретесь, поехавшие?
dakra сказал(а):↑Православный ответ для тупых
Нажмите, чтобы раскрыть...Ну я орнул с того, что они по сути одно точку зрения имеют, но все равно посрались.
Anti-Daun0312 сказал(а):↑но с такой формулой спустя 1000 итераций некоторые игроки улетали на 16000+ и мне это не понравилось и потому решил подрезать шансы
Нажмите, чтобы раскрыть...Ну тут надо просто меньше птс давать.
В реальной доте у нас тоже челы на 12к+ улетели из-за этого, когда топ-5000 с 6к начинается.
Leo Ornstein сказал(а):↑Так ты согласен с тсом, зачем вы сретесь, поехавшие?
Ну я орнул с того, что они по сути одно точку зрения имеют, но все равно посрались.
Ну тут надо просто меньше птс давать.
В реальной доте у нас тоже челы на 12к+ улетели из-за этого, когда топ-5000 с 6к начинается.Нажмите, чтобы раскрыть...я не срался с ним) это у него пригорело
Вау, так получается системы говноподбора нет потому что чел с форума написал простенький алгоритм
? Почему скилл измеряется только рейтингом? Когда я поднимал ПТС в реальных играх я начинал концентрироваться на игре, брать более сильных героев и тд. Но при этом у меня я становился лучше как игрок на потому что у меня было больше ммр, а потому что я играл лучше и вследствие этого рос рейтинг. Можно получить +200-300 ммр просто на случайном винстрике и что? Играть лучше не станешь.
ПС: ставил реальные эксперименты в самой доте (рейтинговые игры если что) пикал шейкера и давал эхо в пол, не попадаешь фиссурой, не покупаешь варды - после 5-7 таких игр начинает кидать тиммейтов которые играют заведомо лучше чем до этого действия.
До этого, кстати, был на своей основной роли, 15000+ урона по постройкам стабильно, топ 1-2 урона по героям на карте, в среднем 6 мвп за 20 игр стабильно, при этом в команде бесполезные орущие макаки через игру
. Поряда 10000 кстати, ага
. Только вот это не помогает. К слову в самых худших из худших играх поиск был не как обычно, а раза в 2 дольше, а после игры табличка "уровень порядочности: разный". О, да, наверное просто совпадение, угу. Просто на властелинах так мало игроков на 3х популярных регионах что поиск пол часа и у меня в команде звери а не люди. Кстати, после введения патруля такие таблички стали в разы реже выскакивать, но мне кажется это просто потому что никто не смотрел тот патруль и все руинеры смогли поднять более менее порядочность
bloodrain (2) сказал(а):↑Вау, так получается системы говноподбора нет потому что чел с форума написал простенький алгоритм
? Почему скилл измеряется только рейтингом? Когда я поднимал ПТС в реальных играх я начинал концентрироваться на игре, брать более сильных героев и тд. Но при этом у меня я становился лучше как игрок на потому что у меня было больше ммр, а потому что я играл лучше и вследствие этого рос рейтинг. Можно получить +200-300 ммр просто на случайном винстрике и что? Играть лучше не станешь.
ПС: ставил реальные эксперименты в самой доте (рейтинговые игры если что) пикал шейкера и давал эхо в пол, не попадаешь фиссурой, не покупаешь варды - после 5-7 таких игр начинает кидать тиммейтов которые играют заведомо лучше чем до этого действия.
До этого, кстати, был на своей основной роли, 15000+ урона по постройкам стабильно, топ 1-2 урона по героям на карте, в среднем 6 мвп за 20 игр стабильно, при этом в команде бесполезные орущие макаки через игру
. Поряда 10000 кстати, ага
. Только вот это не помогает. К слову в самых худших из худших играх поиск был не как обычно, а раза в 2 дольше, а после игры табличка "уровень порядочности: разный". О, да, наверное просто совпадение, угу. Просто на властелинах так мало игроков на 3х популярных регионах что поиск пол часа и у меня в команде звери а не люди. Кстати, после введения патруля такие таблички стали в разы реже выскакивать, но мне кажется это просто потому что никто не смотрел тот патруль и все руинеры смогли поднять более менее порядочность
Нажмите, чтобы раскрыть...поехавший школьник, я даже не читал что ты тут за оправдания насрал в стене текста. вне зависимости от любых внутренних параметров факт остается фактом - 5 человек после игры получают +30 и 5 человек -30 вне зависимости от того что происходило в игре, какое же ты тугое
![]()
Когда симуляция подбрасывания кубика, чтобы доказать, что на дистанции число орлов и решек стремится к 50%?
Или когда симуляция камень ножницы бумага, чтобы доказать систему 50%?
Бтв были идеи сделать норм прогу для нормального доказательства и опровержения, щас скину ссылку на темуhttps://dota2.ru/forum/threads/sistema-50-nauchnyj-proekt.1453078/#post-26006253
Anti-Daun0312 сказал(а):↑бтв чтоб ты там не рассказывал про поведение в самой игре - выход всегда один и тот же, который я расписал 2к школьнику сверху
Нажмите, чтобы раскрыть...
https://dota2.ru/forum/threads/sistema-50-nauchnyj-proekt.1453078/#post-26006253
Islamic_crusader сказал(а):↑Когда симуляция подбрасывания кубика, чтобы доказать, что на дистанции число орлов и решек стремится к 50%?
Или когда симуляция камень ножницы бумага, чтобы доказать систему 50%?
Бтв были идеи сделать норм прогу для нормального доказательства и опровержения, щас скину ссылку на тему
Нажмите, чтобы раскрыть...бтв чтоб ты там не рассказывал про поведение в самой игре - выход всегда один и тот же, который я расписал 2к школьнику сверху
Anti-Daun0312 сказал(а):↑От нечего делать решил написать свой алгоритм поведения типичной рейтинговой системы с получением фиксированных очков рейтинга в качестве результата игры (как в доте +30 -30). Алгоритм легко можно поменять как и для ELO-системы, но не о ней сейчас речь.
Принцип работы алгоритма1. На вход даем количество игроков (кратное 10, разумеется) и стартовый рейтинг. Например в доте он когда-то был 3500. Я же ввожу 3250 просто потому что хочется. Из этих данных формируется список игроков.
2. Начинают собираться игры среди игроков с максимально близким рейтингом. То есть за одну итерацию каждый игрок играет ровно 1 игру и получает за неё +30 или -30 (всё как в доте)
3. Для определения победившей в игре стороны у меня есть два алгортима:
а) чистейшие 50%: генерируется случайное из 2 чисел. выпало одно - победа первой пятерке, выпало второе - второй. (на видео 0:00-6:55)
б) более сложный алгоритм, в котором я пытался добавить значение "Личного скилла", которое как раз определялось заработанным рейтингом в предыдущих играх: я считал суммы рейтинга всех команд, в 10% случаев победу получала команда с более низким средним рейтингом, в 20% с более высоким и в 70% использовался алгоритм из пункта А. (на видео 7:12 - 8:19)
4. Меняем рейтинг всех игроков в зависимости от результата их игры.
5. Повторяем пункт 2 до бесконечности
Видео-демонстрация работы алгоритма
Спойлералгоритм 3.а 0:00-6:55, алгоритм 3.б 7:12 - 8:19
Код https://pastebin.com/PGbMPLqM
Итог: распределение рейтинга для людей знающих математику не стало сюрпризом, но некоторых, возможно, повергло в шок
Спойлерну или просто я не дописал подкрутку чтоб вычислять сильных игроков и специально им даже за победы давать -30 дабы удерживать на одном максимально низком рейтинге чтоб они наконец дропнули игру
![]()
на все вопросы отвечу ниже, готов провести дополнительные эксперименты с изменением/дополнением алгоритма, но результат, а именно распределение всё равно останется прежним как ни крути
![]()
не нужно переносить в раздел погромирования, она касается именно рейтинговой системы дота 2
Нажмите, чтобы раскрыть...
автор показал людям бином ньютона без смс и регистрации? =)
Тема закрыта
-
ЗаголовокОтветов ПросмотровПоследнее сообщение
-
A1lfather_YT 19 Jun 2024 в 12:51Сообщений: 0 19 Jun 2024 в 12:51
Сообщений:0
Просмотров:0
-
Сообщений:7
Просмотров:9
-
Сообщений:7
Просмотров:8
-
Сообщений:3
Просмотров:3
-
Сообщений:3
Просмотров:4
