Неправильный расчет сэмплов 3max и сводных 2-3max статов



  • Итак по порядку:

    1. Версия программы: 0_1504330509962_upload-df764db5-a9b3-433a-b5dc-efe35a3b9803
    2. Тип игры для хада.
      0_1504330570161_upload-2c4d2a2c-14b5-47d1-9ac9-fa51069d1a27
    3. Создаю чистую базу. загружаю два турика:
      0_1504330637474_upload-514265db-318b-4e80-9a1c-fb029385744a
      По сессиям видно, что в первом турике сыграно 43 руки, во втором 31 - и это совпадает с количеством раздач в текстовом файле.
      Турики могу выслать по почте.
    4. В хаде включаю выборку:
      hands2
      0_1504330920302_upload-a96a9fb5-e09a-47dc-a788-8c188b302a50 при условии
      0_1504330937031_upload-5c91a919-e259-47ec-8f57-e521dbb669ad
    5. Создаю следующие статы:
    • 0_1504331247974_upload-07e04fed-d8d5-4933-9619-fd0af88a1aad
    • 0_1504331318445_upload-5327553c-b048-4108-bd4c-aebdd9db4cb6
    • 0_1504331599124_upload-32ff45d2-358d-4eb9-bc5f-ab81245bb7a1
      Это статы, на основании которые должно считаться общее количество рук: 1)только 2max 2)только 3max; 3) сводный - 2max + 3max

    Если хочу узнать активные сдачи, по которым считается стат. показатели (исключаются раздачи, когда игрок ничего не сделал и просто забрал блайнды), то делаю следующие статы:

    • 0_1504332610714_upload-dbc55fcb-32b6-428c-99f0-8d95ae6aed9d
    • 0_1504332663159_upload-16b89571-3ab9-4d6a-b2eb-1730ba4a5d9b
    • 0_1504332718682_upload-bd7f996f-7366-48ce-a198-9a322280510a
    1. Создаю сложные статы:
    • 0_1504332843430_upload-d7799e75-51a3-447e-9151-72810e3ce311
    • 0_1504333080031_upload-9367a6fa-69d4-4b05-975f-873f1a4c3b19
    • 0_1504333103917_upload-a6cadfe3-bc85-4d64-a2e7-4e706f120d4d
    • 0_1504333184147_upload-3e417d24-a65d-4d55-9097-155eb5adcd07
    • 0_1504333200120_upload-f006f2c3-38f4-4c4c-a7dc-fff9123f1915
      По аналогии делаю статы для активных сдач.
    1. Создаю в редакторе простой хад:
      0_1504333433295_upload-06c78cce-451b-4eff-8c7e-1a4107a9a0aa
      По колонкам:
      В первой строке: 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;
    2. Очищаю и строю статы. Вывожу 3max раздачу реплеером с показом HUD из спина, в котором 31 раздача:
      0_1504333901993_upload-6ae5db26-4475-44cb-83cd-8380e2a998b6
      По итогу вижу что стат 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
    3. Захожу в стандартный попап и вижу, что программа считает неправильно
      0_1504334569199_upload-670e222f-e4cd-4aca-91c5-8ca8ef50a33b


  • Теперь к чему это ведет эта ошибка с задвоением сэмплов с позиции построения статов.
    Немного простой стат. теории:

    1. Если я знаю стат показатель в 2max и количество его сэмплов для 2max, а также этот же стат показатель в 3max и количество его сэмплов для 3max, то сводный стат показатель для 2-3max будет определяться по формуле средневзвешенная арифметическая:
      0_1504335482859_upload-ee34896c-3310-4074-aaea-19a024895c9a

    Для нашего случая к примеру сводный показатель VPIP спина будет считаться:
    0_1504335910536_upload-7bcf711a-fc11-4428-9eff-f45ba48c7afb

    1. Само по себе задвоение сэмплов в 3max не будет оказывать влияния на правильность расчета показателя, так как будет двоиться и числитель и знаменатель в формуле его расчета.
      0_1504336302254_upload-7e548fd8-0195-4797-84ab-0a7871ad438f
    2. В случае, если мы будем строить сводный 2-3max стат то получим картинку, согласно формуле:
      0_1504336510948_upload-88adc686-e536-4b73-9fce-2fb1246920f7
      То есть из за двоения статов в 3max сводный показатель для всего спина (2max+3max) будет считаться неправильно!

    Проверяем это на практике:

    1. В той же базе, содержащей два спина я создал показатели VPIP и PFR.
    • 0_1504336754470_upload-ee86e9d5-e839-4fb5-a6e8-d960ca062858

    • 0_1504337446353_upload-2472f2a0-cfcf-4036-9803-8bf299cee7dc

    • 0_1504337494111_upload-1af20fc9-e763-42ce-8c87-cc32978acbbf

    pfr по аналогии (без кола)

    1. Создал сложный стат для правильного расчета сводного стата спина
      0_1504337592942_upload-13f0bed5-5024-43fb-9c21-d69f269fcbcb

    pfr по аналогии

    1. Очистил и построил статы. Для рассмотренного выше примера (спина из 31 раздачи) получается такая картина.
      0_1504337798293_upload-d87f16ed-69d3-47b6-9736-b42e3e176844

    Видно, что у игрока справа, который играл 2max и 3max сводный стат VPIP определен неверно = 68 (количество сэмплов 40), хотя по факту должно быть 62 (количество сэмплов 26).

    Цифра простого стата vpip1_2-3 = 68 получилась из за задвоенного числа сэмплов в 3max: (28x79+12x42)/(12+28)=67,9 ~ 68.

    0_1504338453393_upload-2fdca2f5-4df4-47cc-babc-22813e6afb97

    1. Если перехожу в реплеере в 2max, информация о предыдущей истории в 3max пропадает.

    Выводы:

    1. Для моей версии h2n в 3max двоятся сэмплы (предполагаю, что динамика распротраняется на 3max - утроение 3x, 4max - 4x и т.д. - нужно проверять) - это баг, который нужно устранить!
    2. В рамках локальных расчетов статов (только 3max) простые статы будут считаться правильно (согласно п. 2), но сэмплы и сложные статы с их участием будут определены неверно
    3. Сводные статы, затрагивающие одновременно и 2max и 3max, будут рассчитываться неверно (согласно п. 3 и примеру)
    4. В режиме 2max мы не видим, что было в 3max - тоже баг, который следует устранить (или хотя бы дать возможность выбора).

    P.S. надеюсь на более адекватный ответ. Спасибо!



  • Все разобрался в чем дело!
    Не знаю баг это или нет. Все дело в типах игры. Вообщем поправил количество игроков для типа игры TOURNEY 3-10max c 4 до 10 и двоить для спинов перестало

    0_1504371697620_upload-f639aac0-788d-4c6c-9372-3bc87c7589f9

    Почему он смешал непонятно, в этом типе другой хад стоял


  • Global Moderator

    Наверно, у вас типы игры пересекались по количеству игроков.



Похоже, подключение к Hand2Note было разорвано, подождите, пока мы пытаемся восстановить соединение.