---from Дед Мороз
Еще одно частное решение задачи оценки силы флотов
Истоки
С древних времен лучшие умы галактики пытались использовать мощь математического аппарата для расчета оптимальной стратегии в Galaxy PLUS. Особенно интересной является задача предсказания итога боя по составу флота. Но правила битвы настолько сложны для математического моделирования, что не позволяют записать уравнения для более-менее реальной битвы, а тем более решить их в общем случае. Можно легко получить формулу для боя 2, 3 и т. д. кораблей, но с увеличением их количества сложность выражения и его вывода возрастает в геометрической прогрессии, делая результат бессмысленным.
Поэтому приходится использовать некоторые приближения, считая количество кораблей непрерывной величиной, выстрелы одновременными и непрерывными. Например, если выстрел уничтожает корабль с вероятностью 50%, то считается, что 0.1 выстрела уничтожает 0.05 корабля. Эти приближения работают лишь для достаточно большого количества кораблей и пушек на них, но при этом в достаточно долгой битве. Для встречи двух террористов или флотов, сносящих друг друга за раунд, этот подход не применим.
Впервые простейший ограниченный вариант задачи публично сформулирован HETBAPbю в Galaxy Times #46. Рассматривался бой двух однородных групп кораблей в непрерывном приближении, выписаны уравнения для статистически усредненной битвы. Там же дано и решение.
Разумеется, данный частный случай не представляет никакого практического интереса, потому что никто не воюет флотами, состоящими из совершенно одинаковых кораблей. Специализация кораблей, выделение классов прикрышки и перфораторов, дает огромное преимущество, которое было известно еще древним.
В Galaxy Times #47 FirstAnonimous рассматривает более сложную и реальную ситуацию — битву флотов, состоящих из боевых кораблей и прикрышки (и то, и другое — одного типа). И, наконец, в Galaxy Times #58 им было произведено обобщение предыдущего решения. Рассмотрена задача весьма близкая к практике — битва больших флотов, состоящих из произвольных типов прикрышки и боевых кораблей, с единственным ограничением — защита всех боевых кораблей должна быть одинакова. Это не такое уж и большое ограничение, на самом деле: если большинство участвующих в битве кораблей имеют приблизительно одинаковую массу, то и их защита будет, скорее всего, близкой. Но, конечно, выпадают из рассмотрения случаи использования псевдонепробивашек, легких истребителей, да и оценить вариант использования боевых единиц с принципиально разной защитой становится невозможным.
Приведу результат FirstAnonimousа (в немного измененной форме). Для флота записывается величина, которую можно считать «силой флота» в этой битве:
sum[i](Nw·Ni/(Lw+Li)),
где sum[i]() — суммирование по всем группам с индексом i; Ni — количество кораблей в i-той группе; Li — величина, характеризующая скорость уничтожения i-той группы в этой битве, расшифровывается ниже. Индексом w обозначены, соответственно, количество и скорость уничтожения боевых кораблей.
Аналогично и для второго флота.
Разность этих величин, сохраняется постоянной на протяжении всей битвы, а значит, поскольку к концу битвы одна из них превратится в ноль, знак разности, рассчитанной на начало битвы, и определяет победителя. Разумеется, не все так просто. Случайность битвы делает результат не настолько прогнозируемым, а флуктуации становятся значительными (о чем говорит HETBAPb в Galaxy Times #51), не говоря уже о приблизительности самой используемой модели. Поэтому для уверенной победы разница должна существенно отличаться от нуля.
Эта замечательная формула, несмотря на определенные недостатки, позволяет теоретически оценить оптимальное соотношение между прикрышкой и боевыми кораблями, между турелями и перфораторами, между пушками и щитами.
Решение
Запишем уравнения битвы в приближении однородных групп.
dNi/dt=-Ni·sum[k](K'ki·N'k)/N
dN'i/dt=-N'i·sum[k](Kki·Nk)/N',
где Kki=Ak·pki — коэффициенты «матрицы убийства», среднее количество кораблей группы i, уничтожаемое за выстрел кораблем из группы k; Ak — количество стволов группы k; pki — вероятность поражения пушкой группы k корабля из вражеской группы i. Величины со штрихом относятся к противоположной стороне.
Умножая первое уравнение на Nj и прибавляя то же выражение с переставленными индексами i и j, получаем:
d(Ni·Nj)/dt=-Ni·Nj·sum[k]((K'ki+K'kj)·N'k)/N
Теперь учтем, что боевые корабли второй стороны имеют одинаковую эффективную защиту. Значит, уничтожаются они с одинаковой скоростью, и пропорциональный состав боевых кораблей остается тем же. И величины Li=sum[k](K'k·N'k)/N'w являются постоянными.
d(Ni·Nj)/dt=-Ni·Nj·(Li+Lj)·N'w/N
Разделив выражение на (Li+Lj), умножив на Kik и просуммировав по i и j получим:
d(sum[i,j](Ni·Nj·Kik·/(Li+Lj)))/dt=dN'k/dt·N'·N'w/N'k
Для боевых кораблей можем переписать уравнение, немного упростив. Для них Kik=Kiw — одинаков для всех кораблей, dN'k/N'k=dN'w/N'w.
d(sum[i,j](Ni·Nj·Kiw·/(Li+Lj)))/dt=N'·dN'w/dt
И вот здесь нам придется ограничиться еще более частными случаями. Лишь для них мы сможем проинтегрировать данные уравнения.
1. Случай, когда во втором флоте вообще нету прикрышки. Только боевые корабли (с одинаковой эффективной защитой). Тогда N'w=N' и после интегрирования уравнения для боевых кораблей получаем
sum[i,j](Ni·Nj·Kiw/(Li+Lj))-N'2/2=const
2. Во втором флоте очень много прикрышки (но одного типа). Намного больше, чем боевых кораблей, причем на протяжении всей битвы (это означает, что либо первый флот в проиграше и умирает, не успев уничтожить всю прикрышку, или боевые корабли второго флота настолько слабо защищены (или настолько сильна прикрышка), что умирают не намного медленнее прикрышки). Тоже в общем-то не типичная ситуация.
Делаем приближение N'=N'd+N'w≈N'd, где N'd — количество прикрышки.
d(sum[i,j](Ni·Nj·Kiw/(Li+Lj)))/dt≈N'd·dN'w/dt
d(sum[i,j](Ni·Nj·Kid/(Li+Lj)))/dt≈N'w·dN'd/dt
Сложив и проинтегрировав, в итоге приходим к
sum[i,j](Ni·Nj·(Kiw+Kid)/(Li+Lj))-N'd·N'w≈const
Выводы
Полученные решения почти не имеют никакого практического смысла. Ведь описывают весьма специфические битвы, редко встречающиеся на практике. Значение их в том, что, используя подобный подход, удалось немного выйти за рамки, ограничивающие применимость формулы FirstAnonimousа, пусть и ценой других, более жестких ограничений. И все полученные равенства имеют один и тот же вид — в величине, характеризующей силу флота, чья максимизация ведет к увеличению шанса победы, стоит произведение количества кораблей в группах, т. е. зависимость силы от количества кораблей квадратическая. В знаменателе стоят величины, характеризующие скорость уничтожения флота (причем всегда как сумма величин для разных групп), а в числителе (или знаменателе другого флота) — величины, характеризующие скорость уничтожения чужого флота. Схожесть всех этих формул: и FirstAnonimousа, и относящихся к граничным случаям, — дает надежду на получение общего решения, включающей в себя все ранее полученные. Пусть даже его вывод будет не так строг, пусть это будет эмпирическая формула, совпадающая со специальными в области их применимости.
Но это дело будущего.