разбросало кучу #4.1 (школота)
Nov. 2nd, 2014 01:35 pmУВАГА: Если ты, дорогой читатель, понимаешь что такое нормальное распределение, распределение Рэлея, среднеквадратическое отклонение и доверительный интервал, этот пост тебе, наверное, можно безо всякого ущерба пропустить. Если ты хорошо понимаешь, что это такое, во избежание ущерба читать лучше не надо.
Хорошие новости: разброс пробоин в мишени описывается очень простыми математическими моделями. Разброс по вертикали и по горизонтали независимы друг от друга, и каждый описывается т.н. нормальным распределением, гауссианой.
Те, кто вдруг возжаждал вспомнить формулы и Учоную Тэорию, могут запросто потеребить себя за уикипэдию. Для тех же, кто изначально забил или с удовольствием забыл, принципиальная схема гауссианы в профиль выглядит примерно так (уже предвкушаю корчи математиков, при чтении дальнейшего.):

(картинка попячена с википэдии)
Нормальное распределение пробоин задаётся двумя параметрами:
μ (мю) -- средняя точка попаданий
σ (сигма) -- мера, собственно, разброса
Чем выше кривая в некой точке икс, тем больше вероятность, что пуля попадёт куда-то в район икса. Строго говоря, вероятность определяется площадью под графиком. Например, вероятность того, что пуля попадёт в пределах плюс-минус сигмы от СТП, равна ~68.2%. Плюс-минус двух сигм -- 95.4%. Плюс-минус трёх сигм -- 99.7%.
Общая площадь под графиком равна единице; это означает, что вероятность попадания пули в промежуток плюс-минус бесконечность равна 100%. Если сигма увеличивается, график "растягивается", а чтобы площадь оставалась равной единице, пик -- верхняя точка -- снижается, т. е. уменьшается вероятность, что пули лягут близко к центру. Примерно так:

(картинка попячена с википэдии)
Синяя винтовка = группирует хорошо, красная винтовка = группирует ок, жёлтая винтовка = Ругер Мини. Обратите внимание на зелёную винтовку: кучность ок, но сбит прицел -- СТП конкретно не в центре мишени; этот фактор нужно всегда учитывать, и мы к нему ещё вернёмся.
Если бы сферический конь в вакууме, из винтовки не знающей сноса, залепил бы 10 тысяч патронов в мишень, зрелище было бы примерно такое:

Для нашего случая, про нормальное распределение нужно помнить две вещи:
Нормальное распределение очень полезно для компьюторной моделизации происходящего. В деле статистического анализа разброса, некоторые вопросы невозможно решить аналитически (т.е. взял формулу, подставил значения, получил результат). Ответ может быть получен только численными методами. Призвав на помощь сферического коня в вакууме, с винтовкой не знающей сноса (или, как говорим мы, Учоные, СКВАВИНЗС, для друзей -- СКВА), получаем картинки, очень точно отражающие реальность, сэкономив миллионы патронов и миллионы лет на замеры мишенек.
Для тех, кто пожелает употребить свои счётные мощности на благо народного хозяйства (а не на сраные лайки в сраном фейцбучике), в любом языке есть простой способ сгенерировать псевдослучайное число между 0 и 1 с постоянной функцией распределения (т. е. вероятность равномерно разбросана по всему промежутку). Чтобы получить из этого нормальное распределение, СКВА обращается к преобразованию Бокса-Мюллера. Например на перле это выглядит как-то так:
В деле генерирования случайных чисел, отдельно должен предостеречь от использования Ыкцеля или Либрофис-Калька; в них функция RAND() -- говно.
Нормальное распределение напрямую никак не применимо к собственно анализу разброса по результатам в мишени.
Гауссиана описывает только одно измерение -- горизонталь или вертикаль; для нас же, на двухмерной мишени, в первую очередь интересно насколько пробоины отстоят от СТП.
Специально для ответа на этот вопрос существует распределение Рэлея, о котором будет следующий выпуск нашего альманаха.
Хорошие новости: разброс пробоин в мишени описывается очень простыми математическими моделями. Разброс по вертикали и по горизонтали независимы друг от друга, и каждый описывается т.н. нормальным распределением, гауссианой.
Те, кто вдруг возжаждал вспомнить формулы и Учоную Тэорию, могут запросто потеребить себя за уикипэдию. Для тех же, кто изначально забил или с удовольствием забыл, принципиальная схема гауссианы в профиль выглядит примерно так (уже предвкушаю корчи математиков, при чтении дальнейшего.):
(картинка попячена с википэдии)
Нормальное распределение пробоин задаётся двумя параметрами:
μ (мю) -- средняя точка попаданий
σ (сигма) -- мера, собственно, разброса
Чем выше кривая в некой точке икс, тем больше вероятность, что пуля попадёт куда-то в район икса. Строго говоря, вероятность определяется площадью под графиком. Например, вероятность того, что пуля попадёт в пределах плюс-минус сигмы от СТП, равна ~68.2%. Плюс-минус двух сигм -- 95.4%. Плюс-минус трёх сигм -- 99.7%.
Общая площадь под графиком равна единице; это означает, что вероятность попадания пули в промежуток плюс-минус бесконечность равна 100%. Если сигма увеличивается, график "растягивается", а чтобы площадь оставалась равной единице, пик -- верхняя точка -- снижается, т. е. уменьшается вероятность, что пули лягут близко к центру. Примерно так:
(картинка попячена с википэдии)
Синяя винтовка = группирует хорошо, красная винтовка = группирует ок, жёлтая винтовка = Ругер Мини. Обратите внимание на зелёную винтовку: кучность ок, но сбит прицел -- СТП конкретно не в центре мишени; этот фактор нужно всегда учитывать, и мы к нему ещё вернёмся.
Если бы сферический конь в вакууме, из винтовки не знающей сноса, залепил бы 10 тысяч патронов в мишень, зрелище было бы примерно такое:

