Перейти к содержимому

Как работает арт-прицел


Рекомендованные публикации

Игроки
3 194 публикации
46 157 боёв
16 Май 2013 - 20:45 пользователь Galaxy_Plus сказал:

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

Сегодня катал в тренировке парочку Рено ФТ-17 и случайно заметил...

...Всё-таки это замечательнейший танчик...

...Ну так вот, если башню развернуть назад, то угол склонения пушки вниз становится нулевой, чтобы нельзя было себе в крышу корпуса стрелять. Если при этом целиться в другой ФТ-17, то центр прицела придётся ровно в  его пушку. И если он едет по прямой от наблюдателя, то положение в прицеле не меняется, центр всегда смотрит точно в пушку. Так что мостовая абсолютно ровная и дело в расчёте точки попадания.

Ссылка на комментарий
Игроки
3 194 публикации
46 157 боёв
02 Июн 2013 - 06:34 пользователь cyborg86 сказал:

Трое из пяти отписавшихся? Ты случаем не в Росстате работаешь?  :blinky:  

1) А какой смысл спрашивать тех, кто не понимает разницу?

2) Недавно родил годную отмазку: вот смотрите, в реальной жизни получается Рэлей. Но как он получается? Орудие зафиксировали и отстреляли дохрена снарядов, и построили график - выходит Релей. Но постойте, тут мы зафиксировали пушку, даже не целясь никуда. А в игре отклонение симулирует также и ошибку наведения орудия наводчиком. То есть это не только Релеевский разброс зафиксированного орудия, но и ошибка наводчика. Покажите нам хоть одно исследование, показывающее, что ошибка наводчика распределена по Релею, а дисперсия угла отклонения тэта не зависит от расстояния наведения. Покажете - тогда и посмотрим.

Spoiler

Только вы ничего такого не найдёте

 

Изменено пользователем Гость
Ссылка на комментарий
Игроки
6 876 публикаций
618 боёв

"Михаил, вам пытаются сказать что в игре есть танки у которых точность является единственным преимуществом перед одноклассниками, например пантера и е50. До 0.8.6 их точность и так позволяла вести успешный огонь с больших дистанций, и это было их фишкой. В новом патче снаряд часто летит в центр независимо от размеров круга сведения. Я например покатал на тесте пантеру и 34-1, что там что там снаряды летят в центр. Рассматривается ли какая-то компенсация в характеристиках танкам у которых кроме точности ничего не было?"

 

"Добрый день господа (товарищи) разработчики. Хочется узнать у вас мнение, связанное с апом точности орудий в 0.8.6. Сейчас разница между например пушкой Е50 (0,32) и Мауса (0,38) весьма ощутима, стрелять из маусгана на 400+ метров уже некомфортно в плане точности, а у Е50 это наоборот преимущество перед другими танками. После патча судя по всему такие проблемы с попаданием на маусгане исчезнут. Судя по тесту косые пушки станут попадать также как и точные, а точность того же Е50М или Тортиллы станет избыточной, т.к. стрелять дальше 600 метров не позволяет движок игры. Т.е. по сути произойдет скрытый нерф точных танков (т.к. теперь все будут попадать гораздо чаще на дальних дистанциях) и скрытый ап косых, таких как например Т 32 или Е 100.

Было бы интересно узнать Ваше мнение по этому вопросу."

 

"Опробовал на тесте новую точность.

Не перестарались ли с точностью?

Как я раньше и опасался, теперь трудно рассчитывать на "косость" противника.

Не сводясь народ лупит в нижний лист и попадает.

(выехал е100 и бабахает, и так несколько раз, с выезда сразу, и не близко было то)

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

Или это "заговор"?

или привыкать?"

 

Началось.

Ссылка на комментарий
Игроки
278 публикаций
24 789 боёв
02 Июн 2013 - 07:59 пользователь Med433 сказал:

1) А какой смысл спрашивать тех, кто не понимает разницу?..

Самое главное ИМХО не то, будет ли распределено по Релею или Гауссу, а то, чтобы честно рассказали игрокам как именно реализовано.

