Ещё о моделировании стрельбы

Я написал о физике и статистике метательных снарядов, стрельбы из лука и баллистики столько, что этими буквами можно потопить военный корабль — поищите по блогу и сами увидите. Материала так много, что порой легко потерять нить. Поэтому я решил подвести итог некоторым нашим находкам.
У нас два основных источника данных. Первый — книга Лонгмана и Уолронда Archery (1894), которую цитирует Бэрроу в статье «В поисках реализма в стрельбе из лука» из Dragon № 58 за февраль 1982 года. Он пишет — впервые я отметил это в блоге здесь:
На английских турнирах лучники используют мишень диаметром 48 дюймов… Сводка двенадцати лучших результатов турниров за один год показывает следующую долю попаданий лучших лучников Англии на трёх дистанциях: 92% с 60 ярдов, 81% с 80 ярдов и 54% со 100 ярдов.
Второй источник — более современные британские соревнования по дальней навесной стрельбе из длинного лука. На турнире 2016 года с дистанции 180 ярдов участники попадали в мишень радиусом 12 футов в 42% случаев, а в центральную мишень радиусом 18 дюймов — лишь в 1% случаев. Полные данные и таблицы приведены в блоге здесь.
Опираясь на эти ориентиры, мы разработали простую физическую симуляцию выстрелов из лука. Идею я впервые встретил у Конвея-Джонса в статье «Анализ результатов стрельбы из малокалиберного оружия», Journal of the Royal Statistical Society (1972). Суть довольно проста: ошибка выстрела по осям X и Y моделируется двумя независимыми нормальными кривыми — вместе они задают двумерное нормальное распределение. Впервые я писал об этом здесь.
Симуляция написана на Java и опубликована в открытом репозитории на GitHub. Если запустить программу с точностью 6,7 — невероятно высокий навык, — радиусом мишени 2 фута и подробным выводом, то есть с параметрами 6.7 2 -L, вероятность попадания окажется очень близка к данным из Archery 1894 года. Сравните выделенные значения с цитатой выше:

Если же запустить программу с точностью 1,6 и радиусом мишени 12 футов — параметры 1.6 12 -L, — результаты будут очень близки к современным британским турнирам по навесной стрельбе:

Кроме того, если во втором эксперименте уменьшить радиус мишени до 1,5 фута, то есть 18 дюймов, вероятность попадания со 180 ярдов станет равна 1% — ровно как в реальных данных. Сопоставляя два источника, можно было бы решить, что мастерство английских лучников катастрофически упало с 1894 по 2016 год: точность 6,7 в первом случае против 1,6 во втором. Но короткая цитата о первом источнике позволяет предположить, что в выборку попали только лучшие результаты: это двенадцать лучших результатов со всех турниров Англии за год. Во втором наборе учтены все 30 участников одного турнира независимо от качества выступления. Поэтому окончательного ответа пока нет.
На этом повторение закончено. Перейдём к новой мысли: какая статистическая модель лучше всего описывает эти числа? Сверху и снизу есть очевидные пределы: вероятность попадания — или промаха — не может быть больше 100% или меньше 0%. Вероятно, нам нужна гладкая непрерывная кривая, способная теоретически работать на любой дистанции. По сути, мы только что дали определение сигмоидальной кривой: S-образной кривой, встречающейся во многих кумулятивных функциях распределения вероятностей. Самая простая модель такого рода — логистическая функция, применяемая в логистической регрессии.
Проблема в том, что такая логистическая регрессия, в отличие от линейной, полиномиальной или экспоненциальной, не встроена в стандартные электронные таблицы вроде LibreOffice и Excel. Поэтому я сделал следующее. Из второго эксперимента, по данным турнира 2016 года, я взял точность 1,6. Радиус мишени задал равным 2 футам и вывел результаты через каждые 2 ярда. Затем пересчитал вероятности попадания в вероятности промаха, чтобы значения росли слева направо. Наконец, на сайте графического калькулятора Desmos — огромное спасибо его создателям! — выполнил логистическую регрессию. Вот наилучшее приближение:

Оранжевая кривая показывает результат регрессии, чёрные точки — данные нашей симуляции навесной стрельбы британских лучников. Коэффициент детерминации R² = 95,87%. Возможный недостаток: показанная в левом нижнем углу логистическая формула слишком сложна для обычной игровой встречи D&D. Но есть и второе наблюдение. В центральной части кривой, примерно от 20 до 40 ярдов, если отбросить участки вблизи 0% и 100%, то есть взять область максимальной скорости изменения, кривая почти превращается в прямую.
Найдём приближающую прямую для этой «критической» части. Формула регрессии даёт точки (20; 0,28) и (40; 0,73), то есть область, где вероятность попадания или промаха меняется примерно от 25% до 75%. Решив уравнение прямой через эти точки — с помощью Wolfram Alpha или старой доброй университетской алгебры, — получим: y = 0,0225x − 0,17. Наклон m = 0,0225 означает, что на этом участке вероятность попадания падает на 2,25 процентного пункта за ярд. Переводим в футы: 0,0225 / 3 = 0,0075, то есть 0,75 процентного пункта за фут или 7,5 процентного пункта за 10 футов. Это поразительно близко к значению 7,6 процентного пункта за 10 футов, которое несколько недель назад дал эксперимент Милкс с метанием копий.
Вывод: наши данные и несколько моделей указывают на устойчивое падение вероятности попадания примерно на 7,5 процентного пункта за каждые 10 футов в той части диапазона, которая важна для игры, — где ещё нельзя считать попадание или промах практически гарантированным. Поэтому последние несколько месяцев в своей игре D&D я для простоты снижаю это значение до 5 процентных пунктов и просто назначаю штраф −1 к попаданию за каждые 10 футов при броске атаки на к20 (d20 attack roll).
Но как учесть длинные верхний и нижний участки сигмоидальной S-кривой, где вероятность почти, но не совсем равна 0% или 100%? Классическое правило автоматического промаха на натуральной «1» и автоматического попадания на «20» — или близкий вариант, в котором они считаются результатами −10 и +30, — довольно хорошо воспроизводит остальную часть модели.
P. S. Помните: приведённые значения попаданий и промахов предполагают одну неподвижную, незащищённую цель размером с человека, радиусом около 2 футов. На практике нужны дополнительные модификаторы для настороженных и защищающихся людей в поле, стрельбы по плотной массе солдат и так далее. Но, насколько мы можем судить, шаг конкретных модификаторов дальности остаётся примерно одинаковым независимо от прочих обстоятельств.
Если вам понравилась эта статья или у вас есть комментарии, присоединяйтесь к дискуссии в канале Telegram или сервере в Discord.