Jump to content
Korean Random

[Эффективность по танку / Per-vehicle efficiency / TEFF]


sirmax

Recommended Posts

Новая тема по xTE:

http://www.koreanrandom.com/forum/topic/23829-xte-эффективность-на-танке-per-vehicle-efficiency/



Почему показатели в бою и колонке E неправильные.
 
Придумываем новую формулу эффективности для каждого танка.
 
Current implementation / Текущая реализация
 
http://www.koreanrandom.com/forum/topic/1643-per-vehicle-efficiency-эффективность-по-танку/page-14#entry24498
 
Исходные данные:
  Dt, Ft - параметры текущего игрока для текущего танка (дамаг, фраги)
  Davg, Favg - средние параметры среди всех игроков для текущего танка, вычисленные по БД. (см. вложение vstat.xlsx.zip)
  Dmax, Fmax - лучшие параметры среди всех игроков для текущего танка, вычисленные по БД. (см. вложение vstat.xlsx.zip)
  Kd, Kf, Kmin - корректирующие коэффициенты, которые задаются для каждого типа и уровня танка согласно матрице (на время тестов можно изменять эти коэффициенты в конфиге в секции "consts"):










       E: {
                Kmin: 0.4,
                LT: [ // lightTank
                    { CD: 3, CF: 1 }, // level 1
                    { CD: 3, CF: 1 }, // level 2
                    { CD: 3, CF: 1 }, // level 3
                    { CD: 3, CF: 1 }, // level 4
                    { CD: 3, CF: 1 }, // level 5
                    { CD: 3, CF: 1 }, // level 6
                    { CD: 3, CF: 1 }, // level 7
                    { CD: 3, CF: 1 }, // level 8
                    { CD: 3, CF: 1 }, // level 9
                    { CD: 3, CF: 1 }  // level 10
                ],
                MT: [ // mediumTank
                    { CD: 3, CF: 1 }, // level 1
                    { CD: 3, CF: 1 }, // level 2
                    { CD: 3, CF: 1 }, // level 3
                    { CD: 3, CF: 1 }, // level 4
                    { CD: 3, CF: 1 }, // level 5
                    { CD: 3, CF: 1 }, // level 6
                    { CD: 3, CF: 1 }, // level 7
                    { CD: 3, CF: 1 }, // level 8
                    { CD: 3, CF: 1 }, // level 9
                    { CD: 3, CF: 1 }  // level 10
                ],
                HT: [ // heavyTank
                    { CD: 3, CF: 1 }, // level 1
                    { CD: 3, CF: 1 }, // level 2
                    { CD: 3, CF: 1 }, // level 3
                    { CD: 3, CF: 1 }, // level 4
                    { CD: 3, CF: 1 }, // level 5
                    { CD: 3, CF: 1 }, // level 6
                    { CD: 3, CF: 1 }, // level 7
                    { CD: 3, CF: 1 }, // level 8
                    { CD: 3, CF: 1 }, // level 9
                    { CD: 3, CF: 1 }  // level 10
                ],
                TD: [ // tank destroyer
                    { CD: 3, CF: 1 }, // level 1
                    { CD: 3, CF: 1 }, // level 2
                    { CD: 3, CF: 1 }, // level 3
                    { CD: 3, CF: 1 }, // level 4
                    { CD: 3, CF: 1 }, // level 5
                    { CD: 3, CF: 1 }, // level 6
                    { CD: 3, CF: 1 }, // level 7
                    { CD: 3, CF: 1 }, // level 8
                    { CD: 3, CF: 1 }, // level 9
                    { CD: 3, CF: 1 }  // level 10
                ],
                SPG: [ // Arty
                    { CD: 3, CF: 1 }, // level 1
                    { CD: 3, CF: 1 }, // level 2
                    { CD: 3, CF: 1 }, // level 3
                    { CD: 3, CF: 1 }, // level 4
                    { CD: 3, CF: 1 }, // level 5
                    { CD: 3, CF: 1 }, // level 6
                    { CD: 3, CF: 1 }, // level 7
                    { CD: 3, CF: 1 }, // level 8
                    { CD: 3, CF: 1 }, // level 9
                    { CD: 3, CF: 1 }  // level 10
                ]
            }


 
 
Расчет:
    * D-damage (дамаг), F-frags (фраги). D - основной параметр, F - корректирующий.
 
    Dmin = Davg * Kmin
    Fmin = Favg * Kmin
 
    D =
        Если Dt > Davg, то D = 1 + (Dt - Davg) / (Dmax - Davg);
        Если Dt <= Davg, то D = 1 + (Dt - Davg) / (Davg - Dmin);
 
    F =
        Если Ft > Favg, то F = 1 + (Ft - Favg) / (Fmax - Favg);
        Если Ft <= Favg, то F = 1 + (Ft - Favg) / (Favg - Fmin);
 
    TEFF = (D * Kd + F * Kf) / (Kd + Kf) * 1000
 
