2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Нелинейная модель линейной тактики
Сообщение06.08.2008, 20:26 
Аватара пользователя
Каждый, кто играл в такие игры, как "Казаки", "Геттисберг", или смотрел исторические фильмы наподобие "Патриота", представляет, как в основном выглядели пехотные сражения с конца XVII до середины XIX века. Подразделения противоборствующих сторон выстраивались в тонкие линии друг напротив друга и давали по противнику залп за залпом.
Управляя компьютерными армиями задумываешься, что скорее развивать: скорострельность или точность, какое численное превосходство нужно создать для прорыва. Попробуем ответить на эти вопросы, построив математическую модель перестрелки двух линий пехоты.
Итак, пусть вначале имеется a солдат Красных и b солдат Синих. Известно, что в среднем на 1 выстрел красных приходится p убитых солдат синих и на 1 выстрел синих приходится q убитых солдат красных. Примем, что залпы производятся с одинаковой частотой и одновременно, т.е. все солдаты, прежде чем быть убитыми, успевают выстрелить. В таком случае после первого залпа останется a-qb красных и b-pa синих, после второго: (1+pq)a-2qb красных и (1+pq)b-2pa синих, и т.д. (см таблицу).

\begin{tabular}{|c|c|c|}
\hline №& красных & синих \\  
\hline 0& a & b \\ 
\hline 1& a-qb & b-pa \\ 
\hline 2& (1+pq)a-2qb & (1+pq)b-2pa \\ 
\hline 3& $(1+3pq)a-(3q+pq^2)b$ & $(1+3pq)b-(3p+p^2q)a$ \\ 
\hline 4& $ (1+6pq+p^2q^2)a-(4q+4pq^2)b $ & $(1+6pq+p2q2)b-(4p+4p2q)a$ \\ 
\hline 
\end{tabular}

Выведем общую формулу из следующих рекуррентных соотношений:

$ 
\left\{ \begin{array}{l} 
a_{n+1}=a_n-qb_n,\\ 
b_{n+1}=b_n+pa_n,\\
a_0=a,\\
b_0=b; 
\end{array} \right. 
$


Тогда $a_{n+1}=a_n-qb_n=a_n+pqa_{n-1}-qb_{n-1}=a_n+pqa_{n-1}+pqa_{n-2}-qb_{n-2}...=a_n+pg\sum\limits_{i=0}^{n-1}{a_i}-qb$.
Аналогично,
$b_{n+1}=...=b_n+pg\sum\limits_{i=0}^{n-1}{b_i}-pa$.

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

$a_{n+2}=a_{n+1}+pqf_n+pg\sum\limits_{i=0}^{n-1}{a_i}-qb=a_{n+1}+(pq-1)a_n+a_n+pg\sum\limits_{i=0}^{n-1}{a_i}-qb=2a_{n+1}+(pq-1)a_n$

Теперь для разностного уравнения $a_{n+2}=2a_{n+1}+(pq-1)a_n$ строим характеристическое уравнение: $x^2=2x+(pq-1)$ и решаем его. Его корни $x_{1,2}=1\pm\sqrt{pq}$, значит, выражение имеет вид $a_n=k_1(1+\sqrt{pq})^n+k_2(1-\sqrt{pq})^n$. Подставив начальные условия для n=0 и n=1 имеем: $a_n=\frac{1}{2}\left(\left( a-b\sqrt{\frac{q}{p}}\right )\left( 1+\sqrt{pq} \right )^n+\left( a+b\sqrt{\frac{q}{p}} \right )\left( 1-\sqrt{pq}\right )^n \right)$
Аналогично:
$b_n=\frac{1}{2}\left(\left( b-a\sqrt{\frac{p}{q}}\right )\left( 1+\sqrt{pq} \right )^n+\left( b+a\sqrt{\frac{p}{q}} \right )\left( 1-\sqrt{pq}\right )^n \right)$
Таким образом получаются формулы, показывающие, как убывает количество солдат в сражении по принципам линейной тактики, если принять, что залпы даются сторонами одновременно. Единственный член формулы, ведущий к уменьшению величин a или b до отрицательных значений – это коэффициент $a-b\sqrt{\frac{q}{p}}$, соответственно, при $a\sqrt{p}>b\sqrt{q}$ победят красные, а при $a\sqrt{p}<b\sqrt{q}$ - синие (разумеется, учитывая вероятностный характер попаданий). Именно этот результат, кстати, можно получить и намного быстрее, выяснив, при каком условии отношение количества солдат не изменится после первого залпа: $\frac{a}{b}=\frac{a-qb}{b-pa}\Rightarrow\frac{a^2}{b^2}=\frac{q}{p}$

Для желающих поэкспериментировать прилагается также калькулятор в таблице Excel. Здесь вы задаёте начальные количества солдат, их точность и относительную скорострельность. Программа вычисляет, как будет изменяться количество солдат в ходе боя и кто в конечном итоге выйдет победителем.

 
 
 [ 1 сообщение ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group