Неправильный расчет сэмплов 3max и сводных 2-3max статов
-
Итак по порядку:
- Версия программы:
- Тип игры для хада.
- Создаю чистую базу. загружаю два турика:
По сессиям видно, что в первом турике сыграно 43 руки, во втором 31 - и это совпадает с количеством раздач в текстовом файле.
Турики могу выслать по почте. - В хаде включаю выборку:
hands2
при условии
- Создаю следующие статы:
Это статы, на основании которые должно считаться общее количество рук: 1)только 2max 2)только 3max; 3) сводный - 2max + 3max
Если хочу узнать активные сдачи, по которым считается стат. показатели (исключаются раздачи, когда игрок ничего не сделал и просто забрал блайнды), то делаю следующие статы:
- Создаю сложные статы:
По аналогии делаю статы для активных сдач.
- Создаю в редакторе простой хад:
По колонкам:
В первой строке: 1 - hands spins Bad; 2 - hands spins; 3 - hands 3max; 4 - hands 3max Bad; 5 - hands 2max;
Во второй строке: 1 - hands spins Bad action; 2 - hands spins action; 3 - hands 3max action; 4 - hands 3max Bad action; 5 - hands 2max action; - Очищаю и строю статы. Вывожу 3max раздачу реплеером с показом HUD из спина, в котором 31 раздача:
По итогу вижу что стат 4 - hands 3max Bad = 28 и соответственно сводный стат 1 - hands spins Bad = 45 показывают неверную информацию, что связано с задвоением сэмплов в 3 max. Соответственно учитывая этот факт, 3 - hands 3max и 2 - hands spins сделаны таким образом, чтобы убрать это задвоение.
По итогу по правильным колонкам:
5 - 2max = 17, 3 - 3max =14, 2 - hands spins=31 я могу получить верную информацию 2max+3max =17+14=31
по неправильным я вижу следующую картину:
5 - 2max = 17, 4 - 3max =28 и 4 - hands spins Bad =45 - расчет произведен неверно 2max+3max =17+28=45 <>31 - Захожу в стандартный попап и вижу, что программа считает неправильно
- Версия программы:
-
Теперь к чему это ведет эта ошибка с задвоением сэмплов с позиции построения статов.
Немного простой стат. теории:- Если я знаю стат показатель в 2max и количество его сэмплов для 2max, а также этот же стат показатель в 3max и количество его сэмплов для 3max, то сводный стат показатель для 2-3max будет определяться по формуле средневзвешенная арифметическая:
Для нашего случая к примеру сводный показатель VPIP спина будет считаться:
- Само по себе задвоение сэмплов в 3max не будет оказывать влияния на правильность расчета показателя, так как будет двоиться и числитель и знаменатель в формуле его расчета.
- В случае, если мы будем строить сводный 2-3max стат то получим картинку, согласно формуле:
То есть из за двоения статов в 3max сводный показатель для всего спина (2max+3max) будет считаться неправильно!
Проверяем это на практике:
- В той же базе, содержащей два спина я создал показатели VPIP и PFR.
pfr по аналогии (без кола)
- Создал сложный стат для правильного расчета сводного стата спина
pfr по аналогии
- Очистил и построил статы. Для рассмотренного выше примера (спина из 31 раздачи) получается такая картина.
Видно, что у игрока справа, который играл 2max и 3max сводный стат VPIP определен неверно = 68 (количество сэмплов 40), хотя по факту должно быть 62 (количество сэмплов 26).
Цифра простого стата vpip1_2-3 = 68 получилась из за задвоенного числа сэмплов в 3max: (28x79+12x42)/(12+28)=67,9 ~ 68.
- Если перехожу в реплеере в 2max, информация о предыдущей истории в 3max пропадает.
Выводы:
- Для моей версии h2n в 3max двоятся сэмплы (предполагаю, что динамика распротраняется на 3max - утроение 3x, 4max - 4x и т.д. - нужно проверять) - это баг, который нужно устранить!
- В рамках локальных расчетов статов (только 3max) простые статы будут считаться правильно (согласно п. 2), но сэмплы и сложные статы с их участием будут определены неверно
- Сводные статы, затрагивающие одновременно и 2max и 3max, будут рассчитываться неверно (согласно п. 3 и примеру)
- В режиме 2max мы не видим, что было в 3max - тоже баг, который следует устранить (или хотя бы дать возможность выбора).
P.S. надеюсь на более адекватный ответ. Спасибо!
- Если я знаю стат показатель в 2max и количество его сэмплов для 2max, а также этот же стат показатель в 3max и количество его сэмплов для 3max, то сводный стат показатель для 2-3max будет определяться по формуле средневзвешенная арифметическая:
-
Все разобрался в чем дело!
Не знаю баг это или нет. Все дело в типах игры. Вообщем поправил количество игроков для типа игры TOURNEY 3-10max c 4 до 10 и двоить для спинов пересталоПочему он смешал непонятно, в этом типе другой хад стоял
-
Наверно, у вас типы игры пересекались по количеству игроков.