Sunday, February 4, 2007

Naive quadratic growth

I don't believe that quadratic growth can continue indefinitely in the face of a constrained resource, yet I find it somewhat instructive to see what happens when we force and maintain the acceleration within the context of a contrived example. As a premise, say we have a pool of resources from which we can draw a random sample. The number of draws we get per year follows from an accelerated growth law proportional to t2, where t=Time.

D(t) = a t2 / 2 = # of chances per year
N(t) = D(t) * RemainderPool / TotalPool = # of discoveries per year

RemainderPool(t) = TotalPool - Integral (N)

dR(t)/dt = - a * t2*R /T/2

R(t) = T * exp(-a*t3/6)

N(t) = T/2 * a * t2 * exp(-a*t3/6)

Cumulative(t) = Integral(N(t)) = T *(1 - exp(-a*t3/6))

(the bottom of this post shows a Monte Carlo program which verifies the math statistically)

N(t) shows the characteristic Hubbert peak of any finite resource. In this case the peak occurs at t = cube root of 4/a. The return-on-investment (ROI) of search for resources comes out of this very simply; we divide the number of discoveries by the acceleration curve of the search:

ROI(t) ~ exp(-a*t3/6)

Initially, the ROI stays near 1 but then drops down to 0.005 at a date twice past peak. The naive part of the model comes about from the assumption that random draws from the same population will continue indefinitely and within the context of an accelerating population of investors. (kind of like a tri-state lottery?)

This exercise shows that we can't sustain naive quadratic growth -- eventually the acceleration term has to subside as the investors and prospectors start to see diminishing returns as they meet a lower ROI. This realization forms the basis of the more realistic discovery model written up in a recent post, where I suppress the acceleration term as discoveries start to accumulate. This causes a sharper dropoff after peak than the naive model, as it models the potential investors becoming dissuaded from joining the discovery rush as the law of diminishing returns rears its ugly head. In other words, the naive model assumes a very optimistic and persistent investor, someone in fact willing to continue to beat their head against the wall.



Monte Carlo program to generate sampled Discovery and Cumulative curves

with Ada.Numerics.Discrete_Random;
with Text_IO;

procedure Ran_Fill is
subtype Pool is Natural range Natural'First .. 1_000_000;
package G_Natural is new Ada.Numerics.Discrete_Random (Pool);
G : G_Natural.Generator;
Ultimate : constant Pool := 100_000;
Checked : array (Pool) of Boolean := (others => False);
Acceleration : constant Integer := 1;
Draw : Pool;
Discoveries : Integer;
Prospectors : Integer;
Cumulative : Integer := 0;
begin
G_Natural.Reset (G, 1); -- use the same seed each time
for Year in 1..1000 loop
Prospectors := Acceleration * Year * Year;
Discoveries := 0;
for Count in 1 .. Prospectors loop
Draw := G_Natural.Random (G);
if Checked (Draw) then
null; -- Already checked
else
Checked (Draw) := True;
if Draw <= Ultimate then -- Eureka!
Discoveries := Discoveries + 1;
Cumulative := Cumulative + 1;
end if;
end if;
end loop;
Text_IO.Put_Line (Year'Img &
Discoveries'Img &
Cumulative'Img);
end loop;
end;