Jump to content
Korean Random
TurinDeNar

[Формула расчета шансов на победу / Chance to win formula]

Recommended Posts

Жаль, но пока не могу поучаствовать, без компа сижу:( 

Проверить наверно просто, включить запись статы в конфиге и зайти в бой, а потом только лог этого боя прогнать по проге и сравнить с реплеем какой шанс был в клиенте. Только кто сделает 

 

 

Sirmax, попросил своего младшего сыграть 1 бой с записью в логфайл статы. 

 

 

Вот скрин этого боя с рассчитанными значениями формул:

shot_267.1359994579.jpg

 

А это ссылка на логстатфайл этого 1 боя. Надеюсь он не перепутал, что я ему по телефону говорил сделать:) 

http://zalil.ru/34230521

 

По этому логу и скрину можно проверять насколько правильно формулы в прогу вбиты. Я хз даже чем еще могу помочь:( 

 

seriych, видишь как уже столбцы начали красиво выравниваться когда по среднему лвл инфа пошла;)) Но млин, хоть это и не относится к обсуждаемой теме 3 символа на средний лвл это реально много:) Мне кажется нужно округлять до целых:) 

Edited by TurinDeNar

Share this post


Link to post

Short link
Share on other sites
upd: сделал расчет первой формулы, наверняка с ошибками, пока первое приближение.

Эммм... Опять же. Как определить, прогноз на победу какой команды дан? Или всегда на победу первой в данном случае?

Share this post


Link to post

Short link
Share on other sites

 

Эммм... Опять же. Как определить, прогноз на победу какой команды дан? Или всегда на победу первой в данном случае?

первая колонка - кто победил. что с ничьей не знаю, нужна стата такого боя.

 

Жаль, но пока не могу поучаствовать, без компа сижу:(

кажется нужно округлять до целых:)

да ты так сильно не усердствуй, мы не спешим.

уровень одной цифрой уже сделал, еще не выкладывал.

Share this post


Link to post

Short link
Share on other sites

Самое главное это где потом нормальных этих логстатфайлов набрать для анализа:( Мои бои совсем не подходят, сами видите как формулы переклинивает - впервые после 180 отсмотренных реплеев nemoW увидел шанс на победу по 4-й формуле 91%:) 

Нужно уже сейчас народ просить кто играет с XVMвским файлом FinalStatistic  и не менял его на аналогичный файл из статмода включить в конфигфайле запись статы в файл, а то и анализировать нечего будет:( 

Share this post


Link to post

Short link
Share on other sites
первая колонка - кто победил

Это я понимаю. А процент отображается на победу первой команды или команды, в которой автор реплея/статы?



Мои бои совсем не подходят
Вот я и говорю, нужны реплеи только от игроков со средним рейтингом.

Share this post


Link to post

Short link
Share on other sites

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

 

 

Честно говоря, я совершенно не рассчитывал, что кто-то будет смотреть мои реплеи.:( Мне несколько неудобно - играю я средненько, а ты явно лучше меня, так что вряд ли мои реплеи просматривать было интересно и занимательно.

xvm-stat.zip

Share this post


Link to post

Short link
Share on other sites

Это я понимаю. А процент отображается на победу первой команды или команды, в которой автор реплея/статы?

 

первой, тут уже автор реплея не важен, просто сравниваются две команды.

Share this post


Link to post

Short link
Share on other sites
Я там не зря писал конечный счет боя. Была мысль покрутить еще с этим, и определить эффективнсоть формул в зависимости от рассчитанного процента побед и того насколько легко далась победа:)

Совсем забыл про этот пост. Тут вопрос непростой. У меня есть два противоположных ответа и вроде оба имеют обоснование :-)

1) Нас абсолютно не интересует, сколько танков у кого осталось. Формула должна предсказывает исход боя, независимо от того, сколько танков осталась.

2) Да, процент предсказания можно рассматривать в качестве показателя, насколько сложно будет играть, тогда это имеет смысл. Более того, тогда можно вообще не принимать во внимание итог, а только сколько танков осталось. 

Я в ступоре, если честно. В принципе всё зависит от того, как мы позиционируем формулу: вероятность победы, или число, показывающее, насколько сложно будет играть с соперниками.



первой
Отлично.

Share this post


Link to post

Short link
Share on other sites

Честно говоря, я совершенно не рассчитывал, что кто-то будет смотреть мои реплеи.:( Мне несколько неудобно - играю я средненько, а ты явно лучше меня, так что вряд ли мои реплеи просматривать было интересно и занимательно.

attachicon.gifxvm-stat.zip

NemoW, да ну брось, хорошо ты играешь. За помощь тебе спасибо огромное, без твоих реплеев и вот сейчас этого статлогфайла не получилось бы того, что планируется. 

 

 

Совсем забыл про этот пост. Тут вопрос непростой. У меня есть два противоположных ответа и вроде оба имеют обоснование :-)