Экспериментальный расчет:
    D2 =
        Если Dt > Davg, то D = 1 + (Dt - Davg) / (Dmax - Davg);
        Если Dt <= Davg, то D2 = Dt / Davg;
    F2 =
        Если Ft > Favg, то F2 = 1 + (Ft - Favg) / (Fmax - Favg);
        Если Ft <= Favg, то F2 = Ft / Favg;
    TEFF2 = (D2 * Kd + F2 * Kf) / (Kd + Kf) * 1000
 
Результат:
    TEFF: E
    0..299: 1 - очень плохой игрок
    300..499: 2 - плохой игрок
    500..699: 3 - удовлетворительный
    700..899: 4 - ниже среднего
    900..1099: 5 - средний
    1100..1299: 6 - выше среднего
    1300..1549: 7 - хороший
    1550..1799: 8 - отличный
    1800..1999: 9 - мастер
    2000+: E - Эксперт (топ-100 игроков на данной технике)
 
    TEFF - точное значение рейтинга (диапазон от 0 до 2000)
    E - краткое значение рейтинга (занимает один символ - от 1 до 9, E для топ-100 игроков)
 
Танки с количеством боев менее (10+LEVEL*2) не считаются из-за какого-то непонятного глюка WG, описанного здесь.
Доступная информация по танку, которую предоставляет WG:





HP - макс. ХП танка
level - уровень танка
class - класс танка (ЛТ, СТ, ТТ, ПТ, арта)
battle_count - боев
win_count - побед
damageDealt - дамаг
frags - фрагов
spotted - засветил

Так же прикреплен конфиг, на котором все тестируется. На экране загрузки выведены:
{{e}} {{teff}} {{teff2}} {{tdb}} {{tfb}} {{rating}}

XVM.xvmconf

post-5504-0-09310000-1356606230_thumb.jpg

vstat.zip

Edited by seriych
  • Upvote 6
Link to comment
Short link
Share on other sites

  • 2 months later...

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

 

Прошу пояснения параметра mid.

Ещё бы хотелось разбора формулы на конкретном примере (если есть желание можете взять мой аккаунт по танкам Т-50 (свет), С-51 (арта), ИС-3 (ТТ), Т-54(СТ), M18 (ПТ))

  • Upvote 1
Link to comment
Short link
Share on other sites

Прошу пояснения параметра mid.

Ещё бы хотелось разбора формулы на конкретном примере (если есть желание можете взять мой аккаунт по танкам Т-50 (свет), С-51 (арта), ИС-3 (ТТ), Т-54(СТ), M18 (ПТ))

Туда не смотри, это старая формула от wot-news.

 

Ещё бы хотелось разбора формулы на конкретном примере (если есть желание можете взять мой аккаунт по танкам Т-50 (свет), С-51 (арта), ИС-3 (ТТ), Т-54(СТ), M18 (ПТ))

Я выложил тестовую версию, можешь сам проверить.

 

Сейчас посчитаю...

 

UPD. Портал лежит. Ты свой playerId не знаешь? Может реплей какой есть?

Edited by sirmax
Link to comment
Short link
Share on other sites

ID вроде бы 99498. Реплеев на работе нет.

 

 

E = D * 5 * 0.9

 

 

 

Если возможно, объясните пожалуйста происхождение выделенных коэффициентов.

Edited by KPOXA3ABP
Link to comment
Short link
Share on other sites

ID вроде бы 99498. Реплеев на работе нет.

E = D * [b]5 [/b]* [b]0.9[/b]

 

Если возможно, объясните пожалуйста происхождение выделенных коэффициентов.

ид не тот - это Versuz

 

5 - это нормализация. У D медиана = 1, а нас диапазон от 0 до 9, соответственно медиана = 5.

0.9 - повышающий коэффициент, подбирается эмпирическим путем. На самом деле, медиана у D = 5 только в идеальном случае, на самом деле она немного ниже. Этот коэффиент должен ее выровнять.

 

Я уже заметил что арту недостаточно порезал. Надо на 3 делить как минимум.

Link to comment
Short link
Share on other sites

ПМСМ, арте надо по другому эффективный дамаг считать, не касаясь maxHP.

Возможно.

 

