Jump to content
Korean Random
Mahim_

Списывается рейтинг WN8 уже второй раз

Recommended Posts

Сегодня вечером зашел в бой и обнаружил что списали 45 WN8. Подобная ситуация была месяца 3-4 назад списали около 100 WN8. Прошу прояснить.

  • Upvote 2
  • Downvote 2

Share this post


Link to post

Short link
Share on other sites

Прошу прояснить.

Рейтинг ранее считался неправильно.

http://www.koreanrandom.com/forum/topic/30253-неправильно-расcчитали-wn8/#entry315990

 

сейчас отображается 1865

Должно быть 1875.

 

Попробуем разобраться, что еще не так.

Share this post


Link to post

Short link
Share on other sites

 

 

Должно быть 1875.
Беру свои слова назад. 

Должно быть что-то в промежутке от 1865 до 1875.

 

 

 

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

 

@Mahim_,

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

Share this post


Link to post

Short link
Share on other sites

Какие различные пути? Подробнее можно?

Когда-то я пояснял вычисление по формуле, тут тоже подойдет и я буду использовать его в ответе:

 

 

Пусть у игрока:

средний урон на аккаунте d

три танка, на которых он провел b1, b2 и b3 боев

ожидаемые значения урона на этих танках: e1, e2, e3

Тогда:

rDAMAGE = avgDmg / expDmg = d / ((e1*b1 + e2*b2 + e3*b3) / (b1+b2+b3)) = (d * (b1+b2+b3)) / (e1*b1 + e2*b2 + e3*b3)

Если брать инфу в API, то там выдается не средний урон на аккаунте d, а сразу суммарный урон на аккаунте D = d * (b1+b2+b3), так что можно записать так:

rDAMAGE = D / (e1*b1 + e2*b2 + e3*b3)

 

 

* Не знаю, как сейчас, но раньше был косяк с тем, что суммарное количество боев на аккаунте B(тоже доступно в API) бывало не совпадало с суммой боев на отдельных танках b1+b2+b3, а D считается за B боев. Поэтому не факт, что D=d * (b1+b2+b3). На самом деле D=d*B. И в формуле лучше использовать D'=D*(b1+b2+b3)/B и в итоге:

rDAMAGE = D' / (e1*b1 + e2*b2 + e3*b3) = (D * (b1+b2+b3) / B) / (e1*b1 + e2*b2 + e3*b3)

Пусть танка t3, на котором сыграно b3 боев и нанесено в сумме d3 урона, нет в таблице ожидаемых значений.

 

0) Как считалось раньше в XVM. И считает сейчас, например, wots.com.ua (автору я уже написал, обещал исправить):

rDAMAGE = D / (e1*b1 + e2*b2 + 0*b3)

в суммарном уроне на аккаунте D учитывается урон d3 на танке t3, что неправильно, если мы не учитываем его в ожидаемых показателях. Это приводит к завышению rDAMAGE и остальных r-значений и в итоге завышает рейтинг.

Например, если у игрока только один танк t3, то rDAMAGE = D / 0. Отсюда заоблачные рейтинги игроков, которые начинают аккаунт со всяких новых танков типа Mutz или Т44-100(р) и проводят на них много боев по сравнению с другими танками.

 

1) Один из методов решения проблемы приведен в посте, процитированном выше. Мы показатели игрока умножаем на отношение количества боев на танках, известных wn8, к общему количеству боев. То есть считаем, что человек на известных танках играл в среднем также, как в целом по аккаунту с учетом неизвестных танков:

rDAMAGE = D * ((b1+b2)/B) / (e1*b1 + e2*b2)

так считаю, например, я в своих скриптах.

 

2) Мы можем вычесть показатели на неизвестных танках из общих показателей на аккаунте:

rDAMAGE = (D - d3) / (e1*b1 + e2*b2)

так сейчас считает XVM

 

3) Мы можем составить свою таблицу ожидаемых показателей, в которой будут все танки. То есть для всех танков, которых нет в таблице от авторов wn8, мы можем по определенному алгоритму вычислить ожидаемые показатели для них. Сделать это можно разными способами: а) ручками искать наиболее подходящий танк из уже имеющихся в таблице и прописать такие же показатели для нашего б) прописать для нашего танка среднее среди известных показателей танков с тем же уровнем и типом (тут могут быть варианты с учетом еще нации или еще чего-нибудь) в) на основе какой-то своей статистики или умозаключений или еще чего либо.

Формула при этом остается в оригинальном виде:

rDAMAGE = D / (e1*b1 + e2*b2 + e3*b3)

Если я не ошибаюсь, данный метод применяется на wot-news.com и wotlabs.net

 

 

Вопрос выбора конкретного метода нетривиален.

 

Первый хорош тем, что использует оригинальную таблицу от разработчиков wn8 и использует только те методы API, которые позволяют запрашивать информацию сразу по нескольким игрокам одновременно:

http://ru.wargaming.net/developers/api_explorer/wot/account/info и http://ru.wargaming.net/developers/api_explorer/wot/account/tanks

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

 

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

а) нам необходимо использовать метод API, отдающий информацию только по одному игроку за раз: http://ru.wargaming.net/developers/api_explorer/wot/tanks/stats/ (что неприемлемо, например, для моего скрипта для wotreplays, где пришлось бы ждать ответа с 30 запросов в API, что неюзабельно для конечного пользователя)

б) неучёт существенного процента боев игроков, начавших аккаунт с нового танка

 

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

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

 

 

0) Как считалось раньше в XVM. И считает сейчас, например, wots.com.ua (автору я уже написал, обещал исправить):

 

Автор исправил и теперь wots.com.ua так же не учитывает танки, которых нет в таблице ожидаемых значений.

  • Upvote 1
  • Downvote 1

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.

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.

×