1) Нас абсолютно не интересует, сколько танков у кого осталось. Формула должна предсказывает исход боя, независимо от того, сколько танков осталась.

2) Да, процент предсказания можно рассматривать в качестве показателя, насколько сложно будет играть, тогда это имеет смысл. Более того, тогда можно вообще не принимать во внимание итог, а только сколько танков осталось. 

Я в ступоре, если честно. В принципе всё зависит от того, как мы позиционируем формулу: вероятность победы, или число, показывающее, насколько сложно будет играть с соперниками.

 

Отлично.

 

 

И то, и то:))) Вероятность победы и насколько тяжело/легко она может даться. Во всяком случае я именно так и воспринимаю процент, который вижу перед боем:) А чисто по итогу (сколько танков осталось) смотреть нельзя потому что бои заканчивающиеся захватом базы при разном количестве оставшихся танков будут погрешность давать.   Хотя и правда немного разные понятия:)

Edited by TurinDeNar

Share this post


Link to post

Short link
Share on other sites

теоретически, можно определить как завершился бой - всех убили, или захват и т.д. Вообще, у нас есть вся инфа, которая показывается в финальной статистике.

Share this post


Link to post

Short link
Share on other sites

И все это что мы пытаемся сделать, перечеркивается косяками API (уныло так). 

Share this post


Link to post

Short link
Share on other sites
теоретически, можно определить как завершился бой - всех убили, или захват и т.д. Вообще, у нас есть вся инфа, которая показывается в финальной статистике.

Думаю пока не заморачиваться и учитывать только реальный исход боя.

Я еще забыл в первом пункте добавить, что статистика побед должна по идее уже учитывать в себе победы с любым счетом, поэтому если мы будем для оценки предсказания использовать функцию нормального распределения, то как бы автоматом это учитываем. Как-то так.



@TurinDeNar,

Сделал нормализацию всех четырех формул к одинаковому среднему отклонению от 50%. Выбрал отклонение 20%. В итоге дополнительные коэффициенты растяжения такие:

Ф1 = 1,80

Ф2 = 1,68

Ф3 = 1,48

Ф4 = 1,99

Добавил еще одну оценку: среднеквадратичное отклонение предсказания от реального результата. Что это такое: пусть формула предсказала победу с вероятностью 70%. Тогда если случилось поражение, то отклонение |0-70%|=70%, если ничья |50%-70%|=20%, если победа |100%-70%|=30%. Так вот, среднее значение этих отклонений показывает, насколько близко к правильному результату в среднем показывает формула. Чем меньше отклонение, тем лучше. Если формула всегда попадает точно, то отклонение будет 0.

Для наглядности добавил еще одну формулу предсказания: она тупо дает случайное число от 5% до 95%

post-8781-0-16943000-1360011353_thumb.png

Однако пока не сделал главного: не реализовал правильную функцию раздачи баллов (просто там надо почитать кое-что про функцию распределения).

Если что, по идее линейная должна быть чуть ближе к ней, чем квадратичная. Но обе далеки, так что результаты могут быть другими. Вполне вероятно, что оценка по ней будет похожа на среднее отклонение, так что победителями вероятно окажутся Ф2 и Ф4.

Share this post


Link to post

Short link
Share on other sites

Думаю пока не заморачиваться и учитывать только реальный исход боя.

Я еще забыл в первом пункте добавить, что статистика побед должна по идее уже учитывать в себе победы с любым счетом, поэтому если мы будем для оценки предсказания использовать функцию нормального распределения, то как бы автоматом это учитываем. Как-то так.

@TurinDeNar,

Сделал нормализацию всех четырех формул к одинаковому среднему отклонению от 50%. Выбрал отклонение 20%. В итоге дополнительные коэффициенты растяжения такие:

Ф1 = 1,80

Ф2 = 1,68

Ф3 = 1,48

Ф4 = 1,99

Добавил еще одну оценку: среднеквадратичное отклонение предсказания от реального результата. Что это такое: пусть формула предсказала победу с вероятностью 70%. Тогда если случилось поражение, то отклонение |0-70%|=70%, если ничья |50%-70%|=20%, если победа |100%-70%|=30%. Так вот, среднее значение этих отклонений показывает, насколько близко к правильному результату в среднем показывает формула. Чем меньше отклонение, тем лучше. Если формула всегда попадает точно, то отклонение будет 0.

Для наглядности добавил еще одну формулу предсказания: она тупо дает случайное число от 5% до 95%

attachicon.gifscores3.png

Однако пока не сделал главного: не реализовал правильную функцию раздачи баллов (просто там надо почитать кое-что про функцию распределения).