Ещё бы хотелось разбора формулы на конкретном примере (если есть желание можете взять мой аккаунт по танкам Т-50 (свет), С-51 (арта), ИС-3 (ТТ), Т-54(СТ), M18 (ПТ))

http://worldoftanks.ru/uc/accounts/96489/api/1.5/?source_token=Intellect_Soft-WoT_Mobile-unofficial_stats

 

T- 50: "damageDealt": 105952, "battle_count": 482, HP: 560

D = 105952 / 482 / 560 = 0,393

E = 0,393 * 5 / 0.9 * 1.75 = 3,82 ~= 4

 

C-51: "damageDealt": 561397, "battle_count": 387,HP: 380

D = 3,817

E = 3,817 * 5 / 0.9 / 2.5 = 8,48 ~= 8

 

ИС-3: "damageDealt": 176400, "battle_count": 134,HP: 1500

D = 0,878

E = 0,878 * 5 / 0.9 = 4,88 ~= 5

 

T-54: "damageDealt": 682339, "battle_count": 506,HP: 1650

D = 0,817

E = 0.817 * 5 / 0.9 = 4,54 ~= 5

 

M18: "damageDealt": 66793, "battle_count": 74,HP: 570

D = 1,584

E = 1,584 * 5 / 0.9 = 8,8 ~= 9

 


Думаю, 0.9 стоит убрать.

И для ПТ надо понижающий коэффициент вводить, хотя и не такой как для арты.

Edited by sirmax
  • Upvote 2
Link to comment
Short link
Share on other sites

ид не тот - это Versuz

 

5 - это нормализация. У D медиана = 1, а нас диапазон от 0 до 9, соответственно медиана = 5.

0.9 - повышающий коэффициент, подбирается эмпирическим путем. На самом деле, медиана у D = 5 только в идеальном случае, на самом деле она немного ниже. Этот коэффиент должен ее выровнять.

 

Я уже заметил что арту недостаточно порезал. Надо на 3 делить как минимум.

Блин, пять раз перечитал- нихрена не понял. Что за медиана? Почему она=1 и почему в итоге 5 и зачем ее ровнять.... Короче ничего :gg:

А можно провести параллель с обычной эффективностью по ее значению? Я имею ввиду какой диапазон значений означает, что игрок хороший, ниже среднего, олень, очень хороший, уникум

Link to comment
Short link
Share on other sites

Медиа́на (50-й процентиль, квантиль 0,5) — возможное значение признака, которое делит ранжированную совокупность (вариационный ряд выборки) на две равные части: 50 % «нижних» единиц ряда данных будут иметь значение признака не больше, чем медиана, а «верхние» 50 % — значения признака не меньше, чем медиана.

 

Статистика, сэррр :gg:

Edited by KPOXA3ABP
Link to comment
Short link
Share on other sites

Ёптыть! Ну ты загнул :gg: Да не, я понял, что медиана делит эту хрень пополам, а дальше ничего не понял, почему 1, а не 1,5 например, почему 5, а не 4, 5, короче нифига, в том числе и вообще на кой она нужна. Вот так, товарищ Новосельцев :gg:

 

Ааа, по ходу, почему из 1 получается потом 5 догнал, тупо чтобы получить наш диапазон значений. Но почему она у D равна 1 не догоняю, как и вообще- почему надо брать эту медиану, а не умножить тупо на 10, чтобы целое число получить

Edited by demon2597
Link to comment
Short link
Share on other sites

Ёптыть! Ну ты загнул :gg: Да не, я понял, что медиана делит эту хрень пополам, а дальше ничего не понял, почему 1, а не 1,5 например, почему 5, а не 4, 5, короче нифига, в том числе и вообще на кой она нужна. Вот так, товарищ Новосельцев :gg:

 

Ааа, по ходу, почему из 1 получается потом 5 догнал, тупо чтобы получить наш диапазон значений. Но почему она у D равна 1 не догоняю, как и вообще- почему надо брать эту медиану, а не умножить тупо на 10, чтобы целое число получить

В данном случае D берется без округления, в #10 посте я расписал весь путь расчета.

У D она равна 1, потому что при всех равных условиях чтобы быть минимально полезным своей команде, нужно надамажить столько, сколько у тебя ХП.

 

Мобыть тока, количество боев на текущей машине прикрутить, ведь средний дамаг (для примера) в 1000 за 10 боев, и такой же за 2000 все таки разные показатели эффективности.

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

Основная разница Е и КПД в том, что КПД считает насколько игрок эффективен в целом (удобно меряться приборами). А Е считает насколько игрок опасен на конкретно этом танке. Сравниваются принципиально разные вещи, результат тоже совершенно разный. Так вот, для боя, я считаю, E намного более необходим.

 