Для нашего случая, про нормальное распределение нужно помнить две вещи:
Нормальное распределение очень полезно для компьюторной моделизации происходящего. В деле статистического анализа разброса, некоторые вопросы невозможно решить аналитически (т.е. взял формулу, подставил значения, получил результат). Ответ может быть получен только численными методами. Призвав на помощь сферического коня в вакууме, с винтовкой не знающей сноса (или, как говорим мы, Учоные, СКВАВИНЗС, для друзей -- СКВА), получаем картинки, очень точно отражающие реальность, сэкономив миллионы патронов и миллионы лет на замеры мишенек.
Для тех, кто пожелает употребить свои счётные мощности на благо народного хозяйства (а не на сраные лайки в сраном фейцбучике), в любом языке есть простой способ сгенерировать псевдослучайное число между 0 и 1 с постоянной функцией распределения (т. е. вероятность равномерно разбросана по всему промежутку). Чтобы получить из этого нормальное распределение, СКВА обращается к преобразованию Бокса-Мюллера. Например на перле это выглядит как-то так:
my $COUNT = 1000000;
my $x;
my $y;
my $PI = 4 * atan2(1, 1);
for my $i (1 .. $COUNT) {
$x = sqrt(-2 * log(1 - rand())) * cos(rand() * 2 * $PI);
$y = sqrt(-2 * log(1 - rand())) * cos(rand() * 2 * $PI);
print "$x,$y\n";
}
В деле генерирования случайных чисел, отдельно должен предостеречь от использования Ыкцеля или Либрофис-Калька; в них функция RAND() -- говно.
Нормальное распределение напрямую никак не применимо к собственно анализу разброса по результатам в мишени.
Гауссиана описывает только одно измерение -- горизонталь или вертикаль; для нас же, на двухмерной мишени, в первую очередь интересно насколько пробоины отстоят от СТП.
Специально для ответа на этот вопрос существует распределение Рэлея, о котором будет следующий выпуск нашего альманаха.
no subject
Date: 2014-11-02 01:07 pm (UTC)no subject
Date: 2014-11-02 01:45 pm (UTC)no subject
Date: 2014-11-03 08:27 am (UTC)Зато про нормальные распределения теперь знаю :)
no subject
Date: 2014-11-02 01:08 pm (UTC)я не вижу никакой причины, почему бокс-мюллер (и другие такие же) не могут быть запихан внутрь самой rand.
a?
no subject
Date: 2014-11-02 01:43 pm (UTC)+1.
no subject
Date: 2014-11-02 03:14 pm (UTC)оттого и вопрос, почему это имплементаторы rand сами не дотумкают до каких-нибудь ботокс-мюллеров.. пока ответ нет..
no subject
Date: 2014-11-02 04:34 pm (UTC)no subject
Date: 2014-11-02 01:40 pm (UTC)для наших целей, стандартного rand(), как правило, вполне достаточно, чай не по криптографической валидности маньячим. другое дело, что в ыкцеле и либрофисе этот ранд кривой донельзя, в смысле -- распределение совершенно не равномерное.
> я не вижу никакой причины, почему бокс-мюллер (и другие такие же) не могут быть запихан внутрь самой rand.
а зачем их встраивать? если нужен -- посчитал.
во всяких специализированных стат. библиотеках наверняка существуют версии ранда по разным расхожим распределениям, но я не парился.
no subject
Date: 2014-11-02 03:20 pm (UTC)...
>rand() - генератор псевдослучайных чисел
ну, затем, чтобы когда нам нужен генератор не псевдослöучайных, а случайных чисел, мы бы запускали rand, а не wrapper на rand.
no subject
Date: 2014-11-02 03:38 pm (UTC)вона кстати, для перл-а ничего выдумывать не надо.
no subject
Date: 2014-11-03 04:50 am (UTC)Думаю, можно схожим образом рассчитывать минимальное необходимое количество выстрелов для того, чтобы считать цель пораженной. Но, конечно, в реальности эта "математика" больше применима к автоматическим системам вроде CIWS, нежели к ручному стрелковому оружию.
P.S. Вызвала какие-то сомнения независимость разброса по вертикали и по горизонтали. Но внятных аргументов в пользу своих сомнений не придумал.
no subject
Date: 2014-11-03 10:54 am (UTC)отчего же? в моделизации лёгкой стрелковки это, можно сказать, самый жир -- вероятность поражения цели (ср. конкурс Абакан).
тот же браянлиц, опять-таки, на этом основывает концепцию Weapon Employment Zone -- до каких пределов можно реалистично использовать некий комплекс стрелок-винтовка-патрон.
монтекарла -- дико полезная штука, и с современными счётными мощностями доступна любому телепузику, на сраных смартфонах можно эффективность ротных пулемётов просчитывать.
> P.S. Вызвала какие-то сомнения независимость разброса по вертикали и по горизонтали. Но внятных аргументов в пользу своих сомнений не придумал.
тут-то как раз всё ок, с реальностью совпадает, военные расчёты на этом основаны. единственный фактор, который как-то заметно влияет на обе -- переменный ветер в сложном рельефе, где нужно учитывать восходящие/нисходящие потоки, но до такого моё занудство не доходит.
но дальше (с распр. Рэлея) будет другое допущение -- равные сигмы по горизонтали и вертикали, что уже конкретно неверно. по горизонтали -- ветер, по вертикали -- разница дульной скорости, без ветра группы по вертикали обычно больше. если это учитывать, расчёты доверительных интервалов становятся не по моим мозгам. буду считать кругом, бо в практическом плане выводы получаются вполне валидные.
no subject
Date: 2014-11-03 02:32 pm (UTC)Это для расчета R50? Или для красивых картинок?
no subject
Date: 2014-11-03 02:56 pm (UTC)КВО, ага, или его производная (типа R95).
если рассматривать не круг, а эллипс или прямоугольник, с оценкой доверительных интервалов начинается лютая запара.
no subject
Date: 2014-11-03 03:15 pm (UTC)Или Вы хотите в программе посчитать какой процент попаданий приходится в эллипс с полуосями в сигму, n сигм?
no subject
Date: 2014-11-03 04:53 pm (UTC)это-то, как раз, фигня, считается запросто.
морока начинается на уровне определения интервала доверия.
для круга я могу сформулировать "на основе экспериментальных данных, с уверенностью 95%, R50 находится в интервале X1..X2", а для эллипса что-то подобное выдать -- хера, мозг перегревается.
в этом, на самом деле, одна из главных целей моего экзерсиса -- вопрос #3 из предыдущего поста -- показать несостоятельность некоторых расхожих оценок, и задать некие минимальные стандарты качества (пусть только среди одного меня).
no subject
Date: 2014-11-03 05:15 pm (UTC)Формат djvu
no subject
Date: 2016-03-06 12:20 pm (UTC)очень интересно теперь, что же там было...
no subject
Date: 2016-03-06 02:06 pm (UTC)no subject
Date: 2016-03-06 02:30 pm (UTC)ещё раз спасибо!
очень от неё мозги на место встают.
no subject
Date: 2014-11-04 01:15 pm (UTC)Это да. Понятно. Просто подумалось, что в ручном стрелковом подобные расчеты могут использоваться на этапе проектирования оружия/патрона и написания руководств с наставлениями. А потом стрелку останется только запомнить несложную таблицу или уяснить упрощенную формулу. В автоматических же системах эти расчеты (и другие, естественно) могут с нужной степенью точности проводится компьютером, непосредственно перед и во время ведения огня. Это я имел в виду в плане их "большей применимости". Стрелок-человек пользуется готовым результатом, а автоматическая система и сама вполне успевает провести все вычисления.
> по горизонтали -- ветер, по вертикали -- разница дульной скорости, без ветра группы по вертикали обычно больше
Да, об этом я тоже подумал, глядя на картинку. Но можно пренебречь... Иначе расчеты, хоть и прибавляя в точности, усложняют их практическое применение.
no subject
Date: 2014-11-03 10:56 am (UTC)федерико витали -- мой кумир и жизненный ориентир.