Раньше я, оценивая вероятность попасть в торчащую из-за холма комбашенку, оценивал какую часть комбашенка занимает в площади круге сведения. Если вероятность попасть была, скажем, менее 1/3, то на Квасе с его перезарядкой я от выстрела отказывался.

Сейчас оказывается, что я оценивал вероятности совершенно неверно:

1) круг сведения не совпадает с кругом прицеливания,

2) вероятность попасть в разные участки (на разное расстояние радиуса отклонения от центра) не то что нелинейно, но имеет невыражаемую простейшими математическими функциями природу.

Да, конечно, "сын ошибок трудных" должен был меня научить (и на т-34 где у меня боев за 1К, я понимал интуитивно шанс попасть), но все равно чувствую себя не то чтобы обманутым, но как если бы мне не сказали нечто очень важное.

Ссылка на комментарий
Игроки
6 876 публикаций
618 боёв
02 Июн 2013 - 14:36 пользователь Timur_champion сказал:

Самое главное ИМХО не то, будет ли распределено по Релею или Гауссу, а то, чтобы честно рассказали игрокам как именно реализовано.

Раньше я, оценивая вероятность попасть в торчащую из-за холма комбашенку, оценивал какую часть комбашенка занимает в площади круге сведения. Если вероятность попасть была, скажем, менее 1/3, то на Квасе с его перезарядкой я от выстрела отказывался.

Сейчас оказывается, что я оценивал вероятности совершенно неверно:

1) круг сведения не совпадает с кругом прицеливания,

2) вероятность попасть в разные участки (на разное расстояние радиуса отклонения от центра) не то что нелинейно, но имеет невыражаемую простейшими математическими функциями природу.

Да, конечно, "сын ошибок трудных" должен был меня научить (и на т-34 где у меня боев за 1К, я понимал интуитивно шанс попасть), но все равно чувствую себя не то чтобы обманутым, но как если бы мне не сказали нечто очень важное.

1. правда

2. не понял вашу мысль

Ссылка на комментарий
Игроки
278 публикаций
24 789 боёв
02 Июн 2013 - 14:49 пользователь vovan_tankist сказал:

1. правда

2. не понял вашу мысль

Я выбираю вариант 1.  :smile:

 

Это Вы на мои пункты отвечаете, которые со скобками?

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

Нельзя разрабам было сразу сказать - у нас реализация попадания снаряда вот такая - пусть не 100% реалистичная, но пользуйтесь той какая есть.

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

Изменено пользователем Timur_champion
Ссылка на комментарий
Игроки
6 876 публикаций
618 боёв
02 Июн 2013 - 19:21 пользователь Timur_champion сказал:

Я выбираю вариант 1.  :smile:

 

Это Вы на мои пункты отвечаете, которые со скобками?

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

Нельзя разрабам было сразу сказать - у нас реализация попадания снаряда вот такая - пусть не 100% реалистичная, но пользуйтесь той какая есть.

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

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

 

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

 

P.S. Кстати, если учесть, что для не арт круг сведения больше, чем реальный круг разброса примерно в 2 раза, то выходит, что круг сведения в игре как раз проходит по обрезке по 2.5-3 сигмам. Так что, если вы считали, в каком радиусе вероятность попадания будет 1/3, ваши расчеты очень хорошо совпадали с действительностью.

Ссылка на комментарий
Игроки
278 публикаций
24 789 боёв
02 Июн 2013 - 19:49 пользователь vovan_tankist сказал:

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

 

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

Т.е. в отличие от меня все догадывались что 20% снарядов в неарт-режиме летят в окружность (именно математическую окружность, а не круг), радиус которой составляет примерно половину от радиуса круга сведения?
Пользователь сказал:

P.S. Кстати, если учесть, что для не арт круг сведения больше, чем реальный круг разброса примерно в 2 раза, то выходит, что круг сведения в игре как раз проходит по обрезке по 2.5-3 сигмам. Так что, если вы считали, в каком радиусе вероятность попадания будет 1/3, ваши расчеты очень хорошо совпадали с действительностью.

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

Мои расчеты не совпадали с действительностью. А если совпадали, то только интуитивно (по опыту), а не рассудочно.