Если что, по идее линейная должна быть чуть ближе к ней, чем квадратичная. Но обе далеки, так что результаты могут быть другими. Вполне вероятно, что оценка по ней будет похожа на среднее отклонение, так что победителями вероятно окажутся Ф2 и Ф4.

Ну что, судя по проведенным расчетам в настоящий момент лидирует Формула №2. Кстати посмотрел как она рассчитывается  и знаете... а ведь она тоже не учитывает в своем расчете {{teff}} - в ее основу положен расчет по общей эффективности по аккаунту {{eff}} и % побед на конкретном танке. Т.е. фактически все 3 формулы совсем не учитывают показатель эффективности на конкретном танке {{teff}} который учитывает 4-я формула наряду с {{eff}} (идущая вплотную за 1-й формулой). 

А получение правильных данных необходимых для правильного расчета {{teff}}  в настоящий момент как вы знаете вызывают очень большие вопросы:(

Но для того чтобы сделать более точные выводы еще очень хотелось бы увидеть результат сравнения когда все четыре формулы будут считать по WN6, потому как в том что мы пока имеем для анализа три первых формулы были посчитаны по eff а четвертая по WN6. Расхождения могут быть еще и из-за этого.

Edited by TurinDeNar

Share this post


Link to post

Short link
Share on other sites

Но для того чтобы сделать более точные выводы еще очень хотелось бы увидеть результат сравнения когда все четыре формулы будут считать по WN6, потому как в том что мы пока имеем для анализа три первых формулы были посчитаны по eff а четвертая по WN6. Расхождения могут быть еще и из-за этого.

Сегодня постараюсь сделать расчет всех формул, тогда ими можно будет в excel'е играться, подставлять wn6/eff/teff и т.д.

Только стата нужна от народа, на 3х примерах мало что сделаешь.

 

Сейчас посмотрю твой лог.

 

Честно говоря, я совершенно не рассчитывал, что кто-то будет смотреть мои реплеи.:( Мне несколько неудобно - играю я средненько, а ты явно лучше меня, так что вряд ли мои реплеи просматривать было интересно и занимательно.

attachicon.gifxvm-stat.zip

спасибо, то что нужно

 

Да, еще. Я пока не сделал полноценный алгоритм расчета уровня боя, сейчас выбирается минимальный из максимального уровня боев, при этом не фильтруются брелки. Потом доделаю, а пока можно вручную такие случаи поправить.

Share this post


Link to post

Short link
Share on other sites

@sirmax,

Каким условиям должен удовлетворять файл xvm-stat.log чтобы подходить тебе?

То есть начиная с какой версии XVM? С какой версии xvm-stat? Нужно ли что-то дополнительно включать в конфиге? Если xvm-stat.log начал писаться давно на древних версиях, но сейчас уже новая, то подойдет ли он, если его не удаляли?

Share this post


Link to post

Short link
Share on other sites

Коллеги, разрешите влить свежую порцию соображений.

Попробую понять постановку задачи: Есть несколько (пока 4) различных формул. Надо 1) выбрать из них самую правильную, 2) разработать методику оценки правильности формул.

Если вторая задача решена, то решить первую - элементарное дело: просто сравнить 4 числа. Поэтому в дальнейшем решаю только вторую задачу.

 

Как мне кажется, формула должна удовлетворять нескольким базовым условиям:

1) Её среднее значение (M) должно равняться 50%. Это, наверное, все подразумевают, но никто не проверял. Предлагаю проверить все 4 формулы и убедиться, что это так. Иначе это будет означать, что формула постоянно завышает/занижает шансы. Строгое равенство 50% невозможно и не обязательно, среднее должно попадать в некий диапазон, о котором позже (вероятно, завтра).

2) Её СКО (среднеквадратическое отклонение, S) должно равняться какой-то константе, например, 20%. Для этого нужна нормализация со значениями, указанными в посте #152.

3) Формула должна давать результаты, близкие к нормальному распределению. То есть на 100 боев она должна выдать:

19 прогнозов в диапазоне от M до M+0.5S (50% - 60%)

15 прогнозов в диапазоне от M+0.5S до M+S (60% - 70%)

9 прогнозов в диапазоне от M+S до M+1.5S (70% - 80%)

5 прогнозов в диапазоне от M+1.5S до M+2S (80% - 90%)

2 прогноза свыше 90%

И симметрично от 0% до 50%

 

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

Share this post


Link to post

Short link
Share on other sites

@sirmax,

Каким условиям должен удовлетворять файл xvm-stat.log чтобы подходить тебе?

То есть начиная с какой версии XVM? С какой версии xvm-stat? Нужно ли что-то дополнительно включать в конфиге? Если xvm-stat.log начал писаться давно на древних версиях, но сейчас уже новая, то подойдет ли он, если его не удаляли?

В старой версии нет wn6, так что нужно где-то с 1 февраля, или чуть раньше.

