I was thinking some more about computing how many ancestors I, or anyone else, might have had in 1559 - see the "Fight between Carnival and Lent" post here.
The obvious, simplistic approach is to double the number each generation back, say every 25 years. Two parents, four grandparents, etc. Then assuming a three generation overlap, add the last three answers together to get a total ancestor population.
1951: me + 2 parents + 4 grandparents = 7
1925: 2 parents + 4 grandparents + 8 great-grandparents = 14
1900: 4 + 8 + 16 = 28
1800: 64 + 128 + 256 = 448
1700: 1024 + 2048 +4096 = 7,168
1600: 16,384 + 32,768 + 65,536 = 114,688
1550: 65,536 + 131,072 + 262,144 = 458,752.
Call it half a million. A simple Google search indicates that the population of England during the 16th century was around 3 million. Surely my ancestors (or anyone else's) wouldn't have been one sixth of the entire population?
It appears that rural populations were pretty static until comparatively recently. This probably means that villages were pretty inbred. If we assume that a village was constituted of 100-150 people (the hypothesised upper limit of organic human communities) then for a number of generations, this was probably the limit to the number of ancestors as we push the family tree backwards.
The arrival of a stranger in the village would introduce new genes into the local gene pool, but it would take a number of generations for that person's genes to propagate throughout the village.
Working out a revised (and lower) number of ancestors, I think it's difficult to estimate plausible parameters and solve this analytically. I therefore decided to write a simulation. To do this would involve my favourite programming language, LISP.
To my surprise, it has proved quite hard to find a free download which would work on Windows XP and Vista. Eventually I found "LispWorks Personal Edition" with a download site here.
Nest step is to install the system (not tonight!).