Изменено пользователем Timur_champion
Ссылка на комментарий
Игроки
6 876 публикаций
618 боёв
02 Июн 2013 - 20:11 пользователь Timur_champion сказал:

Т.е. в отличие от меня все догадывались что 20% снарядов в неарт-режиме летят в окружность (именно математическую окружность, а не круг), радиус которой составляет примерно половину от радиуса круга сведения?

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

Мои расчеты не совпадали с действительностью, если только интутивно, а не рассудочно.

Ну вот давайте посчитаем. Думаем, что круг сведения совпадает с кругом разброса, а обрезка по трем сигмам. Хотим прикинуть, какой должен быть круг с вероятностью попадания 50%. Выходит примерно 0,675 сигмы, то есть примерно четверть круга. Теперь считаем все то же самое, но с учетом, что круг сведения больше, чем круг разброса примерно в 2.2 раза. (по данным Med433), а обрезка по 1.3 сигмы. Выходит тоже примерно четверть круга.
Ссылка на комментарий
Игроки
4 567 публикаций
66 165 боёв
02 Июн 2013 - 14:36 пользователь Timur_champion сказал:

Самое главное ИМХО не то, будет ли распределено по Релею или Гауссу, а то, чтобы честно рассказали игрокам как именно реализовано.

Разработчики опубликовали пост "Немного пояснений по патчу 8.6 + «как это было»", где среди разных слов, из которых трудно понять в тонкостях, как именно реализовано или будет реализовано распределение попаданий, есть очень интересная табличка, которая как раз и позволяет определить формулу плотности текущего и будущего распределений (а знаешь функцию плотности вероятности - значит, знаешь про распределение все):

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_06_2013/post-285665-0-42950300-1370189497_thumb.png

 

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

 

Сразу скажу, что мне планируемое в 0.8.6 игровое распределение WoT нравится, и я не предлагаю его менять. Но оно и близко НЕ НОРМАЛЬНОЕ.

 

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

 

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

 

Разработчики неоднократно упоминали  в сигме отрезки нормального распределения.

Распределение попаданий в игре не нормальное, а та сигма, по которой идет обрезка сильно не совпадает с сигмами, которые можно посчитать из экспериментов, и которые ниже будут рассчитаны по формулам.

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

 

Итак,

функция плотности двумерного нормального распределения попаданий (реального) в Декартовых координатах без обрезки (везде в формулах среднее нормального распределения равно 0):

fрд(x,y)=1/(2*ПИ*s^2)*EXP(-(x^2+y^2)/(2*s^2))

Способ моделирования распределения: координаты x и у - генератором нормальных случайных чисел с сигмой s.

Среднее (матожидание) координат X и Y Мреал [X] = 0

Дисперсия координат X и Y Dреал [X] = s^2 =1 при s=1

И это единственный случай во всех наших формулах, когда сигма самого распределения попаданий равна сигме генератора нормальных случайных чисел. Но, как увидим ниже, его в WoT для попаданий нет.

 

Функция плотности двумерного нормального распределения попаданий (реального) в полярных координатах без обрезки:

fрп(r,фи)=r/(2*ПИ*s^2)*EXP(-(r^2)/(2*s^2))

Способ моделирования распределения: радиус r - генератором распределения Релея(*), угол фи - равномерно распределен от 0 до 2*ПИ

(*) Генератор распределения Релея может быть реализован Гауссовым генератором как с=КОРЕНЬ(a^2+b^2), где a и b распределены нормально.

Среднее (матожидание) радиуса Mреал [R] = s*КОРЕНЬ(ПИ/2) =1.2533 при s=1

Дисперсия радиуса Dреал [R] = (2-ПИ/2)*s^2 =0.4292 при s=1

 

При нормальном распределении:

Вероятность попадания в круг радиусом R: Pрr( R )=1-exp(-R^2/(2*s^2))

В частности, Pрr(s)=1-exp(-1/2)=0.3935

Вероятность попадания в полосу x от 0 до L: PрL(L)=1/2*erf(L/КОРЕНЬ(2)/s)

где erf(z) - функция ошибок.

В частности, PрL(s)=1/2*erf(1/КОРЕНЬ(2))=0.3413

 

