Ordinary differential equations have a long and noble history, starting at least with Newton's teacher Barlow. This is a beautiful field with many important applications. Here I will discuss just two of them.

Consider a country with a
GDP
of `f`

which should satisfy the equation

f'(t) = kf(t) - d(t)

where `t`

is time (measured in years),
and `f'`

is the derivative with respect to it,
`k`

is the (constant, for simplicity) coefficient
determining the pace of the normal economic growth (e.g.,
`ln(1.03)`

, or, approximately, 0.03, for 3% annual growth),
and `d`

is the non-productive expenditures (e.g., defense).

It is not hard to solve this first order linear non-homogeneous equation:
first solve the homogeneous part to get `f=c*exp(kt)`

and
then make the constant `c`

vary to get

f(t)=(f(0)-int(0,t,d(t)exp(-kt)))*exp(kt)

where `int(x,y,g(t))`

is the integral of `g(t)`

from `t=x`

to `t=y`

.

Now, suppose there are two hostile but non-belligerent nations with
economy sizes `A`

and `B`

respectively (we will
call these nations just *A* & *B* too).
Suppose *A* always spends a fixed fraction of its GDP on defense:
`d(t)=a*A(t)`

.
It is easy to see that in that case `A(t)=A(0)exp((k-a)t)`

,
where `A(0)`

is the *positive* initial condition.
Note the implication: spending more than growth on defense
(`a>k`

) will lead to the economic collapse (*in this
model*).

To maintain military parity, *B* has to match *A*'s
defense expenditures, i.e. `B(t)'=lB(t)-aA(0)exp((k-a)t)`

(we do not assume that A and B grow at the same rate, i.e., `k=l`

).
This leads to the following solution:

B(t) = exp(lt)*(B(0) - int(0,t,aA(0)exp((k-a)t)*exp(-lt))) = exp(lt)*(B(0) - int(0,t,aA(0)exp((k-a-l)t))) = exp(lt)*(B(0) - aA(0)(exp((k-a-l)t) - 1) / (k-a-l))

or, when `k-a=l`

,

B(t) = exp(lt)*(B(0) - aA(0)t)

where `B(0)`

is the *positive* initial condition.

The critical issue is whether *B* will be able to maintain
this arms race and for how long. The test is simple: `B(T)=0`

means that at time `t=T`

B's economy has collapsed under the
burden of the defense spending:

0 = B(0) - aA(0)(exp((k-a-l)T) - 1) / (k-a-l) T = ln(1 + (k-a-l)B(0)/(aA(0))) / (k-a-l)

or, when `k-a=l`

, `T=B(0)/aA(0)`

.

The collapse condition is `T>0`

, i.e.,

- when
`k-a>l`

- the collapse is inevitable since the expression
under
`ln`

is bigger than 1 - when
`k-a=l`

- the collapse is inevitable (since
`A(0)>0`

and`B(0)>0`

) - when
`k-a<l`

- the fate of B depends on the initial conditions
`A(0)`

and`B(0)`

: if`B(0)/A(0) < a/(l-k+a)`

, then B collapses at time`T`

above, otherwise it does not

Note that the critical value for `l`

(the B's rate of
growth) is `k-a`

, and not `k`

.

- This is why USSR lost the cold war.
- This is why the initial period (before the first contact is made and defense becomes important) is so important in strategic games (like Master of Orion or Civilization).

Consider two military units fighting in the field.
A military unit is characterized by its *size* (which can change
in time due to losses and arrival of reinforcements) and the
*firepower* (i.e., the ability to inflict losses on the enemy unit).
The evolution in time of the unit sizes can be described by the
system of ODEs:

A'(t) = - b*B(t) B'(t) = - a*A(t)

Where `A`

and `B`

are the sizes of the units
and `a`

and `b`

are their firepowers.

This is a system of two linear homogeneous first order equations and they can easily be solved explicitly using standard methods. However, we do not care about the time dynamics, we only care about the outcome: who wins and what losses will the winner sustain, so we can take a shortcut.

Multiply the first equation by `aA`

, the second equation
by `bB`

, and subtract them to get

aAA' - bBB' = 0

and, integrating:

a*A^{2}- b*B^{2}= const

i.e., points `(A(t),B(t))`

travel along hyperbolas.

Thus the outcome can be determined as follows:

- If
`R := a*A(0)`

^{2}- b*B(0)^{2}= 0 - the outcome is a
*draw*: both units will be destroyed. - If
`R > 0`

- then
*A*will win, and its final size will be`A(T)=sqrt(R/a)`

which corresponds to`B(T)=0`

, i.e.,*B*being destroyed. - If
`R < 0`

- then
*B*will win, and its final size will be`B(T)=sqrt(-R/b)`

which corresponds to`A(T)=0`

, i.e.,*A*being destroyed.

The derivative

dA(T) A(0) ----- = ---------------------- > 1 dA(0) sqrt(A(0)^{2}- B(0)^{2}b/a)

This means that adding a small amount to the initial size `A(0)`

increases the final size `A(T)`

by *more* than the
increment in the initial size.

This effect is most pronounced when `R`

is close to 0
(i.e., when the outcome is uncertain) and decreases as the
superiority of the winning side increases.

Increasing numeric superiority reduces casualties, especially when the opponens are almost evenly matched.

Attacking the enemy
unit-by-unit
by an overwhelming concentration can help win against even
a *superior* force.

This is fully applicable to "*stacks of ships*" in Master of Orion,
even though the correct model there must be stochastic.

Sam Steingold<sds@gnu.org> | created: 2010-07-02 |