From: Nathan Wagner Date: Wed, 21 Jan 2015 18:29:42 +0000 (-0600) Subject: preliminary notes X-Git-Url: https://granicus.if.org/projects?a=commitdiff_plain;h=f7a9cb38d2b351d3821d4d2dcdedb717a9efdd62;p=afpopgen preliminary notes --- f7a9cb38d2b351d3821d4d2dcdedb717a9efdd62 diff --git a/notes.tex b/notes.tex new file mode 100644 index 0000000..084fc27 --- /dev/null +++ b/notes.tex @@ -0,0 +1,165 @@ +\documentclass[article,12pt]{memoir} + +\begin{document} + +\begin{centering} +Modeling Early Human African Migration + +Nathan Wagner + +\today +\end{centering} + +\chapter{Model Basics} + +\section{Space} + +100 Km hexes, which have an area of (slightly over) $8660 km^2$. + +A map of Africa is divided into these hexes, each of which is +given a climate, which determines the carrying capacity. +As the coastline does not follow the hexside lines, each coastal +hex would not fill a full hex. No provision is made for this, +each hex is taken to fill the entire hex area. Given +the number of hexes in the model, I don't think that this will +have any significant effect. The map has 3559 hexes. + +\section{Climatic Changes} + +I will build a 42000 year sine wave for sahara rainfall, and when +the value gets high enough for a given row of hexes (i.e. latitude) +I will change the climate to steppe. + +This isn't a very good model, the sahel region should migrate north +and the better regions should follow along, so the climate model +will need some tweaking. However, I don't intend to build a general +climate model (as fun as that might be), so it's going to have +to be somewhat simplified. I envision at some point hand picking +hexes to be "climate centers" whose setting and influence would +be modeled with sine waves, the sum interaction of which would +determine the climate for any given hex, along with the altitude. + +There has been some topographic changes over the last 130000 years, +but I'm not sure those need to be modeled, with the possible exception +of the growth and shrinkage of Lake Chad. I would like to avoid +worrying about thinks like topographic uplift or glacial rebound (probably +not a factor in Africa anyway) + +The climate changes probably happen relatively slowly, but it might +be worth making the carrying capacity a bit smaller the time +step after a hex changes climate to reflect the need to adjust +the behavorial strategies needed for the new climate + +I conflate climate and terrain. + +\section{Time} + +Time steps in generations. + +Generation length set by parameter, will assume 25 years for initial runs. + +\section{Populations} + +Within each hex, there is a set of populations. These are homogenous +in terms of their capabilities, that is, no population has a selective +advantage over another. + +\subsection{Growth Rate} + +I assume that the annual rate of growth without specific resource constraints +for a hunter-gatherer population would be one child per four years per fertile +female. Assuming half the population is female, and that one third of the +women are in their childbearing years, that would lead to 1/2 * 1/3 * 1/4 of +the population giving birth each year (which is 1/24, which I will round to +4\%). I assume further that 3/4 of the children will turn out to be viable. +So, in each year, the population increases by 3\%. For a 25 year time step, +that is then an increase of $ 1.03^{25} - 1 $ which is 109\% per time step. I would +just round this off to 100\%, but I think it makes sense for the annual rate to +be settable so that if I get better numbers than those I just made up they will +be easy to plug in. + +Some late reading: + +An Optimal Foraging-Based Model of Hunter-Gatherer Population Dynamics\\ +GARY E. BELOVSKY\\ +Department of Biology and School of Natural Resources, University of Michigan, Ann Arbor, Michigan, 48109-1115\\ +Received May 23, 1988 + +Seems to imply 1.3\%/year as the best case. There are also some notes about +migration and such. I will probably get some numbers out of there. 1.3\%/year +at best would imply a 38\% growth per time step. + +This base rate ($r$) will then be fed in to a logistic growth model, and +so the population at time step $t+1$ will be $r * P * (1 - P/K) $ + +I assume that the good and bad years average out over the time step +and don't account for them, other than by assumptions about the +carrying capacity of any given hex. + +\subsection{Migration} + +Each time step a fraction of the population(s) in each hex will migrate +to an adjacent hex. A tunable fraction of the emigrating population +will actually then be added to the population in the adjacent hexes. + +The specific fraction that migrates I still need to figure out. I think it +should depend on the relative population (i.e. how close to the carrying +capacity the population is), how nice the neighboring hex is, how full the +target hex is, and some settable "propensity to migrate". The propensity to +migrate might be either a cultural or genetic factor specific to a population, +or perhaps a global parameter. I haven't given this much thought yet. + +It is possible that migration will put a hex over its carrying capacity. +I don't think that any specific population truncation is needed, the +logistic growth function should pull the population back down, but +I need to make sure that it doesn't approach the limit from either +side but won't ever cross it coming down. If the latter is the +case, then some "die off" provision will need to be put into the +code. + +\subsection{Carrying Capacity} + +The paper above gives some interesting graphs, which imply that +the relationship between primary productivity and sustainable +HG population density is not linear, particularly +at the low end. He claims (I think, only skimmed) a primary +productivity of $200 g/m^2$ average, which supports about 10 people +per 100 $km^2$, though at $800 g/m^2$ it's closer to 100, with wide +swings. + +Given his data, we would have the following capacities for hexes +(eyeballed from graphs and rounded) + +\begin{tabular}{rr} +Prod & Cap\\\toprule +100 & 220\\ +200 & 860\\ +400 & 3500\\ +800 & 7800\\ +\bottomrule +\end{tabular} + +It might be easier to just model primary productivity rather than climate +as such. + +I note with 3559 hexes in the map, at 860 people per hex, on average, that +gives an effective maximum population in africa of about three million. + +\chapter{Model Implementation} + +\section{Model Iterations} + +\begin{verbatim} +Each Time Step: + +for each hex: + calculate climate + increase (or decrease) population by a given amount + remove migrating populations and add them to a migration + bucket for the adjacent hexes. + +add the migration buckets to each hex (done after the for each +hex calculations to avoid artifacts of hex traversal order) +\end{verbatim} + +\end{document}