nemoW Posted February 12, 2013 Share Posted February 12, 2013 ОК, очень интересно будет увидеть результаты на бОльшей выборке и с новым РЭ. @ Quote Link to comment Short link Share on other sites More sharing options...
TurinDeNar Posted February 12, 2013 Author Share Posted February 12, 2013 ОК, очень интересно будет увидеть результаты на бОльшей выборке и с новым РЭ. Угу... и желательно с теми изменениями о которых я писал на предыдущей странице. @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted February 14, 2013 Share Posted February 14, 2013 В test7 формулы в каком порядке идут? А то непонятно, когда сливаться, а когда тащить, чтобы новую формулу не подвести :-) @ Quote Link to comment Short link Share on other sites More sharing options...
TurinDeNar Posted February 14, 2013 Author Share Posted February 14, 2013 В test7 формулы в каком порядке идут? А то непонятно, когда сливаться, а когда тащить, чтобы новую формулу не подвести :-) :))))))))))) Да вроде не менялся порядок. Обсуждаемая это 2-я экспериментальная, или 4-я общая:) @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted February 14, 2013 Share Posted February 14, 2013 :))))))))))) Да вроде не менялся порядок. Обсуждаемая это 2-я экспериментальная, или 4-я общая:) 1. По XWN, старая, глобальная 2. По XWN, старая, по танку 3. По XWN, обсуждаемая, глобальная 4. По XWN, обсуждаемая, по танку + глобальная @ Quote Link to comment Short link Share on other sites More sharing options...
TurinDeNar Posted February 14, 2013 Author Share Posted February 14, 2013 (edited) 1. По XWN, старая, глобальная 2. По XWN, старая, по танку 3. По XWN, обсуждаемая, глобальная 4. По XWN, обсуждаемая, по танку + глобальная Ясно, по расположению ничего не меняли. А по старым формулам получается уже в тесте7 с eff на xwn в расчетах перешли. Окейно, а то я ошибочно думал что их еще по eff считает. Edited February 14, 2013 by TurinDeNar @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted February 14, 2013 Share Posted February 14, 2013 If avglvl = T then Ean = Ea; else Ean = Ea +(Ea * ((avglvl-T)*0,05)) А смысл условия? Если avglvl = T, то второе условие дает то же, что и первое. Достаточно просто: Ean = Ea +(Ea * ((avglvl-T)*0,05)) if Et >0 then Eb = (((3/5 * Et * (100 + Rt - AvgW) / 100 )* ((100 + Rt - AvgW) / 100 ) + Кtb)) + ((2/5 * Ean * (100 + Ra - 48) / 100) * ((100 + Ra - 48) / 100) + Кab))) * ((100 + Ra - 48) / 100) + 0,25 * Klvl); else Eb= ((Ean * (100 + Ra - 48) / 100) * ((100 + Ra - 48) / 100) + Kab)) * ((100 + Ra - 48) / 100) + 0,25 * Klvl) Не помню выделенного жирным. У меня там 1 везде стоит. Надо бы это выделить в константу, чтобы не дублировать столько раз. вводим: Krt = (100 + Rt - AvgW) / 100 Kra = (100 + Ra - 48.5) / 100 И перепиши формулу, а то я в скобках разобраться не могу. Сделал в test8 @ Quote Link to comment Short link Share on other sites More sharing options...
TurinDeNar Posted February 14, 2013 Author Share Posted February 14, 2013 (edited) А смысл условия? Если avglvl = T, то второе условие дает то же, что и первое. Достаточно просто: Ean = Ea +(Ea * ((avglvl-T)*0,05)) Не помню выделенного жирным. У меня там 1 везде стоит. Надо бы это выделить в константу, чтобы не дублировать столько раз. вводим: Krt = (100 + Rt - AvgW) / 100 Kra = (100 + Ra - 48.5) / 100 И перепиши формулу, а то я в скобках разобраться не могу. Сделал в test8 Да, с условием я и правда протупил немного, перестараховался:) Вполне достаточно и Ean = Ea +(Ea * ((avglvl-T)*0,05)) Ну с учетом того что вводим Krt и Kra то по сути в той формуле что была меняем 1 на соответствующие константы, а также ранее (первоначально) прописанные в формуле (100 + Rt - AvgW) / 100 и (100 + Ra - 48) / 100 на соответствующие значения Krt и Kra соответственно тоже. Кроме того, в конечной формуле боевой эффективности в двух местах нужно не забыть заменить показатель общей эффективности по аккаунту (Ea), на показатель нормализованной эффективности (Ean). В общем по итогу конечная формула боевой эффективности игрока будет иметь такой вид: if Et >0 then Eb = (((3/5 * Et * Krt) * (Krt + Кtb)) + ((2/5 * Ean * Kra) * (Kra + Кab))) * (Kra + 0,25 * Klvl); else Eb= ((Ean * Kra) * (Kra + Kab)) * (Kra + 0,25 * Klvl) Спасибо Sirmax, что сделал. Вот в такой реализации это уже будет реально интересно. Скажи, я вот все спросить хотел... А вообще... сложно такое реализовать, чтобы 1-го игрока у которого выше всех эффективность по сравнению с остальными 29 игроками участвующим в этом бою, резало по боевой эффективности до уровня боевой эффективности топового игрока команды противника? Это я так, интересуюсь пока просто насколько это технически реально осуществить и не очень ли это ресурсоемко будет. Возможно это абсолютно и не нужно делать. Когда сможешь калькулятор сделать я с этой мыслью еще на нем поиграюсь, возможна она и совсем холостой окажется. Очень мне покоя не дает мысль что с этим нужно что-то делать, когда вот такие например команды формируются (это данные по конечной боевой эффективности Eb) Очень сильно на него одного результат получается завязан, а он ведь не машина и иногда вполне может реально затупить, так что самому потом перед собой стыдно:) Edited February 14, 2013 by TurinDeNar @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted February 14, 2013 Share Posted February 14, 2013 @TurinDeNar, Надо резать независимо от максимума/минимума. Надо выбрать некое минимальное значение(скажем 200) и все, что ниже считать 200, а также некое максимальное, скажем 2200 и всё что выше считать 2200. @ Quote Link to comment Short link Share on other sites More sharing options...
TurinDeNar Posted February 14, 2013 Author Share Posted February 14, 2013 (edited) @TurinDeNar, Надо резать независимо от максимума/минимума. Надо выбрать некое минимальное значение(скажем 200) и все, что ниже считать 200, а также некое максимальное, скажем 2200 и всё что выше считать 2200. А в принципе ведь мысль очень интересная. Нужно ее обдумать. Мне нравится если честно. В настоящий момент у нас получилась формула, которая максимально эффективно учитывает скил игрока и лвл боя в который он попал, исходя из его скила и возможностей машины (нужно кстати будет в 1-м посте привести все расчеты в соответствие). Теперь нам нужно просто предпринять действия, направленные на повышение эффективности прогноза. А вот это, это очень изящное решение будет... Когда Sirmax сможет подтянуть под текущую реализацию формулы калькулятор, мы просто сделаем выборку по боям какие значения максимальны, и будем думать над диапазоном. Вопрос только насколько это будет технически ресурсоемно для сервера, такие вот расчеты и подрезку делать. Когда мы сделаем подрезку, то диапазон сократится очень сильно и реально будет в пределах 40-60%, но за счет нормализации мы получим возможную бомбу, реально предсказывающую результат боя в 80-90% боев... наверно:) Sirmax, скажи а ты в тесте 8 коэффициент нормализации уже 2 сделал по этой формуле, или пока еще 1,5 оставил? Не могу понять из-за чего в некоторых анализируемых мною реплеях конечный расчетный показатель вырос - из-за внесенных изменений , из-за увеличения нормализации, либо под влиянием и того и другого в большей либо меньшей степени:) Хочу за сегодня (что уже сомнительно, учитывая последствия отмечания Дня святого Валентина еще с обеда:) ) и завтра внести актуальные изменения в первый пост по текущей реализации формулы в тесте 8. Edited February 14, 2013 by TurinDeNar @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted February 14, 2013 Share Posted February 14, 2013 Скажи, я вот все спросить хотел... А вообще... сложно такое реализовать, чтобы 1-го игрока у которого выше всех эффективность по сравнению с остальными 29 игроками участвующим в этом бою, резало по боевой эффективности до уровня боевой эффективности топового игрока команды противника? Это я так, интересуюсь пока просто насколько это технически реально осуществить и не очень ли это ресурсоемко будет. Возможно это абсолютно и не нужно делать. Ресурсы пофиг, считается на клиенте, там их навалом. :) Можно почти все, но нужен алгоритм, а то может получиться так, что вроде на словах понятно, а прописать по действиям не получается. @ Quote Link to comment Short link Share on other sites More sharing options...
TurinDeNar Posted February 14, 2013 Author Share Posted February 14, 2013 Ресурсы пофиг, считается на клиенте, там их навалом. :) Можно почти все, но нужен алгоритм, а то может получиться так, что вроде на словах понятно, а прописать по действиям не получается. Я там свой предыдуший пост дополнил, обрати внимание на вопрос про нормализацию. А алгоритм будет, не сомневайся:) Очень мне идея seriych понравилась:) @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted February 14, 2013 Share Posted February 14, 2013 Sirmax, скажи а ты в тесте 8 коэффициент нормализации уже 2 сделал по этой формуле, или пока еще 1,5 оставил? Не могу понять из-за чего в некоторых анализируемых мною реплеях конечный расчетный показатель вырос - из-за внесенных изменений , из-за увеличения нормализации, либо под влиянием и того и другого в большей либо меньшей степени:) Вроде не менял, должно быть 1.5. @ Quote Link to comment Short link Share on other sites More sharing options...
TurinDeNar Posted February 14, 2013 Author Share Posted February 14, 2013 (edited) Вроде не менял, должно быть 1.5. А ну и хорошо. Сейчас формула иногда уже реально дает достаточно сильные отклонения от 50% и с 1,5 нормализацией:))) меня это даже немного беспокоит:) Слишком уж она чувствительной получилась к статам игроков:) Edited February 14, 2013 by TurinDeNar @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted February 14, 2013 Share Posted February 14, 2013 Я вот поиграл сегодня... Часто четвертая формула дает прогноз противоположный первым трем. Там случаем выигрыш с поражением не перепутан? test-8 Хотя вроде часто и такой же прогноз. Очень мне идея seriych понравилась:) Я тебе еще одну мысль писал раньше, но ты промолчал:надо учитывать разброс рейтингов в команде. Средний рейтинг 1500 может получиться как 1000+2000, а может как 1500+1500. Очевидно, второй вариант сильнее, но средний рейтинг посчитается одинаковый. Надо внести поправку на среднеквадратичное отклонение рейтинга от среднего. Чем больше среднее отклонение, тем хуже. @ Quote Link to comment Short link Share on other sites More sharing options...
TurinDeNar Posted February 14, 2013 Author Share Posted February 14, 2013 (edited) Ну что, вроде привел формулу к текущему значению. Вот сухие цифры, безо всякой воды. Очень надеюсь что не ошибся нигде в корректировках:) 1. Кlvl - коэффициент степени возможного влияния техники на итог боя в зависимости от ее уровня и уровня текущего бояKlvl = (Tmax + Tmin) / 2 - T где,Tmax - максимальный уровень боя для данной техникиTmin - минимальный уровень боя для данной техникиT - уровень текущего боя (вычисленный по составу команд) 2. Ktb - коэффициент степени возможного влияния техники на итог боя в зависимости от количества проведенных на ней боев if Bt <= 50 then Ktb = 0; else if Bt <= 500 then Ktb = (Bt - 50) / 1000; else if Bt <= 1000 then Ktb = 0,45 + (Bt - 500) / 2000; else if Bt <= 2000 then Ktb = 0,7 + (Bt - 1000) / 4000; else Ktb = 0,95 + (Bt - 2000) / 8000 где,Bt - количество боев на текущей технике 3. Kab - коэффициент степени возможного влияния игрока на ход боя в зависимости от количества проведенных им боев в целом по аккаунтуif Ba <= 500 then Kab = 0; else if Ba <= 5000 then Kab = (Ba - 500) / 10000; else if Ba <= 10000 then Kab = 0,45 + (Ba - 5000) / 20000; else if Ba <= 20000 then Kab = 0,7 + (Ba - 10000) / 40000; else Kab = 0,95 + (Ba - 20000) / 80000 где,Ba - количество боев на аккаунте в целом 4. Krt - корректирующий коэффициент по степени отклонения % побед игрока на технике участвующей в бою от среднего показателя % побед игроков на данной технике в целом по серверу Krt = (100 + Rt - AvgW) / 100 где,Rt - процент побед на конкретной техникеAvgW - средний процент побед на данной технике в целом по серверу 5. Kra - корректирующий коэффициент по степени отклонения % побед игрока в целом по аккаунту от среднего расчетного показателя % побед игроков в целом по серверу Kra = (100 + Ra - 48.5) / 100 где,Ra - процент побед по аккаунту в целом 6. Ean - корректирующий коэффициент рейтинга эффективности игрока по аккаунту в целом, в зависимости от среднего уровня используемой им техники и уровня текущего бояEan = Ea +(Ea * ((avglvl-T)*0,05)) где,Ea - эффективность по аккаунту в целом {{xwn}}avglvl - средний уровень техники игрока на его аккаунтеT - уровень текущего боя (вычисленный по составу команд) 7. Eb - возможная боевая эффективность игрока в текущем бою в зависимости от эффективности игры на технике и опыта игры в целом по аккаунтуif Et >0 then Eb = (((3/5 * Et * Krt) * (Krt + Кtb)) + ((2/5 * Ean * Kra) * (Kra + Кab))) * (Kra + 0,25 * Klvl); else Eb= ((Ean * Kra) * (Kra + Kab)) * (Kra + 0,25 * Klvl) где,Et - эффективность конкретной техники {{teff}} 8. Возможная боевая эффективность всей командыEa = sum(Eb_ally)Ee = sum(Eb_enemy) 9. Wa, We - вероятность победы (для союзников и противников) Wa = (0,5 + (Ea / (Ea + Ee) - 0,5) * 1,5) * 100% для союзников, We = (0,5 + (Ee / (Ee + Ea) - 0,5) * 1,5) * 100% для противников) 10. P - итоговый отображаемый процент победы if Wa > 95% then Р = 95%; else if Wa < 5% then P = 5% Я вот поиграл сегодня... Часто четвертая формула дает прогноз противоположный первым трем. Там случаем выигрыш с поражением не перепутан? test-8 Хотя вроде часто и такой же прогноз. Я тебе еще одну мысль писал раньше, но ты промолчал: надо учитывать разброс рейтингов в команде. Средний рейтинг 1500 может получиться как 1000+2000, а может как 1500+1500. Очевидно, второй вариант сильнее, но средний рейтинг посчитается одинаковый. Надо внести поправку на среднеквадратичное отклонение рейтинга от среднего. Чем больше среднее отклонение, тем хуже. Гы... ну так епта.. она же особенная типа, что ей под остальные ровняться то:))) А если серьезно то нужно дождаться когда Sirmax найдет время сделать калькулятор под текущую реализацию (без него мы не сможем сделать многого) формулы. Потом сразу проведем бой (сделаем скрины расчетных значений) сразу же договоримся и закинем логстатфайл этого боя в калькулятор (чтобы не повлияло никакого вдруг обновление данных по какому нибудь из игроков), сразу глянем одинаково ли считает, и когда уже все будут понимать что все считается как написано, тогда будем мутить тему увеличения точности прогноза:) Edited February 14, 2013 by TurinDeNar @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted February 14, 2013 Share Posted February 14, 2013 тогда будем мутить тему увеличения точности прогноза:) В первую очередь нужна большая база боев. @ Quote Link to comment Short link Share on other sites More sharing options...
TurinDeNar Posted February 15, 2013 Author Share Posted February 15, 2013 (edited) Sirmaх, вчера немного покатался с новой формулой но не обратил внимания на одну вещь, на которую обратил внимание сегодня:) На экране загрузки боя, и в бою 3-я и 4-я формулы показывали одно значение (3-я - 52%, 4-я - 90%), а в финальной статистике уже немного другое (3-я - 50%, 4-я - 85%). Вопрос где показывает более правильно к описанному расчету?:) По результату расчета, несмотря на то что этой бой мы выиграли за 5 минут, вот реально еще когда увидел в окне загрузки стату бойцов и сейчас смотрю на скрине стату то вижу что 90% шанса победы в этом бою как-то многовато насчитало. Нет оно понятно, что формула противопоставила меня находящегося в топе против всей вражеской команды и в том числе против взвода Т2ЛТ которые попали в дно списка (один из которых, явно командир взвода:) в принципе неплохой боец со средним уровнем танков 6), и в то время когда другие уныло сказали "Чувак, дело пахнет сливом" эта как-то уж слишком оптимистично заявила "Чувак, на своей машине так попав, ты здесь завалишь полкоманды противника, захватишь базу практически в одиночку, а потом еще в состоянии послебоевого аффекта заедешь в параллельный бой идущий на соседней карте и заберешь с собой еще и там пару фрагов", но как-то я ей чета при предстартовом отсчете не очень поверил:)))) Хотя скорее всего что и зря... но не об этом речь. Я это к чему все... в плане повышения точности прогноза в формуле реально нужно подрезать максимальное значение боевой эффективности игроков, но без калькулятора очень тяжело определить его оптимальное значение:( А так бы попросили Jage выложить логстатфайл нескольких его боев "Фиолетовые против фиолетово-зеленых", внесли бы значения этих боев в калькулятор и прикинули бы оптимальное значение максимального показателя боевой эффективности игрока, значения выше которого уже имеет смысл обрезать и таким образом увеличили бы точность прогноза:) Edited February 15, 2013 by TurinDeNar @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted February 15, 2013 Share Posted February 15, 2013 А на реплее сколько показывает? @ Quote Link to comment Short link Share on other sites More sharing options...
TurinDeNar Posted February 15, 2013 Author Share Posted February 15, 2013 (edited) А на реплее сколько показывает? На реплее точно как и бою - 90%, я скрины с него делал. Просто в послебоевой статистике увидел расхождение так заскринил несоответствие, а в бою не скринил но там точно 90% было ( я еще подумал ну нах, какие 90%:)). Edited February 15, 2013 by TurinDeNar @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.