Saturday, October 17, 2015
Blathering, mathering

Pointless article, interesting comments in Reason.com.

Science Denier Ron Bailey was blathering on about something or other, related to the latest Nobel Genocide Econ prize. Reason readers being nerds, they grabbed onto this point:

The anomalous sex ratio in many poor countries must be the result of other dynamics, such as ... the use of contraception once the desired number of sons is born.

and worked on it math'ly.

My attempt isn't nearly as mathy as most, but it reaches a firm set of conclusions.

This py prog creates 10,000 'families', all on the assumption that the parents will keep going until they get a boy. If no boys, I stop each 'family' at 21 kids, which is extreme but not impossible. A more ordinary max for American Catholics is probably around 13. I've known a couple families with 13 kids.

Results are nicely consistent.

Total number of boys among all families is EXACTLY THE SAME as total number of girls. Each run of 10k 'families' is unequal by no more than 200 either way, and the off's clearly balance out over repeated runs.

Another SOLID convergence: 2/3 of families are odd, 1/3 are even. The random variations are TIGHT on this proportion.

Max family size is 16 among all the runs I've done. I don't think there's any firm stop on this, but I haven't seen it go above 16 yet. 13 seems to be the highest halfway common number, which sort of agrees with my Roman observation.

The math may be wrong, but the REAL problem here is that the rule itself is unrealistic.

By the given rule half of all the families will be one boy and no girls. The others will have a varying number of girls and always exactly one boy. So the total of boys is exactly the same as the total of families. The girls add up to approximately the same number for a reason that I can sort of dimly see, but won't even try to parse. Probability makes my brain itch.

All of this is irrelevant anyway. Natural Law families aren't going to stop at one and aren't going to run up to 20, no matter which gender the last kid is. Natural Law families like to have lots of kids because kids are useful around the farm or business. A boy can carry heavier loads, so he's somewhat more useful. Parents start with a goal in mind, usually 4 or 5, and extend the goal by one or two if they don't get a boy. This rule can't be mechanized or calculated.

FWIW, here's the code.

```
import random

# Assume parents want boy and will continue having kids until boy
# happens.  Run up to total of 20 kids, pretty much the practical limit...
# 1 is boy, 2 is girl

maxlen=0
runs=10000
totkids = 20
odds=0
evens=0
boys=0
girls=0

for run in range(runs):
allchoices=[]
for index in range(0,totkids+1):
choice=random.randint(1,2)

if choice==1: # got boy. stop.
allchoices.append(choice)
boys=boys+1
break

else: # got girl. continue
allchoices.append(choice)
girls=girls+1

chlen=len(allchoices)
if chlen>maxlen: maxlen=chlen
if chlen % 2 == 0: evens=evens+1
else:              odds=odds+1
print "max len %d odds %d evens %d boys %d girls %d" % (maxlen,odds,evens,boys,girls)

# end

```

I've also placed it in this little zip.

Note: This doesn't apply to the Chinese one-child-policy situation where parents were KILLING or aborting all girls to end up with one boy. In that case you don't need algorithms to see that the result will be heavy on boys.