Несколько примеров:

1. 1к/900/48% - олень? А если у него E=6, D=1.1, F=0.8, S=0.5? Тогда он действует по принципу - лучше набить дамаг, чем добить танк с низким ХП. Отсюда и низкий процент побед, но влупить он может довольно не кисло.

 

2. Вижу таких довольно часто: КВ-1С, E=2, D=0.3, F=0.3, S=2.5. Квас-светляк, со всеми вытекающими.

  • Upvote 1
Link to comment
Short link
Share on other sites

Не, никаких количеств боев прикручивать не надо, согласен. А может быть такое, что D=2,2 скажем, вот такой папка попался, тогда мы вообще не влезем в диапазон Е

Link to comment
Short link
Share on other sites

Хм...

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

Общая стата нужна когда у игрока мало боев на конкретном типе техники.

Так сказать для общей наглядности что от него ожидать

Сравниваются принципиально разные вещи, результат тоже совершенно разный.

Согласен.

Edited by NikolayHAOS
Link to comment
Short link
Share on other sites

Не, никаких количеств боев прикручивать не надо, согласен. А может быть такое, что D=2,2 скажем, вот такой папка попался, тогда мы вообще не влезем в диапазон Е

Будет 9. Если будем сильно выходить за диапазон, введем корректирующий коэффициент.

Надо скрипт писать для проверки формул, а то по боям эмпирическим путем это будет очень долго.

 

Кстати, в формуле на 0,9 умножается, а в 10 посте делится

Делить надо, исправил. Сейчас формула соответствует последней тестовой версии.

Хотя я его уберу пока.

 

Еще один момент. E не зависит от ротных боев. Очень часто наблюдаю папок из рот 1600/60%, у которых E=5. ХЗ что более правильно.

Edited by sirmax
Link to comment
Short link
Share on other sites

2. Вижу таких довольно часто: КВ-1С, E=2, D=0.3, F=0.3, S=2.5. Квас-светляк, со всеми вытекающими.

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

 

Еще один момент. E не зависит от ротных боев. Очень часто наблюдаю папок из рот 1600/60%, у которых E=5. ХЗ что более правильно.

Ну и пусть не зависит, пусть такие папки остаются папками (все равно ничего тут не сделать), глядишь к ним лучше присматриваться будут, а нерадивых быстрее замочат

Edited by demon2597
Link to comment
Short link
Share on other sites

Вот, в шапку добавил:

Еще бы DSF вписать в диапазон 0..9, тогда можно было бы оперировать в разговоре короткими примерами, например вместо E=6, D=1.2, F=1.0, S=1.5 можно было бы писать E DFS=6 653, а потом и того проще: "6 653 T6" (T6 - TT 6 уровня, например)

Можно переделать макросы {{d}}{{f}}{{s}}, чтобы они вписывались в диапазон, тогда их будет удобно использовать.

Я себе пока сделал так:

{
		 "visible": true,
		 "name": "Rating marks",
		 "x": 0, "y": -35,
		 "shadow": { "alpha": 100, "color": "0x000000", "angle": 0, "strength": 150, "distance": 0, "size": 3 },
		 "format": "<font face='Symbol' size='11'><font color='{{c:e}}'><b>·</b> </font><font color='{{c:tdv}}'><b>·</b></font><font color='{{c:tfb}}'><b>·</b></font><font color='{{c:tsb}}'><b>·</b></font></font>"
	 },

post-5504-0-37576100-1354174816_thumb.png

Link to comment
Short link
Share on other sites

Только куда все это распихивать физически, я ума не приложу

Ага, вот тоже сижу думаю, по АЛТу или что сразу видно?

Придется убрать стату по танку (боев побед)

_---------------------------

Точечки хорошо конечно, но по мне лучше циферки.

Edited by NikolayHAOS
Link to comment
Short link
Share on other sites

Ну и пусть не зависит, пусть такие папки остаются папками (все равно ничего тут не сделать), глядишь к ним лучше присматриваться будут, а нерадивых быстрее замочат

Так в том и дело, что по Е они не папки, а середнячки.

Link to comment
Short link
Share on other sites

А мне вот как-то DFS дробными понятнее, соображается быстрее, если 1,3 фрага в среднемза бой, чем средний фраг 5. Я бы оставил так

 

Так в том и дело, что по Е они не папки, а середнячки.

Ну пущай будут тогда середнячки, Е же у нас беспристрастный- чего набил, того и получил, ему пофиг в роте ты, нет, может это и хорошо;)

Edited by demon2597
Link to comment
Short link
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...