Но это к WoT не относится, это для сравнения. В WoT игровое распределение.

Функция плотности двумерного игрового распределения попаданий в Декартовых  координатах без обрезки:

fид(x,y)=1/(КОРЕНЬ(2*ПИ)*ПИ*s)*(1/КОРЕНЬ(x^2+y^2)*EXP(-(x^2+y^2)/(2*s^2))

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

Среднее (матожидание) координат X и Y Мигра [X] = 0

Дисперсия координат X и Y Dигра [X] = (s^2)/2 =0.5 при s=1

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

 

Функция плотности двумерного игрового распределения попаданий в полярных координатах без обрезки:

fип(r,фи)=1/(КОРЕНЬ(2*ПИ)*ПИ*s)*EXP(-(r^2)/(2*s^2))

Вот в полярных координатах игровое распределение генерируется просто: радиус r - генератором нормальных случайных чисел, угол фи - равномерно распределен от 0 до 2*ПИ.

Среднее (матожидание) радиуса Mигра [R] = s*КОРЕНЬ(2/ПИ) = 0.79788 при s=1

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

Дисперсия радиуса Dигра [R] = (1-2/ПИ)*s^2 =0.36338 при s=1

 

Рассчитывая дисперсию Dигра [R], я обратил внимание на интересную особенность игрового распределения:

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

Если бы у нас был набор экспериментальных значений отклонений игрового распределения и мы бы захотели узнать сигму исходного распределения, то её можно было бы посчитать по формуле в MS Excel: s=КОРЕНЬ(СРЗНАЧ(R^2))

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

Формулы для обрезанного сложнее, я их приведу позже.

 

Все эти теоретические значения численно подтверждены моделированием распределений в MS Excel.

 

Вероятность попадания в круг радиусом R для игрового распределения:

Pиr( R )=erf(R/КОРЕНЬ(2)/s)

В частности, Pиr(s)=erf(1/КОРЕНЬ(2))=0.6826

 

Вот по этой формуле, собственно, и рассчитывали разработчики значения для 0.8.5 из приведенной выше таблицы. Совпадение полное, что подтверждает правильность приведенных формул игрового распределения. Желающие могут проверить в прикрепленном ниже файле для MS Excel.

 

Теперь о новом игровом распределении 0.8.6.

Оно отличается от распределения 0.8.5 с обрезкой нормального генератора по 2s тем,

что 4.55% точек, попавших на границу, распределяются равномерно по радиусу в круге с обрезкой 2s.

Вы, наверно, думаете, что ЭТИ точки заполняют круг разброса с равномерной плотностью?

Ага, щаз! Смотрите равномерное по радиусу распределение:

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_06_2013/post-285665-0-64673200-1370198046_thumb.gif

В этом распределении одинакова не плотность попаданий в круге, а число попаданий в кольцах на разных радиусах. А площадь-то колец растет! Соответственно, плотность попаданий при удалении от центра падает.

 

Функция плотности этого равномерного распределения попаданий в Декартовых  координатах с обрезкой по К сигма (в 0.8.6 К=2):

fод(x,y)=G/(2*ПИ*K*s)*(1/КОРЕНЬ(x^2+y^2))

где К=Rобр/s, соответственно K*s=Rобр

Но это сложно реализовать, поэтому

функция плотности этого равномерного распределения попаданий в полярных  координатах с обрезкой по К сигма (в 0.8.6 К=2):

fоп(r,фи)=G/(2*ПИ*K*s)

 

G - это значение вероятности попаданий на границу игрового распределения при обрезке К сигма.  

G=1-erf(K/КОРЕНЬ(2))  Для 0.8.6 G=1-erf(2/КОРЕНЬ(2))

 

Однако, посмотрев на табличку разработчиков, мы видим, что они всё же оставили в 0.8.6 0.27% попаданий на границу по-старому, переносом на границу.

Поэтому, согласно таблице, плотность вероятности равномерного распределения 0.8.6 (К=2) такая

fоп(r,фи)=(1-0.0027-erf(К/КОРЕНЬ(2)))/(2*ПИ*K*s)

 

А вероятность попадания в круг радиуса R, которую надо суммировать с вероятностью 0.8.5 для обрезки К=2, такая:

Pоr( R )=(1-0.0027-erf(К/КОРЕНЬ(2)))*R/(K*s)

 

Значения вероятности по долям круга, рассчитанные таким образом, полностью совпадают с таблицей разработчиков. См. прикрепленный файл (там для уменьшения объема файла из 32000 генерированных случайных значений оставлены только первые 1000, но желающие легко могут добавить нужное число точек, и скопировать строки с формулами перетаскиванием мышкой).

http://cdn-frm-eu.wargaming.net/wot/ru/4.1/style_extra/mime_types/html.gif  Comp_2.htm 1,29МБ

 

P.S. Кстати, если разработчики рассчитали таблицу вероятностей в долях круга, то они не могли не видеть, что распределение попаданий не нормальное. Зачем же называть его нормальным в анонсе к 0.8.6?

 

P.P.S. Med433 подсказал, что 0.27% - это доля точек, вылетевших за границу 3сигма в игровом распределении:

1-Pиr(3s)=1-erf(3/КОРЕНЬ(2))=0.0026998

То есть, точки, попавшие в промежуток между 2 и 3 сигмами нормального генератора, перераспределяются в круге 2сигма равномерно по радиусу, а вылетевшие за 3сигма - переносятся на границу 2сигма.

perfectprobability.png

image003.gif

Comp_2.htm

Изменено пользователем Galaxy_Plus
05 мар 2020 - 18:14 пользователь Corspe сказал:

Любые изменения в игре призваны повысить комфорт. Мы делаем все возможное, чтобы максимальное количество игроков были довольны. Так было, есть и будет.

Ссылка на комментарий
Игроки
6 876 публикаций
618 боёв
02 Июн 2013 - 22:14 пользователь Galaxy_Plus сказал:

Разработчики опубликовали пост "Немного пояснений по патчу 8.6 + «как это было»", где среди разных слов, из которых трудно понять в тонкостях, как именно реализовано или будет реализовано распределение попаданий, есть очень интересная табличка, которая как раз и позволяет определить формулу плотности текущего и будущего распределений (а знаешь функцию плотности вероятности - значит, знаешь про распределение все):

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_06_2013/post-285665-0-42950300-1370189497_thumb.png

 

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

 

Сразу скажу, что мне планируемое в 0.8.6 игровое распределение WoT нравится, и я не предлагаю его менять. Но оно и близко НЕ НОРМАЛЬНОЕ.

 

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

 

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

 

Разработчики неоднократно упоминали  в сигме отрезки нормального распределения.

Распределение попаданий в игре не нормальное, а та сигма, по которой идет обрезка сильно не совпадает с сигмами, которые можно посчитать из экспериментов, и которые ниже будут рассчитаны по формулам.

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

 

Итак,

функция плотности двумерного нормального распределения попаданий (реального) в Декартовых координатах без обрезки (везде в формулах среднее нормального распределения равно 0):

fрд(x,y)=1/(2*ПИ*s^2)*EXP(-(x^2+y^2)/(2*s^2))

Способ моделирования распределения: координаты x и у - генератором нормальных случайных чисел с сигмой s.

Среднее (матожидание) координат X и Y Мреал [X] = 0

Дисперсия координат X и Y Dреал [X] = s^2 =1 при s=1

И это единственный случай во всех наших формулах, когда сигма самого распределения попаданий равна сигме генератора нормальных случайных чисел. Но, как увидим ниже, его в WoT для попаданий нет.

 

Функция плотности двумерного нормального распределения попаданий (реального) в полярных координатах без обрезки:

fрп(r,фи)=r/(2*ПИ*s^2)*EXP(-(r^2)/(2*s^2))

Способ моделирования распределения: радиус r - генератором распределения Релея(*), угол фи - равномерно распределен от 0 до 2*ПИ

(*) Генератор распределения Релея может быть реализован Гауссовым генератором как с=КОРЕНЬ(a^2+b^2), где a и b распределены нормально.

Среднее (матожидание) радиуса Mреал [R] = s*КОРЕНЬ(ПИ/2) =1.2533 при s=1

Дисперсия радиуса Dреал [R] = (2-ПИ/2)*s^2 =0.4292 при s=1

 

При нормальном распределении:

Вероятность попадания в круг радиусом R: Pрr®=1-exp(-R^2/(2*s^2))

В частности, Pрr(s)=1-exp(-1/2)=0.3935

Вероятность попадания в полосу x от 0 до L: PрL(L)=1/2*erf(L/КОРЕНЬ(2)/s)

где erf(z) - функция ошибок.

В частности, PрL(s)=1/2*erf(1/КОРЕНЬ(2))=0.3413

 

Но это к WoT не относится, это для сравнения. В WoT игровое распределение.

Функция плотности двумерного игрового распределения попаданий в Декартовых  координатах без обрезки:

fид(x,y)=1/(КОРЕНЬ(2*ПИ)*ПИ*s)*(1/КОРЕНЬ(x^2+y^2)*EXP(-(x^2+y^2)/(2*s^2))

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

Среднее (матожидание) координат X и Y Мигра [X] = 0

Дисперсия координат X и Y Dигра [X] = (s^2)/2 =0.5 при s=1

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

 

Функция плотности двумерного игрового распределения попаданий в полярных координатах без обрезки: fип(r,фи)=1/(КОРЕНЬ(2*ПИ)*ПИ*s)*EXP(-(r^2)/(2*s^2))

Вот в полярных координатах игровое распределение генерируется просто: радиус r - генератором нормальных случайных чисел, угол фи - равномерно распределен от 0 до 2*ПИ.

Среднее (матожидание) радиуса Mигра [R] = s*КОРЕНЬ(2/ПИ) = 0.79788 при s=1

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

Дисперсия радиуса Dигра [R] = (1-2/ПИ)*s^2 =0.36338 при s=1

 

Все эти теоретические значения численно подтверждены моделированием распределений в MS Excel.

 

Вероятность попадания в круг радиусом R для игрового распределения:

Pиr( R )=erf(R/КОРЕНЬ(2)/s)

В частности, Pиr(s)=erf(1/КОРЕНЬ(2))=0.6826

 

Вот по этой формуле, собственно, и рассчитывали разработчики значения для 0.8.5 из приведенной выше таблицы. Совпадение полное, что подтверждает правильность приведенных формул игрового распределения. Желающие могут проверить в прикрепленном ниже файле для MS Excel.

 

Теперь о новом игровом распределении 0.8.6.

Оно отличается от распределения 0.8.5 с обрезкой по нормального генератора по 2s тем,

что 4.55% точек, попавших на границу распределяются равномерно в круге с обрезкой 2s.

Вы, наверно, думаете, что ЭТИ точки заполняют круг разброса равномерно?

Ага, щаз! Смотрите равномерное по радиусу распределение:

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_06_2013/post-285665-0-64673200-1370198046_thumb.gif

В этом распределении одинакова не плотность попаданий в круге, а число попаданий в кольцах на разных радиусах. А площадь-то колец растет! Соответственно, плотность попаданий при удалении от центра падает.

 

Функция плотности этого равномерного распределения попаданий в Декартовых  координатах с обрезкой по К сигма (в 0.8.6 К=2): fод(x,y)=G/(2*ПИ*K*s)*(1/КОРЕНЬ(x^2+y^2))

Но это сложно реализовать, поэтому

функция плотности этого равномерного распределения попаданий в полярных  координатах с обрезкой по К сигма (в 0.8.6 К=2): fоп(r,фи)=G/(2*ПИ*K*s)

 

G - это значение вероятности попаданий на границу игрового распределения при обрезке К сигма.  G=1-erf(K/КОРЕНЬ(2))  Для 0.8.6 G=1-erf(2/КОРЕНЬ(2))

 

Однако, посмотрев на табличку разработчиков, мы видим, что они всё же оставили в 0.8.6 0.27% попаданий на границу по-старому, переносом на границу.

Поэтому, согласно таблице, плотность вероятности равномерного распределения 0.8.6 такая

fоп(r,фи)=(1-0.0027-erf(КОРЕНЬ(2)))/(2*ПИ*K*s)

 

А вероятность попадания в круг радиуса R, которую надо суммировать с вероятностью 0.8.5 для обрезки К=2, такая:

Pоr( R )=(1-0.0027-erf(К/КОРЕНЬ(2)))*R/(K*s)

 

Значения вероятности по долям круга, рассчитанные таким образом, полностью совпадают с таблицей разработчиков. См. прикрепленный файл (там для уменьшения объема файла из 32000 генерированных случайных значений оставлены только первые 1000, но желающие легко могут добавить нужное число точек, и скопировать строки с формулами).

 

P.S. Кстати, если разработчики рассчитали таблицу вероятностей в долях круга, то они не могли не видеть, что распределение попаданий не нормальное. Зачем же называть его нормальным в анонсе к 0.8.6?

Я так понимаю, этот пост вы не читали?

Ссылка на комментарий
Игроки
278 публикаций
24 789 боёв
02 Июн 2013 - 20:22 пользователь vovan_tankist сказал:

Ну вот давайте посчитаем. Думаем, что круг сведения совпадает с кругом разброса, а обрезка по трем сигмам. Хотим прикинуть, какой должен быть круг с вероятностью попадания 50%. Выходит примерно 0,675 сигмы, то есть примерно четверть круга. Теперь считаем все то же самое, но с учетом, что круг сведения больше, чем круг разброса примерно в 2.2 раза. (по данным Med433), а обрезка по 1.3 сигмы. Выходит тоже примерно четверть круга.

А теперь представим, что мы целимся в "сферический танк", радиус которого в прицеле составляет чуть менее 0,5 радиуса круга сведения. Просчитываем вероятность попасть. Совпало?
Ссылка на комментарий
Игроки
6 876 публикаций
618 боёв
03 Июн 2013 - 07:36 пользователь Timur_champion сказал:

А теперь представим, что мы целимся в "сферический танк", радиус которого в прицеле составляет чуть менее 0,5 радиуса круга сведения. Просчитываем вероятность попасть. Совпало?

Не совпало, в игре вероятность выше, чем в теории. Для стреляющего это только приятная новость. Разве нет?

Ссылка на комментарий
Игроки
4 567 публикаций
66 165 боёв
02 Июн 2013 - 23:31 пользователь vovan_tankist сказал:

Я так понимаю, этот пост вы не читали?

Это пост, достойный плюса, и в нем есть то, о чем не писал я - сравнение влияния разных распределений на геймплей.

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

Смысл моего поста в том, что любой желающий с помощью МS Excel может сам рассчитать эти вероятности, ибо написано, как это делать.

05 мар 2020 - 18:14 пользователь Corspe сказал:

Любые изменения в игре призваны повысить комфорт. Мы делаем все возможное, чтобы максимальное количество игроков были довольны. Так было, есть и будет.

Ссылка на комментарий
Игроки
3 194 публикации
46 157 боёв

Кто мне объяснит, зачем они 0.27% точек укладывают точно в границу? Какой смысл, почему не загнать их внутрь вместе с остальными???

Если так поразмыслить, то 0.27% - это как раз столько, сколько улетает за три сигмы. То есть, то что между 2 и 3 сигма мы распределим равномерно по радиусу, а то что дальше трёх - уложим в краешек. Нахрена???!!!

Ещё раз перечитал ссылку. Похоже, Серб не шутит, когда говорит, что решения принимаются "по воле левой пятки".

Ссылка на комментарий
Игроки
6 876 публикаций
618 боёв
03 Июн 2013 - 09:24 пользователь Med433 сказал:

Кто мне объяснит, зачем они 0.27% точек укладывают точно в границу? Какой смысл, почему не загнать их внутрь вместе с остальными???

Если так поразмыслить, то 0.27% - это как раз столько, сколько улетает за три сигмы. То есть, то что между 2 и 3 сигма мы распределим равномерно по радиусу, а то что дальше трёх - уложим в краешек. Нахрена???!!!

Ещё раз перечитал ссылку. Похоже, Серб не шутит, когда говорит, что решения принимаются "по воле левой пятки".

Я думаю, это просто ошибка в таблице

Ссылка на комментарий
Игроки
4 567 публикаций
66 165 боёв
03 Июн 2013 - 09:24 пользователь Med433 сказал:

Кто мне объяснит, зачем они 0.27% точек укладывают точно в границу? Какой смысл, почему не загнать их внутрь вместе с остальными???

Если так поразмыслить, то 0.27% - это как раз столько, сколько улетает за три сигмы.

Med433, гениально! 3сигма! А я-то всё думал, откуда они взяли эти 0.27%!

И становится понятна фраза про "подложку в 1сигма".

("Решение о подложке в одну сигму (между 2 и 3) родилось из предыдущих совещаний с Мишей и Максом «само»".)

 

Последовательность действий разработчиков была такая:

сначала они увеличили обрезку с 1.3 до 2 сигма, перенося на границу всё, что вылетает за 2 сигма,

а потом из этих вылетающих точек вырезали кольцо шириной 1сигма (R от 2 до 3 сигм) соорудили из этого кольца равномерно распределенную по радиусу "подложку" для основного распределения.

А остаток 0.27%, вылетающий за 3 сигма, так и переносится по-старому на границу.

 

P.S. vovan-tankist, 0.27% на границе - это не ошибка. Это особенность  реализации распределения. Разработчики не стали выпиливать старый код переноса, а изменили ему границу переноса свыше 3 сигм и добавили новый алгоритм переноса в диапазоне от 2 до 3 сигм.

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

 

Med433, причиной 0.27% границе могла быть лень выпиливать код вместо замены одной константы.

Изменено пользователем Galaxy_Plus
05 мар 2020 - 18:14 пользователь Corspe сказал:

Любые изменения в игре призваны повысить комфорт. Мы делаем все возможное, чтобы максимальное количество игроков были довольны. Так было, есть и будет.

Ссылка на комментарий
Игроки
6 876 публикаций
618 боёв
03 Июн 2013 - 10:16 пользователь Galaxy_Plus сказал:

Med433, гениально! 3сигма! А я-то всё думал, откуда они взяли эти 0.27%!

И становится понятна фраза про "подложку в 1сигма".

Последовательность действий разработчиков была такая:

сначала они увеличили обрезку с 1.3 до 2 сигма, перенося на границу всё, что вылетает за 2 сигма,

а потом из этих вылетающих точек вырезали кольцо шириной 1сигма (R от 2 до 3 сигм) соотудили из этого кольца равномерно распределенною по радиусу "подложку" для основного распрелеления.

А остаток 0.27%, вылетающий за 3 сигма, так и переносится по-старому на границу.

 

P.S. vovan-tankist, 0.27% на границе - это не ошибка. Это особенность  реализации распределения. Разработчики не стали выпиливать старый код переноса, а изменили ему границу переноса свыше 3 сигм и добавили новый алгоритм переноса в диапазоне от 2 до 3 сигм.

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

А зачем так усложнять? С какой целью? Код переноса очень простой:

if (d > 1.3) d = 1.3;

if (d

 

Хотя, скорее всего так:

limit = 1.3;

 

if (d > limit) d = limit;

if (d

 

По идее изменили на:

limit = 2;

 

if (abs(d) > limit) d = limit * (rand() * 2 - 1);

 

Зачем городить что-то страшное?

Ссылка на комментарий
Игроки
4 567 публикаций
66 165 боёв
03 Июн 2013 - 10:26 пользователь vovan_tankist сказал:

А зачем так усложнять? С какой целью? Код переноса очень простой:

Зачем городить что-то страшное?

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

И нет гарантии, что в каком-то месте, вместо вызова подпрограммы, этот код не продублирован физически, ибо он слишком простой.

А значение обрезки наверняка вынесено в общую таблицу балансировочных параметров, а не стоит в многих местах по исходному тексту в виде констант.

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

Изменено пользователем Galaxy_Plus
05 мар 2020 - 18:14 пользователь Corspe сказал:

Любые изменения в игре призваны повысить комфорт. Мы делаем все возможное, чтобы максимальное количество игроков были довольны. Так было, есть и будет.

Ссылка на комментарий
Гость
Эта тема закрыта для публикации новых ответов.
  • Сейчас на странице   0 пользователей

    • Эту страницу никто не просматривает.
×
×
  • Создать...