- версия XVM не ниже xvm-3.3.2-test1.zip

- версия xvm-stat не ниже xvm-stat-1.2.2.zip

 - в конфиге должна быть включена опция:

 

"rating": {
    "enableStatisticsLog": true

 

- файл FinalStatistic.swf нужен от XVM.

- необходимо открывать окно с результатами боя, именно там пишется статистика

- играть необходимо с включеннной статой, запуская xvm-stat.exe

 

Если в файле xvm-stat.log есть строки вида: "1359970873515:results:", и встречается "wn":xxx , то все нормально.

 

Вот, вроде все формулы сделал, но пока не проверял, ошибки есть наверняка. В общем, уже можно пробовать что-то делать.

Пока при определении уровня боев не выбрасываются брелки, если кто-нибудь заметит такой случай, напишите.

xvm-stat-log.7z

Edited by sirmax

Share this post


Link to post

Short link
Share on other sites

@antey007,

Если разбираешься в теории вероятностей, то хотелось бы посоветоваться по кое-каким вопросам. Только я задолбаюсь в письменном виде описывать. Если что скайп в личку кинь.

 

 

 

Вот, вроде все формулы сделал

 

Отлично. Я правильно понимаю, что осталось собрать побольше файликов логов?

С формулой Ф4 накосячил по-моему. Значения у нее то больше сотни, то меньше ноля...

Edited by seriych

Share this post


Link to post

Short link
Share on other sites

Среднее значение прогнозов должно быть равно 50% в среднем по всем игрокам. У людей, использующих xvm и читающих этот форум, среднее значение прогнозов, как и средний процент побед, будет больше и составит порядка 51%-55% без растяжения. С растяжением - еще больше, от 55% до 60%.

Насчет нормального распределения я, наверное, был неправ. Это совсем не обязательно. Формула прогнозов может выдавать и равномерное распределение.

 

Придумал простой и изящный способ оценки формул. Надо сравнить среднее значение прогнозов, выданных формулой перед победами, со средним значением прогнозов, выданных перед поражениями. Идеальная формула перед победами будет выдавать числа, в среднем порядка 60-70%. А перед поражениями - 30-40%.

Можно показать, что в случае равномерного распределения прогнозов в диапазоне от 0 до 100% среднее значение победных прогнозов составит 66,6%, а прогнозов перед поражениями - 33,3%. Разница между средними - 33,3%.

А гипотетическая формула, выдающая абсолютно рандомный, не зависящий от участников боя, прогноз, будет иметь среднее значение прогнозов 50% и для побед, и для поражений.

 

Применил этот метод к данным из вложения к посту #157. Результаты удивили.

Формула Ф1 - среднее прогнозов по всем боям - 58,24%. Среднее по всем победным боям - 58,75%. Среднее по всем проигранным боям - 57,70%.

Средние почти одинаковые, в пределах статистической погрешности! Формула совершенно не работает.

Аналогично и формулы 2 и 3.

Ф2: Среднее по всем победным боям - 57,76%. Среднее по всем проигранным боям - 58,92%.

Ф3: Среднее по всем победным боям - 51,35%. Среднее по всем проигранным боям - 50,99%.

 

А вот формула 4 приятно порадовала. Среднее по всем победным боям - 58,97%. Среднее по всем проигранным боям - 48,78%. Разница между средними - 10%, что в 3 раза меньше аналогичной разницы у идеальной функции, но это все равно очень хороший результат.

При этом среднее по всем боям равно 54,04%, что близко к общему проценту побед товарища nemoW.

 

ЗЫ. Надеюсь, я не перепутал значения результатов боя. 1 - это "победа", а 2 - это "поражение".

Edited by antey007

Share this post


Link to post

Short link
Share on other sites
Насчет нормального распределения я, наверное, был неправ. Это совсем не обязательно. Формула прогнозов может выдавать и равномерное распределение.

А вот я думаю, что должно быть нормальное. Я тебя в скайп добавлю, вечером поговорим, если сумеешь.

 

Придумал простой и изящный способ оценки формул. Надо сравнить среднее значение прогнозов, выданных формулой перед победами, со средним значением прогнозов, выданных перед поражениями. Идеальная формула перед победами будет выдавать числа, в среднем порядка 60-70%. А перед поражениями - 30-40%.
Собственно я изначально примерно так и делал. Я сразу перевожу проценты с диапазона 0..1 к -1..1, то есть 60% у меня превращается в 70%, 40% в -20%...

 

Применил этот метод к данным из вложения к посту #157
Там очень маленькая статистика и неправильно забита формула Ф4.

Возьми данные отсюда:

http://www.koreanrandom.com/forum/topic/2598-new-chance-to-win-formula-формула-расчета-шансов-на-победу-обсужде/?p=33728

Share this post


Link to post

Short link
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...